I have a long build with numerous steps, plugins and executions configured in roughly 30 poms belonging to a complex modularized project. As the build is taking too much (2h) I'd like to streamline it a bit, for which I'd like maven to list me all the steps it would go through without executing it. Something like:
$ mvn --dry-run clean
[INFO] Reactor Build Order:
[INFO]
[INFO] Main project
[INFO] Module#1
[INFO] Module#2
[..]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Main Project
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ main ---
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Module#1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ module1 ---
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0:01.020s
[INFO] Finished at: Thu Apr 26 09:56:14 CEST 2012
[INFO] Final Memory: 198M/379M
[INFO] ------------------------------------------------------------------------
Is there any way to have such information without me digging in a couple of megs of a log file?
As there's apparently no OOTB way to do it, I ended up writing the plan-maven-plugin. It allows you to unroll the plan providing the goals
parameter:
mvn plan:plan -Dgoals=clean,javadoc:jar,sources:jar,package,gpg:sign,install
or to execute it as part of the normal build:
mvn plan:plan clean javadoc:jar sources:jar package gpg:sign install
Sample output:
$ mvn plan:plan clean javadoc:javadoc package install site:site
[...]
[INFO] --- plan-maven-plugin:1.1:plan (default-cli) @ plan-maven-plugin ---
[INFO]
[INFO] Current lifecycle:
[INFO] pre-clean
[INFO] clean
[INFO] post-clean
[INFO] validate
[INFO] initialize
[INFO] generate-sources
[INFO] process-sources
[INFO] generate-resources
[INFO] process-resources
[INFO] compile
[INFO] process-classes
[INFO] generate-test-sources
[INFO] process-test-sources
[INFO] generate-test-resources
[INFO] process-test-resources
[INFO] test-compile
[INFO] process-test-classes
[INFO] test
[INFO] prepare-package
[INFO] package
[INFO] pre-integration-test
[INFO] integration-test
[INFO] post-integration-test
[INFO] verify
[INFO] install
[INFO] deploy
[INFO]
[INFO] Execution plan:
[INFO] [-] tk.skuro:plan-maven-plugin:plan (default-cli)
[INFO] [clean] org.apache.maven.plugins:maven-clean-plugin:clean (default-clean)
[INFO] [-] org.apache.maven.plugins:maven-javadoc-plugin:javadoc (default-cli)
[INFO] [validate] org.apache.maven.plugins:maven-enforcer-plugin:enforce (enforce-maven)
[INFO] [generate-resources] org.apache.maven.plugins:maven-plugin-plugin:descriptor (default-descriptor)
[INFO] [process-resources] org.apache.maven.plugins:maven-resources-plugin:resources (default-resources)
[INFO] [compile] org.apache.maven.plugins:maven-compiler-plugin:compile (default-compile)
[INFO] [process-test-resources] org.apache.maven.plugins:maven-resources-plugin:testResources (default-testResources)
[INFO] [test-compile] org.apache.maven.plugins:maven-compiler-plugin:testCompile (default-testCompile)
[INFO] [test] org.apache.maven.plugins:maven-surefire-plugin:test (default-test)
[INFO] [package] org.apache.maven.plugins:maven-jar-plugin:jar (default-jar)
[INFO] [package] org.apache.maven.plugins:maven-plugin-plugin:addPluginArtifactMetadata (default-addPluginArtifactMetadata)
[INFO] [validate] org.apache.maven.plugins:maven-enforcer-plugin:enforce (enforce-maven)
[INFO] [generate-resources] org.apache.maven.plugins:maven-plugin-plugin:descriptor (default-descriptor)
[INFO] [process-resources] org.apache.maven.plugins:maven-resources-plugin:resources (default-resources)
[INFO] [compile] org.apache.maven.plugins:maven-compiler-plugin:compile (default-compile)
[INFO] [process-test-resources] org.apache.maven.plugins:maven-resources-plugin:testResources (default-testResources)
[INFO] [test-compile] org.apache.maven.plugins:maven-compiler-plugin:testCompile (default-testCompile)
[INFO] [test] org.apache.maven.plugins:maven-surefire-plugin:test (default-test)
[INFO] [package] org.apache.maven.plugins:maven-jar-plugin:jar (default-jar)
[INFO] [package] org.apache.maven.plugins:maven-plugin-plugin:addPluginArtifactMetadata (default-addPluginArtifactMetadata)
[INFO] [install] org.apache.maven.plugins:maven-install-plugin:install (default-install)
[INFO] [-] org.apache.maven.plugins:maven-site-plugin:site (default-cli)
[INFO]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With