Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.1
-
None
-
None
-
Windows XP
Description
Unlike the source and javadoc plugins the current version of the assembly plugin doesn't support a mechanism to indicate whether the assembly should be included as an attached artifact. From observed behavior it appears it always treats the assembly as an attached artifact.
Motivation:
I am using an assembly descriptor to create an application installation. The application installation contains all my jar dependencies, start scripts, etc. It doesn't make any sense to deploy this large application installation to my internal maven repository, yet it is certainly appropriate for the release plugin to create it. Potentially the release plugin should even cause the application installation to be placed on a given ftp server dedicated to application releases.
All of this is easily accomplished simply by defining the release-profile within my pom. Although I havn't done so, I could easily use a custom plugin, and/or the ant plugin to ensure the application installation (assembly) is copied to a particular location. Any of my normal artifacts will still be deployed to the maven repository as desired when the maven release plugin runs.
#within my POM I have:
<profiles>
<profile>
<id>release-profile</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>release</id>
<phase>package</phase>
<inherited>false</inherited>
<goals>
<goal>assembly</goal>
</goals>
<!--Desired, but non-existent, config support
<configuration>
<attach>false</attach>
</configuration>
-->
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>