Bugzilla – Bug 6990
Consolidate libraries, pre-generate stubs
Last modified: 2010-04-06 10:18:32
You need to
before you can comment on or make changes to this bug.
For the services installation, conslolidate jar files into a lib gar that is
deployed first. They all currently end up in GT's lib directory together
anyhow and it is actually rare (although possible) that services are deployed
in a more standalone way (if that happens in this new scheme, only some disk
space is lost). This is a cheap-to-get "mini-maven" step that will yield a lot
of time savings for developers. We can't take the time currently to go to
something more like ivy/maven.
Also pre-generate the stub libraries: these will only change when the (compact)
WSDL changes anyhow (using special invocation), there should be no need to have
these in the main build process any longer. They are more like libraries.
I believe the bug6990 branch is ready to be merged in, could probably do with
another person testing first.
Locally the build system will no longer spend 2 minutes 14 seconds generating
stub jars: that is 65% of the build time on this computer.
Another consequence of the changes in that branch is that you can open up a
repository clone in an IDE and:
1) add the existing 'src' directories as places to find source code (IDEA will
offer you a list of these to add when you create a new project based on
pre-existing code files).
2) add the "lib/services" and "lib/generated" directories as library (jar)
... and you should be ready to hack it up.
We have been discussing Maven recently, one of the primary objectives being an
easier developer experience (you can load Maven projects directly into IDEs and
be pretty much ready to work). This library consolidation gets us close to
that ideal without the cost of switching to Maven or some other dependency
The downside is that if you are using one of the (usually developer-only) build
system subtargets, there could be unecessary jars in the container lib
I tested this a bit and merged it into the master branch:
Works great and the build is definitely faster.