Bug 6990 - Consolidate libraries, pre-generate stubs
: Consolidate libraries, pre-generate stubs
Status: RESOLVED FIXED
: Nimbus
Installer
: 2.3
: PC Linux
: P3 normal
: 2.4
Assigned To:
:
:
:
: 6981
  Show dependency treegraph
 
Reported: 2010-03-26 11:01 by
Modified: 2010-04-06 10:18 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-03-26 11:01:40
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.
------- Comment #1 From 2010-03-29 11:54:24 -------
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.
------- Comment #2 From 2010-03-31 12:00:18 -------
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.
------- Comment #3 From 2010-03-31 12:14:23 -------
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)
directories.

... 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
system.

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
directory.
------- Comment #4 From 2010-03-31 16:33:48 -------
I tested this a bit and merged it into the master branch:

http://github.com/nimbusproject/nimbus/commit/f1d6c74bfd04068b1dabefb89983e2e2c711100c

Works great and the build is definitely faster.