On 17-Sep-2012, at 2:33 PM, Hugo Trippaers <[email protected]> 
wrote:

> 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

Separate further maybe? All plugins shipped as separate packages (users get to 
pick what deb/rpm plugin they would want, for example vmware, xen, kvm etc.); 
agent, api, awsapi, client, core, console-proxy, server, ui, usage, utils all 
as separate pkgs.

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

For that we can reuse the exec plugin to do things like deploydb etc.

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

+1 use jetty or tomcat plugin w/o debug profile.

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

I don't know how exactly the deploy-server/debug on the tomcat webapp/war/j2ee 
works now or would work. Could you please explain that process (future and now) 
in detail.

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

Update the status on the maven-waf branch please?
Are we going to pull some changes to master or after 4.0. discard the branch 
and go full-on maven?

Regards,
Rohit

> 
> Your ideas and feedback please :-)
> 
> 
> Cheers,
> 
> Hugo

Reply via email to