The newer Apache JENA (cdk-iordf) version pulls in a lot of dependencies which ultimately means our "cdk-bundle" size is nearly double. A neat trick to work out where bloat is coming from is to create a WAR file.
Currently we are now sitting at 45MB (up from 26MB for CDK 2.7.1). I would hate for this to spiral further and up in the RDKit's 700MB conda install size territory :-).
Here is the break down:
java
[john@sentinel:bundle]% du -sch target/cdk-bundle-2.8/WEB-INF/lib/* | sort -h
4.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-ionpot-2.8.jar
4.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qm-2.8.jar
4.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarionpot-2.8.jar
4.0K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-core-1.1.jar
8.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-control-2.8.jar
8.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-jniinchi-support-2.8.jar
8.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-pdbcml-2.8.jar
8.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarcml-2.8.jar
12K target/cdk-bundle-2.8/WEB-INF/lib/cdk-builder3dtools-2.8.jar
12K target/cdk-bundle-2.8/WEB-INF/lib/cdk-libiomd-2.8.jar
12K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarprotein-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-fragment-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-iordf-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-model-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-renderawt-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-signature-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-tautomer-2.8.jar
20K target/cdk-bundle-2.8/WEB-INF/lib/cdk-cip-2.8.jar
20K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarbond-2.8.jar
20K target/cdk-bundle-2.8/WEB-INF/lib/jcl-over-slf4j-1.7.36.jar
24K target/cdk-bundle-2.8/WEB-INF/lib/cdk-pcore-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-atomtype-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-diff-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-inchi-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-libiocml-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-valencycheck-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/javax.annotation-api-1.3.2.jar
36K target/cdk-bundle-2.8/WEB-INF/lib/cdk-charges-2.8.jar
40K target/cdk-bundle-2.8/WEB-INF/lib/beam-func-1.3.4.jar
40K target/cdk-bundle-2.8/WEB-INF/lib/cdk-dict-2.8.jar
40K target/cdk-bundle-2.8/WEB-INF/lib/cdk-group-2.8.jar
40K target/cdk-bundle-2.8/WEB-INF/lib/jama-1.0.3.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsar-2.8.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/cdk-render-2.8.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/cdk-smarts-2.8.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/signatures-1.1.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/slf4j-api-1.7.36.jar
52K target/cdk-bundle-2.8/WEB-INF/lib/commons-csv-1.9.0.jar
52K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsio-ps-2.4.jar
56K target/cdk-bundle-2.8/WEB-INF/lib/cdk-renderextra-2.8.jar
60K target/cdk-bundle-2.8/WEB-INF/lib/commons-cli-1.5.0.jar
64K target/cdk-bundle-2.8/WEB-INF/lib/cdk-depict-2.8.jar
68K target/cdk-bundle-2.8/WEB-INF/lib/cdk-hash-2.8.jar
68K target/cdk-bundle-2.8/WEB-INF/lib/cdk-interfaces-2.8.jar
68K target/cdk-bundle-2.8/WEB-INF/lib/cdk-structgen-2.8.jar
68K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsbase-2.4.jar
72K target/cdk-bundle-2.8/WEB-INF/lib/freehep-io-2.2.2.jar
76K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsio-pdf-2.4.jar
76K target/cdk-bundle-2.8/WEB-INF/lib/jackson-annotations-2.13.1.jar
76K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-api-1.1.jar
80K target/cdk-bundle-2.8/WEB-INF/lib/cdk-formula-2.8.jar
84K target/cdk-bundle-2.8/WEB-INF/lib/cdk-smiles-2.8.jar
92K target/cdk-bundle-2.8/WEB-INF/lib/jgrapht-0.6.0.jar
92K target/cdk-bundle-2.8/WEB-INF/lib/tagsoup-1.2.1.jar
104K target/cdk-bundle-2.8/WEB-INF/lib/cdk-ioformats-2.8.jar
112K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsaratomic-2.8.jar
112K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsio-tests-2.4.jar
128K target/cdk-bundle-2.8/WEB-INF/lib/cdk-isomorphism-2.8.jar
128K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphics2d-2.4.jar
132K target/cdk-bundle-2.8/WEB-INF/lib/cdk-datadebug-2.8.jar
136K target/cdk-bundle-2.8/WEB-INF/lib/beam-core-1.3.4.jar
136K target/cdk-bundle-2.8/WEB-INF/lib/cdk-silent-2.8.jar
136K target/cdk-bundle-2.8/WEB-INF/lib/jena-iri-4.5.0.jar
140K target/cdk-bundle-2.8/WEB-INF/lib/cdk-forcefield-2.8.jar
144K target/cdk-bundle-2.8/WEB-INF/lib/cdk-ctab-2.8.jar
144K target/cdk-bundle-2.8/WEB-INF/lib/jakarta.json-2.0.1.jar
148K target/cdk-bundle-2.8/WEB-INF/lib/cdk-reaction-2.8.jar
156K target/cdk-bundle-2.8/WEB-INF/lib/cdk-data-2.8.jar
160K target/cdk-bundle-2.8/WEB-INF/lib/cdk-fingerprint-2.8.jar
164K target/cdk-bundle-2.8/WEB-INF/lib/collection-0.7.jar
164K target/cdk-bundle-2.8/WEB-INF/lib/httpclient-cache-4.5.13.jar
168K target/cdk-bundle-2.8/WEB-INF/lib/vecmath-1.5.2.jar
188K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsio-2.4.jar
192K target/cdk-bundle-2.8/WEB-INF/lib/cdk-renderbasic-2.8.jar
212K target/cdk-bundle-2.8/WEB-INF/lib/cdk-extra-2.8.jar
216K target/cdk-bundle-2.8/WEB-INF/lib/xml-apis-1.4.01.jar
240K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarmolecular-2.8.jar
244K target/cdk-bundle-2.8/WEB-INF/lib/cdk-sdg-2.8.jar
244K target/cdk-bundle-2.8/WEB-INF/lib/gson-2.9.0.jar
248K target/cdk-bundle-2.8/WEB-INF/lib/jena-base-4.5.0.jar
272K target/cdk-bundle-2.8/WEB-INF/lib/serializer-2.7.2.jar
276K target/cdk-bundle-2.8/WEB-INF/lib/titanium-json-ld-1.2.0.jar
308K target/cdk-bundle-2.8/WEB-INF/lib/cdk-core-2.8.jar
308K target/cdk-bundle-2.8/WEB-INF/lib/log4j-api-2.18.0.jar
320K target/cdk-bundle-2.8/WEB-INF/lib/commons-io-2.11.0.jar
320K target/cdk-bundle-2.8/WEB-INF/lib/xom-1.3.7.jar
324K target/cdk-bundle-2.8/WEB-INF/lib/cdk-standard-2.8.jar
324K target/cdk-bundle-2.8/WEB-INF/lib/httpcore-4.4.13.jar
340K target/cdk-bundle-2.8/WEB-INF/lib/libthrift-0.16.0.jar
344K target/cdk-bundle-2.8/WEB-INF/lib/log4j-1.2-api-2.18.0.jar
348K target/cdk-bundle-2.8/WEB-INF/lib/commons-codec-1.15.jar
368K target/cdk-bundle-2.8/WEB-INF/lib/jackson-core-2.13.1.jar
404K target/cdk-bundle-2.8/WEB-INF/lib/euclid-2.3.jar
440K target/cdk-bundle-2.8/WEB-INF/lib/cdk-io-2.8.jar
556K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-win32-x86-1.1.jar
560K target/cdk-bundle-2.8/WEB-INF/lib/cdk-pdb-2.8.jar
576K target/cdk-bundle-2.8/WEB-INF/lib/commons-lang3-3.12.0.jar
600K target/cdk-bundle-2.8/WEB-INF/lib/cdk-legacy-2.8.jar
600K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-linux-arm-1.1.jar
620K target/cdk-bundle-2.8/WEB-INF/lib/joda-time-2.11.0.jar
628K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-linux-x86-1.1.jar
644K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-darwin-aarch64-1.1.jar
660K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-linux-x86-64-1.1.jar
668K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-win32-x86-64-1.1.jar
688K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-darwin-x86-64-1.1.jar
764K target/cdk-bundle-2.8/WEB-INF/lib/httpclient-4.5.13.jar
968K target/cdk-bundle-2.8/WEB-INF/lib/commons-math-2.2.jar
996K target/cdk-bundle-2.8/WEB-INF/lib/commons-compress-1.21.jar
1.0M target/cdk-bundle-2.8/WEB-INF/lib/cmlxom-4.3.jar
1.4M target/cdk-bundle-2.8/WEB-INF/lib/xercesImpl-2.12.2.jar
1.5M target/cdk-bundle-2.8/WEB-INF/lib/jackson-databind-2.13.1.jar
1.6M target/cdk-bundle-2.8/WEB-INF/lib/protobuf-java-3.19.3.jar
1.7M target/cdk-bundle-2.8/WEB-INF/lib/jna-5.10.0.jar
1.8M target/cdk-bundle-2.8/WEB-INF/lib/jena-core-4.5.0.jar
1.8M target/cdk-bundle-2.8/WEB-INF/lib/log4j-core-2.18.0.jar
2.2M target/cdk-bundle-2.8/WEB-INF/lib/cdk-builder3d-2.8.jar
2.9M target/cdk-bundle-2.8/WEB-INF/lib/jsonld-java-0.13.4.jar
3.0M target/cdk-bundle-2.8/WEB-INF/lib/jena-shaded-guava-4.5.0.jar
3.0M target/cdk-bundle-2.8/WEB-INF/lib/xalan-2.7.2.jar
3.4M target/cdk-bundle-2.8/WEB-INF/lib/jena-arq-4.5.0.jar
45M total
If I remove cdk-iordf from the bundle it drops back down to 26MB. Which is still big IMO but doubling size between releases is not ideal.
4.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-ionpot-2.8.jar
4.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qm-2.8.jar
4.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarionpot-2.8.jar
4.0K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-core-1.1.jar
8.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-control-2.8.jar
8.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-jniinchi-support-2.8.jar
8.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-pdbcml-2.8.jar
8.0K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarcml-2.8.jar
12K target/cdk-bundle-2.8/WEB-INF/lib/cdk-builder3dtools-2.8.jar
12K target/cdk-bundle-2.8/WEB-INF/lib/cdk-libiomd-2.8.jar
12K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarprotein-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-fragment-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-model-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-renderawt-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-signature-2.8.jar
16K target/cdk-bundle-2.8/WEB-INF/lib/cdk-tautomer-2.8.jar
20K target/cdk-bundle-2.8/WEB-INF/lib/cdk-cip-2.8.jar
20K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarbond-2.8.jar
24K target/cdk-bundle-2.8/WEB-INF/lib/cdk-pcore-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-atomtype-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-diff-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-inchi-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-libiocml-2.8.jar
28K target/cdk-bundle-2.8/WEB-INF/lib/cdk-valencycheck-2.8.jar
36K target/cdk-bundle-2.8/WEB-INF/lib/cdk-charges-2.8.jar
40K target/cdk-bundle-2.8/WEB-INF/lib/beam-func-1.3.4.jar
40K target/cdk-bundle-2.8/WEB-INF/lib/cdk-dict-2.8.jar
40K target/cdk-bundle-2.8/WEB-INF/lib/cdk-group-2.8.jar
40K target/cdk-bundle-2.8/WEB-INF/lib/jama-1.0.3.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsar-2.8.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/cdk-render-2.8.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/cdk-smarts-2.8.jar
44K target/cdk-bundle-2.8/WEB-INF/lib/signatures-1.1.jar
52K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsio-ps-2.4.jar
56K target/cdk-bundle-2.8/WEB-INF/lib/cdk-renderextra-2.8.jar
64K target/cdk-bundle-2.8/WEB-INF/lib/cdk-depict-2.8.jar
68K target/cdk-bundle-2.8/WEB-INF/lib/cdk-hash-2.8.jar
68K target/cdk-bundle-2.8/WEB-INF/lib/cdk-interfaces-2.8.jar
68K target/cdk-bundle-2.8/WEB-INF/lib/cdk-structgen-2.8.jar
68K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsbase-2.4.jar
72K target/cdk-bundle-2.8/WEB-INF/lib/freehep-io-2.2.2.jar
76K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsio-pdf-2.4.jar
76K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-api-1.1.jar
80K target/cdk-bundle-2.8/WEB-INF/lib/cdk-formula-2.8.jar
84K target/cdk-bundle-2.8/WEB-INF/lib/cdk-smiles-2.8.jar
92K target/cdk-bundle-2.8/WEB-INF/lib/jgrapht-0.6.0.jar
92K target/cdk-bundle-2.8/WEB-INF/lib/tagsoup-1.2.1.jar
104K target/cdk-bundle-2.8/WEB-INF/lib/cdk-ioformats-2.8.jar
112K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsaratomic-2.8.jar
112K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsio-tests-2.4.jar
128K target/cdk-bundle-2.8/WEB-INF/lib/cdk-isomorphism-2.8.jar
128K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphics2d-2.4.jar
132K target/cdk-bundle-2.8/WEB-INF/lib/cdk-datadebug-2.8.jar
136K target/cdk-bundle-2.8/WEB-INF/lib/beam-core-1.3.4.jar
136K target/cdk-bundle-2.8/WEB-INF/lib/cdk-silent-2.8.jar
140K target/cdk-bundle-2.8/WEB-INF/lib/cdk-forcefield-2.8.jar
144K target/cdk-bundle-2.8/WEB-INF/lib/cdk-ctab-2.8.jar
148K target/cdk-bundle-2.8/WEB-INF/lib/cdk-reaction-2.8.jar
156K target/cdk-bundle-2.8/WEB-INF/lib/cdk-data-2.8.jar
160K target/cdk-bundle-2.8/WEB-INF/lib/cdk-fingerprint-2.8.jar
168K target/cdk-bundle-2.8/WEB-INF/lib/vecmath-1.5.2.jar
188K target/cdk-bundle-2.8/WEB-INF/lib/freehep-graphicsio-2.4.jar
192K target/cdk-bundle-2.8/WEB-INF/lib/cdk-renderbasic-2.8.jar
212K target/cdk-bundle-2.8/WEB-INF/lib/cdk-extra-2.8.jar
216K target/cdk-bundle-2.8/WEB-INF/lib/xml-apis-1.4.01.jar
240K target/cdk-bundle-2.8/WEB-INF/lib/cdk-qsarmolecular-2.8.jar
244K target/cdk-bundle-2.8/WEB-INF/lib/cdk-sdg-2.8.jar
272K target/cdk-bundle-2.8/WEB-INF/lib/serializer-2.7.2.jar
308K target/cdk-bundle-2.8/WEB-INF/lib/cdk-core-2.8.jar
308K target/cdk-bundle-2.8/WEB-INF/lib/log4j-api-2.18.0.jar
320K target/cdk-bundle-2.8/WEB-INF/lib/commons-io-2.11.0.jar
320K target/cdk-bundle-2.8/WEB-INF/lib/xom-1.3.7.jar
324K target/cdk-bundle-2.8/WEB-INF/lib/cdk-standard-2.8.jar
344K target/cdk-bundle-2.8/WEB-INF/lib/log4j-1.2-api-2.18.0.jar
404K target/cdk-bundle-2.8/WEB-INF/lib/euclid-2.3.jar
440K target/cdk-bundle-2.8/WEB-INF/lib/cdk-io-2.8.jar
556K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-win32-x86-1.1.jar
560K target/cdk-bundle-2.8/WEB-INF/lib/cdk-pdb-2.8.jar
576K target/cdk-bundle-2.8/WEB-INF/lib/commons-lang3-3.12.0.jar
600K target/cdk-bundle-2.8/WEB-INF/lib/cdk-legacy-2.8.jar
600K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-linux-arm-1.1.jar
620K target/cdk-bundle-2.8/WEB-INF/lib/joda-time-2.11.0.jar
628K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-linux-x86-1.1.jar
644K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-darwin-aarch64-1.1.jar
660K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-linux-x86-64-1.1.jar
668K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-win32-x86-64-1.1.jar
688K target/cdk-bundle-2.8/WEB-INF/lib/jna-inchi-darwin-x86-64-1.1.jar
968K target/cdk-bundle-2.8/WEB-INF/lib/commons-math-2.2.jar
1.0M target/cdk-bundle-2.8/WEB-INF/lib/cmlxom-4.3.jar
1.4M target/cdk-bundle-2.8/WEB-INF/lib/xercesImpl-2.12.2.jar
1.7M target/cdk-bundle-2.8/WEB-INF/lib/jna-5.10.0.jar
1.8M target/cdk-bundle-2.8/WEB-INF/lib/log4j-core-2.18.0.jar
2.2M target/cdk-bundle-2.8/WEB-INF/lib/cdk-builder3d-2.8.jar
3.0M target/cdk-bundle-2.8/WEB-INF/lib/xalan-2.7.2.jar
26M total
The newer Apache JENA (cdk-iordf) version pulls in a lot of dependencies which ultimately means our "cdk-bundle" size is nearly double. A neat trick to work out where bloat is coming from is to create a WAR file.
Currently we are now sitting at 45MB (up from 26MB for CDK 2.7.1). I would hate for this to spiral further and up in the RDKit's 700MB conda install size territory :-).
Here is the break down:
If I remove cdk-iordf from the bundle it drops back down to 26MB. Which is still big IMO but doubling size between releases is not ideal.