2012-04-26 15 views
7

Mam długą budowę z licznymi krokami, wtyczkami i wykonaniami skonfigurowanymi w około 30 pomach należących do złożonego projektu modułowego. Ponieważ kompilacja zabiera zbyt dużo (2 godz.), Chciałbym ją nieco usprawnić, dla której chciałbym, abyście wymieniali mi wszystkie kroki, które przeszliby bez jej wykonania. Coś jak:Plan wykonania 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] ------------------------------------------------------------------------ 

Czy istnieje sposób na uzyskanie takich informacji bez mnie kopać w kilka megs pliku dziennika?

+1

nie mam natrafić na wtyczkę, która mogłaby to zrobić. Szybkie wyszukiwanie wykazało jednak, że w API Maven istnieje klasa o nazwie [MavenExecutionPlan] (http://maven.apache.org/ref/3.0.4/maven-core/apidocs/org/apache/maven/lifecycle/MavenExecutionPlan.html). Może mógłbyś jakoś to wykorzystać. –

Odpowiedz

1

Ponieważ najwyraźniej nie ma na to sposobu OOTB, skończyłem pisać plan-maven-plugin. To pozwala rozwinąć plan dostarczanie parametr goals:

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

lub wykonać go jako część normalnej kompilacji:

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

Przykładowe wyjście:

$ 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

Dzięki za wspaniałą wtyczkę. Bardzo pomaga :) –

Powiązane problemy