Hi,
I found a solution to this problem after reading this page :
http://docs.codehaus.org/display/MAVENUSER/Assembly+Plugin
Modification for the main project (important part is the executions block) :
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<descriptors>
<descriptor>${basedir}/assembly/livraison.xml</
descriptor>
</descriptors>
</configuration>
<!-- important part is here -->
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
Important : Now, with this configuration, you must launch "mvn ... package"
and not "mvn .... assembly:assembly"
Bye
2008/7/25 Jean-Marc Desprez <[EMAIL PROTECTED]>
> Hi,
> I have four projects under maven.
> I want to be able to run "assembly:assembly" on each projects with minimum
> effort.
>
> So I had create a main project with this configuration :
> ...
> <modules>
> <module>../aaa</module>
> <module>../zzz</module>
> <module>../eee</module>
> <module>../rrr</module>
> </modules>
>
> <build>
> <pluginManagement>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-assembly-plugin</artifactId>
> <inherited>true</inherited>
>
> <configuration>
> <descriptors>
>
> <descriptor>${basedir}/assembly/livraison.xml</descriptor>
> </descriptors>
> </configuration>
> </plugin>
> </plugins>
> </pluginManagement>
> </build>
>
> On each child, I add this two pieces of code :
> <parent>
> <groupId>the.group</groupId>
> <artifactId>main</artifactId>
> <version>0.0.1-SNAPSHOT</version>
> <relativePath>../main/pom.xml</relativePath>
> </parent>
> and
> <build>
> <plugins>
> ...
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-assembly-plugin</artifactId>
> <!-- see configuration on parent's project -->
> </plugin>
> ...
> </plugins>
> </build>
>
> Maven help (http://maven.apache.org/pom.html#Plugin_Management) say :
> Plugin Management contains plugin elements in much the same way, except that
> rather than configuring plugin information for this particular project
> build, it is intended to configure project builds that inherit from this
> one.
>
> But, "assembly:assembly" on the main's pom.xml throw an error :
> [INFO] [assembly:assembly]
> [INFO] Reading assembly descriptor: /path/to\main/assembly/livraison.xml
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Error reading assemblies: Error locating assembly descriptor
>
> Which is completly normal because I do not have assembly descriptor for the
> main project.
> Plus, the assembly is not done on the childs projects
>
> How can I run assembly:assembly only on the childs projects ??
>
> Thanks
>