tags:

views:

868

answers:

3

I'm building a Maven project which has half a dozen modules.

I'm fine with importing it myself using either Maven or Ivy, but other teams would like to use those jars as well, but their practice is to commit the jars and source jars to version control.

I'd like to generate a zip/tar assembly of all modules and their sources which they can use however they like.

I've read Maven Assembly Plugin: Including Module Binaries but I'm shy of using it because:

  1. The linked FAQ entry returns a 404;
  2. I need to manually specify all modules.

Is there an alternative?


Update: I've tried using the built-in assembly descriptors

 mvn assembly:assembly -DprojectModulesOnly=true
 mvn assembly:assembly

and both failed with

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to create assembly: Error creating assembly archive bin: You must set at least one file.

right after all the module builds have run.

A: 

Sounds like you need a build-server of some kind. I was at JavaZone 2009 this week and looked at Hudson CI https://hudson.dev.java.net/

The server will create the artifacts you or other teams can use/download.

Tommy
Thanks for the answer. I'm actually using Hudson, but I'd like to do this with Maven, since I did not find a way to generate a zip of all jars from Hudson.
Robert Munteanu
A: 

Have a look at the How to use assembly:assembly using predefined descriptor ids. I think the bin and src pre-defined descriptor files are what you need.

Pascal Thivent
Thanks for the answer. See my update for the results.
Robert Munteanu
It looks like the assemby-plugin could not find anything to assemble. Could you please provide the maven-assembly-plugin configuration section and the assembly descriptor?
Pascal Thivent
+2  A: 

I think you're on the right lines, the moduleSets options of the assembly plugin handles what you're after.

If you're looking for some useful documentation, the Module Selection section of the Maven book covers it quite thoroughly, including how to configure includes and excludes, handle binaries and sources, and exclude external dependencies.

Rich Seller
Thanks for the reference, I'll look into it.
Robert Munteanu