I'm far from the expert in dealing with this, but Maven's "assembly"
plugin will do what you need: make your staging area, populate it,
and zip it up in the end.
We do something similar: I need to produce an "autorun" CD image:
we build, with each jar having its own directory and maven pom,
and then a "packaging" pom that just generates .war files, and
then another "packaging" pom that generates a .zip of the CD image.
(It's much more complex than that in sheer number of components,
so I can't give you a sample directory structure easily, but
I'm sure someone else will speak up :)
Something like:
Parent\pom.xml <- placeholder, effectively
jar1\pom.xml <- generates your .jar
war1\pom.xml <- generates your .war
dist1\pom.xml <- generates an assembly putting all the pieces
together
dist1\dist.xml <- descriptor
(http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html)
dist1\resources <- "flat" files needed in your assembly, referred
to in the pom
Does that help?
Dana Lacoste
-----Original Message-----
From: Danny MacMillan
[mailto:[EMAIL PROTECTED]
Sent: Friday, April 13, 2007 2:42 PM
To: [EMAIL PROTECTED]
Subject: Newbie Question: How do I represent my current Ant builds with
Maven?
Hi,
I've looked at Maven, read quite a bit of the documentation, and I can't
figure out quite how to represent my current typical Ant build with
Maven. Hopefully someone here can help me.
I write a lot of console utilities in Java. These are comprised of the
original code for the utility, that goes in a jar, 3rd-party libraries
the utility uses, and ancillary files. Today, my typical folder
structure for one of these projects looks like this:
trunk (contains IDE project files, build.xml, build.properties)
trunk/dist (contains content to be deployed 'as is') trunk/dist/doc
(contains product documentation) trunk/dist/etc (configuration files
read at runtime) trunk/dist/lib (holds 3rd-party jars) trunk/dist/...
trunk/java (main source code)
trunk/test (test source code)
I have a 'deploy' target in my ant build that
1. copies the contents of 'dist' to a staging area for deployment
2. then compiles the java source into a jar
3. copies the jar to the staging area dist/lib directory
4. zips up the staging area
The product is a zip file I can take to a client's site and deploy by
unzipping and editing a few configuration files (which exist in their
unedited state in trunk/dist/etc) and possibly batch files (which exist
in their unedited state in trunk/dist).
Everything I read about Maven suggests that there should be one build
product per Maven project. Okay, I can see creating a project just for
the jar holding the compiled Java code, but I can't quite wrap my head
around what I'm 'supposed' to do here for the non-Java source files (the
batch files, the configuration files, etc.) Switching to Maven becomes
a non-starter because at a minimum I need to duplicate the functionality
that is currently present in my ant builds.
I would appreciate any guidance or advice you can offer.
--
Danny MacMillan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]