#
Inter-Repository Dependencies
#
cbioportal-core Repository
cbioportal-core is dependent on cbioportal. This can be seen in its pom.xml. By removing the dependency and attempting to build cbioportal-core, errors are reported. This document captures a summary of the reported errors. This analysis was done at the time of release v6.0.0.
cbioportal-core now primarily provides import functionality, which is mainly located in the packages:
#
Dependencies in cbioportal-core import functionality
Code in cbioportal which is referenced directly by code in cbioportal-core consists of three enum class definitions.
- cbioportal class ResourceType is imported by cbioportal-core class ResourceDefinition. This provides enum constants {STUDY, SAMPLE, PATIENT}.
- cbioportal class EntityType is imported by cbioportal-core class ImportTabDelimData. This provides enum constants {GENE, GENESET, PHOSPHOPROTEIN, GENERIC_ASSAY}.
- cbioportal class CNA is imported by cbioportal-core class CnaEvent. This provides enum constants {AMP, GAIN, DIPLOID, HETLOSS, HOMDEL}.
The cbioportal-core import functionality code also relies on several packaged libraries in cbioportal.
cbioportal packaged library org.apache.commons.commons-collections4 (version 4.4) is used by these cbioportal-core classes:
cbioportal packaged library org.slf4j.slf4j-api (latest version) is used by these cbioportal-core classes:
cbioportal packaged library org.springframework.security.spring-security.core (latest compatible version) and other related such as org.springframework.security.spring-security.web are used in these cbioportal-core classes:
- AccessControl
- DaoCancerStudy (transitive dependency through AccessControl)
#
Other dependencies in cbioportal-core
There are other (non-import) cbioportal-core uses of libraries packaged in cbioportal.
cbioportal packaged libraries jakarta.servlet jakarta.servlet.http (ServletConfig, HttpServlet, ServletException, HttpServletRequest, HttpServletResponse} are used by these cbioportal-core classes:
cbioportal packaged library org.json.simple / com.googlecode.json-simple.json-simple (version 1.1.1) is used by these cbioportal-core classes:
cbioportal packaged library org.apache.commonsorg.apache.commons.commons-math3 (version 3.6.1) is used by this cbioportal-core class:
cbioportal packaged library org.slf4j.slf4j-api (latest version) is used by this cbioportal-core class:
- AccessControlImpl (transitive dependency through many servlets)
cbioportal packaged library org.springframework.security.spring-security.core (latest compatible version) and other related such as org.springframework.security.spring-security.web are used in these cbioportal-core classes:
- AccessControl (transitive dependency through many servlets)
#
Consequences
When any of these dependencies are updated in cbioportal (or in the case of libraries, updated in a non-backwards-compatible way), the cbioportal-core repository should be built and tested using the updated dependencies and proper behavior of the import functionality should be tested. cbioportal-core should also be brought up to date by packaging the current version of cbioportal into cbioportal-core (in pom.xml).