Bug #4063
closedKepler-1.XDev Installer is large
0%
Description
The Kepler-1.XDev installers are very large:
[ ] kepler-1.xDev-osx.jar 12-May-2009 14:32 212M
[ ] kepler-1.xDev-win.jar 12-May-2009 14:44 180M
This is likely an impediment to adoption.
A few questions:
1) The Ptolemy directory does not include the sources.
For example, where is NamedObj.java:
bash-3.2$ ls /Applications/Kepler-1.XDev/ptolemy/ptolemy/kernel/util
README.txt doc makefile package.html test
How would I rebuild from source here, or browse the sources?
2) We have the following duplicate jar files:
bash-3.2$ find . -name "*.jar" -print | awk -F / '{print $NF}' | sort | uniq -c | sort -nr
3 xalan.jar
3 jdom.jar
3 ij.jar
3 batik-all-1.6.jar
2 xml-apis.jar
2 xdoclet-1.2.2.jar
2 wsdl4j.jar
2 wmsd.jar
2 tar.jar
2 soaplab.jar
2 servlet.jar
2 saaj-impl.jar
2 saaj-api.jar
2 qaqc.jar
2 mysql-connector-java-5.1.6-bin.jar
2 mail.jar
2 lsid-client.jar
2 log4j-1.2.8.jar
2 jython.jar
2 jts-1.4.0.jar
2 jsch-0.1.31.jar
2 jena.jar
2 jaxrpc.jar
2 jaxrpc-spi.jar
2 jaxrpc-impl.jar
2 jaxb-impl.jar
2 jaxb-api.jar
2 jargon_v2.0.jar
2 jacorb.jar
2 gt1.jar
2 gnu-regexp-1.0.8.jar
2 forester.jar
2 concurrent.jar
2 commons-net-1.2.1.jar
2 commons-logging.jar
2 commons-logging-1.1.jar
2 commons-httpclient-3.0.1.jar
2 cog-jglobus.jar
2 cipres_framework.jar
2 castor-0.9.5.jar
2 axis.jar
2 antlr.jar
2 antelope.jar
2 ant.jar
2 alltools2.jar
2 alltools.jar
2 ImageJ.jar
2 HelloWorld.jar
2 GeoVista-PCPVis.jar
2 CipresKeplerRegistry.jar
3) We are shipping the .class files in places like ptolemy/target.
It might be better to jar these up and have directories like ptolemy/target
in the classpath before the corresponding jar files. This could save
space and improve startup time.
Maybe these should be in separate bugs, but the overriding issue is that
the installer is very large.
Related issues
Updated by Chad Berkley over 15 years ago
The duplicate jar problem is in bug 4013. Thanks for getting a list though. I'll copy it over to that bug.
The reason the source is not included in the installer is that I was trying to get the size down. I do not see people building kepler/ptolemy from source with an installed version of the application. If they want to build from source, they can use the SVN version. We do not include any source from Kepler (and we didn't in the last release).
The reason the sizes of the installers are so large is because of R. The R windows installer is 37+ MB and the OSX installer is 70+ MB. I will be creating a version of the installer without R eventually which should reduce the size significantly. I could also not install many of the ptolemy packages that kepler never uses. I haven't tried to identify them yet, but I will.
Even at their current sizes, I don't think they are ridiculously large. I download many applications with 200+ MB installers.
David and I decided to leave class files in the target directories unjarred because it made it easier to make the installer and the module manager behave in the same way. If people disagree with this approach, we could probably change it to use jars instead, but I don't see the major advantage of either. Both the installer and modules get jarred eventually so the files will get compressed inside of that jar. Are we worried about post-install disc space here? If so, then jarring the classes would make sense I guess. My installed version of Kepler on the mac, with R is 438MB. I need to remove the R installer after installation (which would remove another 70 MB).
Updated by Christopher Brooks over 15 years ago
For archival reasons, I think it is very important to release a
source only tar.gz file of Kepler-2.0. The reason is so that
it can be built in the future, when the svn repository is long-gone.
Also, making a .tar.gz file or .zip file available helps people
install who are about to get on an airplane.
I think the installer should optionally include the source.
Yes, that makes it larger, but it is worth it.
Perhaps there should be two installers:
1) The full installer, with source and R.
2) A smaller installer that does not have sources or R.
BTW - if you are not going to ship sources, then in ptolemy/,
you could remove the README.txt files, package.html files and makefiles.
My building creates jars for the demos and other sources that
should be shipped for a runtime only env., which helps avoid shipping everything.
Updated by Chad Berkley over 15 years ago
Have paired down the installers as much as possible now. We will release a src and bin version of the installers. Also working on a 64 bit installer. Closing this bug for now.