Skip to content

Commit 91fe02b

Browse files
committed
add document for inter-repository dependencies
1 parent e1f5cf1 commit 91fe02b

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

docs/Inter-Repository-Dependencies.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Inter-Repository Dependencies
2+
3+
## cbioportal-core Repository
4+
5+
[cbioportal-core](https://github.com/cBioPortal/cbioportal-core) is dependent on
6+
[cbioportal](https://github.com/cBioPortal/cbioportal).
7+
This can be seen in its [pom.xml](https://github.com/cBioPortal/cbioportal-core/blob/main/pom.xml).
8+
By removing the dependency and attempting to build cbioportal-core, errors are reported. This
9+
document captures a summary of the reported errors. This analysis was done at the time of release
10+
v6.0.0.
11+
12+
cbioportal-core now primarily provides import functionality, which is mainly located
13+
in the packages:
14+
15+
- [org.mskcc.cbio.portal.dao](https://github.com/cBioPortal/cbioportal-core/tree/main/src/main/java/org/mskcc/cbio/portal/dao)
16+
- [org.mskcc.cbio.portal.model](https://github.com/cBioPortal/cbioportal-core/tree/main/src/main/java/org/mskcc/cbio/portal/model)
17+
- [org.mskcc.cbio.portal.scripts](https://github.com/cBioPortal/cbioportal-core/tree/main/src/main/java/org/mskcc/cbio/portal/scripts)
18+
19+
### dependencies in cbioportal-core import functionality
20+
21+
Code in cbioportal which is referenced directly by code in cbioportal-core consists of three
22+
enum class definitions.
23+
24+
- cbioportal class [ResourceType](https://github.com/cBioPortal/cbioportal/blob/master/src/main/java/org/cbioportal/model/ResourceType.java) is imported by cbioportal-core class [ResourceDefinition](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/model/ResourceDefinition.java). This provides enum constants {STUDY, SAMPLE, PATIENT}.
25+
- cbioportal class [EntityType](https://github.com/cBioPortal/cbioportal/blob/master/src/main/java/org/cbioportal/model/EntityType.java) is imported by cbioportal-core class [ImportTabDelimData](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/scripts/ImportTabDelimData.java). This provides enum constants {GENE, GENESET, PHOSPHOPROTEIN, GENERIC_ASSAY}.
26+
- cbioportal class [CNA](https://github.com/cBioPortal/cbioportal/blob/master/src/main/java/org/cbioportal/model/CNA.java) is imported by cbioportal-core class [CnaEvent](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/model/CnaEvent.java). This provides enum constants {AMP, GAIN, DIPLOID, HETLOSS, HOMDEL}.
27+
28+
The cbioportal-core import functionality code also relies on several packaged libraries in cbioportal.
29+
30+
cbioportal packaged library org.apache.commons.commons-collections4 (version 4.4) is used by these cbioportal-core classes:
31+
32+
- [DaoPatient](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/dao/DaoPatient.java)
33+
- [ImportClinicalData](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/scripts/ImportClinicalData.java)
34+
35+
cbioportal packaged library org.slf4j.slf4j-api (latest version) is used by these cbioportal-core classes:
36+
37+
- [JdbcUtil](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/dao/JdbcUtil.java)
38+
- [ProgressMonitor](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/util/ProgressMonitor.java)
39+
- [Patient](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/model/Patient.java)
40+
- [AccessControlImpl](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/util/internal/AccessControlImpl.java)
41+
42+
cbioportal packaged library org.springframework.security.spring-security.core (latest compatible version)
43+
and other related such as org.springframework.security.spring-security.web are used in these cbioportal-core classes:
44+
45+
- [AccessControl](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/util/AccessControl.java)
46+
- [DaoCancerStudy](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/dao/DaoCancerStudy.java) (transitive dependency through AccessControl)
47+
48+
### other dependencies in cbioportal-core
49+
50+
There are other (non-import) cbioportal-core uses of libraries packaged in cbioportal.
51+
52+
cbioportal packaged libraries jakarta.servlet jakarta.servlet.http (ServletConfig, HttpServlet, ServletException, HttpServletRequest, HttpServletResponse} are used by these cbioportal-core classes:
53+
54+
- [GetSurvivalDataJSON](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/servlet/GetSurvivalDataJSON.java)
55+
- [XDebug](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/util/XDebug.java)
56+
- [CalcCoExp](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/servlet/CalcCoExp.java)
57+
- [BioGeneServlet](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/servlet/BioGeneServlet.java)
58+
- [IGVLinkingJSON](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/servlet/IGVLinkingJSON.java)
59+
60+
cbioportal packaged library org.json.simple / com.googlecode.json-simple.json-simple (version 1.1.1) is used by these cbioportal-core classes:
61+
62+
- [CalcCoExp](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/servlet/CalcCoExp.java)
63+
- [GetSurvivalDataJSON](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/servlet/GetSurvivalDataJSON.java)
64+
- [IGVLinkingJSON](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/servlet/IGVLinkingJSON.java)
65+
- [GetClinicalData](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/web_api/GetClinicalData.java)
66+
67+
cbioportal packaged library org.apache.commonsorg.apache.commons.commons-math3 (version 3.6.1) is used by this cbioportal-core class:
68+
69+
- [CalcCoExp](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/servlet/CalcCoExp.java)
70+
71+
cbioportal packaged library org.slf4j.slf4j-api (latest version) is used by this cbioportal-core class:
72+
73+
- [AccessControlImpl](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/util/internal/AccessControlImpl.java) (transitive dependency through many servlets)
74+
75+
cbioportal packaged library org.springframework.security.spring-security.core (latest compatible version)
76+
and other related such as org.springframework.security.spring-security.web are used in these cbioportal-core classes:
77+
78+
- [AccessControl](https://github.com/cBioPortal/cbioportal-core/blob/main/src/main/java/org/mskcc/cbio/portal/util/AccessControl.java) (transitive dependency through many servlets)
79+
80+
### consequences
81+
82+
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.

0 commit comments

Comments
 (0)