Another poll:

Would you prefer all the plugin jars/artifacts in one cloud-plugin deb/rpm,
or, have separate debs/rpms for each plugin jar/artifact, like cloud-plugin-kvm 
etc.

Some problem with attachments, my branch here:
https://github.com/bhaisaab/incubator-cloudstack/tree/maven-debs

Regards,
Rohit

________________________________________
From: Rohit Yadav [rohit.ya...@citrix.com]
Sent: Thursday, September 13, 2012 9:28 PM
To: cloudstack-dev@incubator.apache.org
Subject: Building debs with Maven

Hi,

Just wanted to share some progress on maven. Please share your ideas, 
suggestions. Thanks.

I tried various plugins for deb and rpms. I've nailed down one called jdeb, 
that seems to work for creating debs.
The plugins folder is tricky. I will try to see if we can have maven do 
everything for us in next few days, till then we've ant/waf/maven.

The layout I used for plugins:
Every module/subproject will have a pkg/ folder that would control deb or rpm 
specific control files and specs.

And, unlike what waf generates, all debs/rpm of a project will contain only 
jars, conf etc files from that module only. So, for example, cloud-agent won't 
have cloud-plugin-kvm. The plugins deb/rpm will be separate. This makes 
implementing relatively easier. Vote?

For example, I got only one cloud-agent.deb that has all the scripts and jars 
which is now shipped as agent-libs, -scripts etc.
Patch 1-4 works, 5 is in progress. Progress now is 5/11 (subprojects) for debs. 
(debs for api, agent, core, server work fine, plugins is wip).

Question: what to do with awsapi, the current debs and also those hosted by 
Wido don't have awsapi?

The idea is soon we'll have simple command to do our development; something 
like:

mvn clean # cleans project targets, think make clean
mvn compile # compiles .class, think make
mvn install # installs in ~//m2

mvn package # generates jars/wars
mvn package -Pdeb # to generate debs only

mvn deploy # have exec plugin deploydb etc.


Regards,
Rohit

PS. After several hours of hunting, I found variables in Maven have reflection 
property, so in case in a submodule, ${project.parent.parent.build.directory} 
can be used. Even the book by Sonatype failed to mention in their properties 
chapter: http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide

Reply via email to