2012-04-26 12 views
7

Ho una lunga build con numerosi passaggi, plugin ed esecuzioni configurati in circa 30 poms appartenenti a un complesso progetto modulare. Dato che la build sta prendendo troppo (2h) mi piacerebbe razionalizzarlo un po ', per il quale mi piacerebbe che Maven mi elencasse tutti i passi che avrebbe compiuto senza eseguirlo. Qualcosa di simile:Piano di esecuzione 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] ------------------------------------------------------------------------ 

C'è un modo per avere queste informazioni senza di me scavare in un paio di mega di un file di log?

+1

non ho imbattersi in un plugin che potrebbe farlo. Ma la ricerca rapida ha mostrato che esiste una classe nell'API Maven chiamata [MavenExecutionPlan] (http://maven.apache.org/ref/3.0.4/maven-core/apidocs/org/apache/maven/lifecycle/MavenExecutionPlan.html). Forse potresti usarlo in qualche modo. –

risposta

1

Poiché non c'è apparentemente alcun modo OOTB per farlo, ho finito per scrivere il plan-maven-plugin. Esso consente di srotolare il piano che fornisce il parametro goals:

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

o di eseguirlo come parte della corporatura normale:

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

Esempio di 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] 
+0

Grazie per l'ottimo plugin. Aiuta molto :) –

Problemi correlati