I recently removed the ICU bundle from the Eclipse Platform, reducing the Eclipse SDK download by ~15MB.
While updating a client IDE in a slow environment (v-client) I noticed the docs bundles are huge.
JAR sizes of the shipped doc bundles:
| Bundle |
JAR size |
org.eclipse.platform.doc.isv |
42M |
org.eclipse.jdt.doc.user |
9.1M |
org.eclipse.jdt.doc.isv |
7.9M |
org.eclipse.pde.doc.user |
6.0M |
org.eclipse.platform.doc.user |
3.8M |
The working trees are far larger (600M+ for platform.doc.isv) but git-ignored.
For example, org.eclipse.platform.doc.isv:
the JAR is 42M compressed (~254M uncompressed) and is almost all generated Javadoc.
| HTML category |
Uncompressed |
Files |
Share |
Generated Javadoc (reference/api/) |
230.2M |
11,049 |
98.4% |
| Other HTML |
3.8M |
696 |
1.6% |
So ~90% of the entire uncompressed JAR is generated Javadoc.
The same concentration applies to org.eclipse.jdt.doc.isv.
How is API info used to my knowledge:
- AFAIK PDE uses the bundled Javadoc for hover/F1 only when the matching source bundle is not attached. This is offline; AFAIK if online it could point to online location. The full SDK ships source bundles, so editor hover/F1 renders Javadoc from these bundles. For that setup the bundled HTML is redundant.
- The same reference is online at help.eclipse.org
- Maybe the generated API is used for the API baseline comparison (not sure about this)
Possible directions:
- Ship the API Javadoc as a separate, optional feature instead of bundling it by default.
- Point
org.eclipse.pde.core.javadoc at the online reference instead of a bundle if that is possible
I do not plan to work on this myself, but AFAIK @HannesWell is actively optimizing the build and download size, so this might be of interest to him.
I recently removed the ICU bundle from the Eclipse Platform, reducing the Eclipse SDK download by ~15MB.
While updating a client IDE in a slow environment (v-client) I noticed the docs bundles are huge.
JAR sizes of the shipped doc bundles:
org.eclipse.platform.doc.isvorg.eclipse.jdt.doc.userorg.eclipse.jdt.doc.isvorg.eclipse.pde.doc.userorg.eclipse.platform.doc.userThe working trees are far larger (600M+ for
platform.doc.isv) but git-ignored.For example,
org.eclipse.platform.doc.isv:the JAR is 42M compressed (~254M uncompressed) and is almost all generated Javadoc.
reference/api/)So ~90% of the entire uncompressed JAR is generated Javadoc.
The same concentration applies to
org.eclipse.jdt.doc.isv.How is API info used to my knowledge:
Possible directions:
org.eclipse.pde.core.javadocat the online reference instead of a bundle if that is possibleI do not plan to work on this myself, but AFAIK @HannesWell is actively optimizing the build and download size, so this might be of interest to him.