2012-04-26 13 views
7

Tengo una compilación larga con numerosos pasos, complementos y ejecuciones configuradas en aproximadamente 30 poms pertenecientes a un complejo proyecto modular. Como la compilación tarda demasiado (2h) me gustaría simplificarla un poco, por lo que me gustaría que maven me haga una lista de todos los pasos que debería seguir sin ejecutarla. Algo así como:plan de ejecución de Maven

$ 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] ------------------------------------------------------------------------ 

¿Hay alguna manera de tener dicha información sin que yo la excavación en un par de megas de un archivo de registro?

+1

yo no tengo encontrar un complemento que podría hacer esto. Pero la búsqueda rápida mostró que hay una clase en Maven API llamada [MavenExecutionPlan] (http://maven.apache.org/ref/3.0.4/maven-core/apidocs/org/apache/maven/lifecycle/MavenExecutionPlan.html) Tal vez podrías usarlo de alguna manera. –

Respuesta

1

Como aparentemente no hay forma de OOTB para hacerlo, terminé escribiendo el plan-maven-plugin. Le permite desenrollar el plan que proporciona el parámetro goals:

mvn plan:plan -Dgoals=clean,javadoc:jar,sources:jar,package,gpg:sign,install 

o para ejecutarlo como parte de la estructura normal de:

mvn plan:plan clean javadoc:jar sources:jar package gpg:sign install 

Salida de ejemplo:

$ 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] 
+0

Gracias por el gran plugin. Ayuda mucho :) –

Cuestiones relacionadas