Hey all,

This has been discussed on some other threads as well, but I think it is 
worthwhile to get a clear picture on this. While discussing the current release 
process we basically combined the build/package process of the sources with the 
creation of the rpm/deb packages for 4.0RC1 (using a combination of maven, ant 
and waf). When moving to maven we have the opportunity to better separate the 
code build/package process from the creation of any vendor specific packages. 
This would for one thing allow others to create packages using their own 
insights and combinations of components.

Also from a maven perspective it is good to know what is expected from it. The 
way I'm looking at it is that maven builds a binary release in the form of a 
tarball. This tarball will contain everything to run the various components in 
the source tree. This seems to be more or less what other Apache projects do as 
well. I think the components are the following:
        * The client webapp (war)
                This includes ui components, compiled classes and all 
dependencies in a standard java webapp layout
                Contains selected optional components based on maven profiles 
like netapp, vmware, netscaler etc.
                Also systemvm.iso and other components required by the webapp
        * The awsapi webapp (war)
                This included all awsapi components and dependencies in a 
standard java webapp
        * The usage server (jar)
                This includes the usage server and dependencies as an 
executable jar

Next to these artifacts there will be some scripts that are needed by our 
builds of the debs/rpms and do utility work like creating a database etc.

Secondary responsibility of maven is to be able to start a debug server for all 
three components (with eclipse integration)

The rpms/debs should ideally be built from the tarball mentioned above. The 
main change would be to have the builder include the jars in the webapp. This 
saves an enormous amount of trouble when building packages as we don't need to 
deal with package dependencies anymore. Potentially this makes the webapps also 
more portable, people should be able to deploy the war in any j2ee container 
and run it.

Current status is that I'm testing the war building for the client api by 
starting a debug server directly from maven. The tarball build is also almost 
done with the exception of the usage server. I'm happy to continue working on 
this together with Edison Su. 

Your ideas and feedback please :-)


Cheers,

Hugo

Reply via email to