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]

Reply via email to