Maven assembly plugin: prerequisite but not bind -
i know can bind assembly plugin "package" phase of project want different:
- when run
mvn packageexecute without assembly - when run
mvn assembly:singleexecutepackagephase first.
i know can mvn package assembly:single manually verbose , error prone: if edit code , forget put "package" mvn assembly:single, generate the old version of code in assembly, without compiling changed code.
when running cli mvn package assembly:single must (see update) provide required properties single goal explains why error prone.
but, if add following plugin definition pom under build plugins section:
<plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-assembly-plugin</artifactid> <version>2.4</version> <executions> <execution> <id>default-cli</id> <phase>never</phase> <!-- or undefined --> <goals> <goal>single</goal> </goals> <configuration> ... </configuration> </execution> </executions> </plugin> when running mvn clean package assembly plugin won't run single goal because not binded phase.
when running mvn clean package assembly:single, after package phase done assembly:single run configuration pom because it's execution id default-cli.
update
to correct myself, if running cli, executions tag not unnecessary semantically incorrect use.
just reference, plugin definition:
<plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-assembly-plugin</artifactid> <version>2.4</version> <configuration> <descriptor>path/to/descriptor</descriptor> </configuration> </plugin> the command mvn assembly:single equivalent command mvn assembly:single -ddescriptor=path/to/descriptor. when run outputs console:
[info] --- maven-assembly-plugin:2.4:single (default-cli) @ fm-js --- the first definition useful if want use plugin both command line , during phase different configurations.
as question, asked, imho, not possible without reprogramming plugin. suggestion in non-portable or portable form, respectively:
- wrap command
mvn package assembly:singlein shell script - write groovy script gmaven-mojo plugin summons command
mvn package assembly:single
Comments
Post a Comment