This is an automated email from the ASF dual-hosted git repository. khmarbaise pushed a commit to branch MNG-5666 in repository https://gitbox.apache.org/repos/asf/maven.git
commit cfd13dd715fc414a608bdb5768f143518e30bd8e Author: rfscholte <[email protected]> AuthorDate: Tue Aug 28 15:05:01 2018 +0200 [MNG-5666] Divide Lifecycle in prePhases, phases and postPhases --- .../apache/maven/lifecycle/DefaultLifecycles.java | 4 +-- .../java/org/apache/maven/lifecycle/Lifecycle.java | 30 ++++++++++++++++++++++ .../apache/maven/lifecycle/MavenExecutionPlan.java | 2 +- .../internal/DefaultLifecycleMappingDelegate.java | 2 +- .../main/resources/META-INF/plexus/components.xml | 12 ++++++--- .../maven/lifecycle/DefaultLifecyclesTest.java | 2 +- 6 files changed, 44 insertions(+), 8 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java index a7d9fac..e79635f 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java @@ -89,7 +89,7 @@ public class DefaultLifecycles logger.debug( "Lifecycle " + lifecycle ); } - for ( String phase : lifecycle.getPhases() ) + for ( String phase : lifecycle.getAllPhases() ) { // The first definition wins. if ( !phaseToLifecycleMap.containsKey( phase ) ) @@ -136,7 +136,7 @@ public class DefaultLifecycles for ( Lifecycle lifecycle : getLifeCycles() ) { - phases.addAll( lifecycle.getPhases() ); + phases.addAll( lifecycle.getAllPhases() ); } return StringUtils.join( phases.iterator(), ", " ); diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java b/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java index 5fc99d5..5f796ac 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java @@ -19,6 +19,7 @@ package org.apache.maven.lifecycle; * under the License. */ +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -54,8 +55,18 @@ public class Lifecycle private String id; + /** + * @since 3.6.0 + */ + private List<String> prePhases = new ArrayList<>(); + private List<String> phases; + /** + * @since 3.6.0 + */ + private List<String> postPhases = new ArrayList<>(); + private Map<String, LifecyclePhase> defaultPhases; public String getId() @@ -63,11 +74,30 @@ public class Lifecycle return this.id; } + public List<String> getPrePhases() + { + return prePhases; + } + public List<String> getPhases() { return this.phases; } + public List<String> getPostPhases() + { + return postPhases; + } + + public List<String> getAllPhases() + { + List<String> allPhases = new ArrayList<>( prePhases.size() + phases.size() + postPhases.size() ); + allPhases.addAll( prePhases ); + allPhases.addAll( phases ); + allPhases.addAll( postPhases ); + return allPhases; + } + public Map<String, LifecyclePhase> getDefaultLifecyclePhases() { return defaultPhases; diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java b/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java index aecf264..10ecfb5 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/MavenExecutionPlan.java @@ -78,7 +78,7 @@ public class MavenExecutionPlan final Lifecycle lifecycle = defaultLifecycles.get( phase ); if ( lifecycle != null ) { - totalPhaseSet.addAll( lifecycle.getPhases() ); + totalPhaseSet.addAll( lifecycle.getAllPhases() ); } } } diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java index 1ddee05..9c8277f 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java @@ -69,7 +69,7 @@ public class DefaultLifecycleMappingDelegate Map<String, Map<Integer, List<MojoExecution>>> mappings = new LinkedHashMap<>(); - for ( String phase : lifecycle.getPhases() ) + for ( String phase : lifecycle.getAllPhases() ) { Map<Integer, List<MojoExecution>> phaseBindings = new TreeMap<>(); diff --git a/maven-core/src/main/resources/META-INF/plexus/components.xml b/maven-core/src/main/resources/META-INF/plexus/components.xml index 3f099cb..4353dbd 100644 --- a/maven-core/src/main/resources/META-INF/plexus/components.xml +++ b/maven-core/src/main/resources/META-INF/plexus/components.xml @@ -34,8 +34,10 @@ under the License. <configuration> <id>default</id> <!-- START SNIPPET: lifecycle --> - <phases> + <prePhases> <phase>validate</phase> + </prePhases> + <phases> <phase>initialize</phase> <phase>generate-sources</phase> <phase>process-sources</phase> @@ -56,9 +58,11 @@ under the License. <phase>integration-test</phase> <phase>post-integration-test</phase> <phase>verify</phase> + </phases> + <postPhases> <phase>install</phase> <phase>deploy</phase> - </phases> + </postPhases> <!-- END SNIPPET: lifecycle --> </configuration> </component> @@ -97,8 +101,10 @@ under the License. <phase>pre-site</phase> <phase>site</phase> <phase>post-site</phase> - <phase>site-deploy</phase> </phases> + <postPhases> + <phase>site-deploy</phase> + </postPhases> <default-phases> <site> org.apache.maven.plugins:maven-site-plugin:3.3:site diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java index 690532c..52d4af5 100644 --- a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java +++ b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java @@ -52,7 +52,7 @@ public class DefaultLifecyclesTest assertNotNull( cycles ); final Lifecycle lifecycle = cycles.get( 0 ); assertEquals( "default", lifecycle.getId() ); - assertEquals( 23, lifecycle.getPhases().size() ); + assertEquals( 23, lifecycle.getAllPhases().size() ); }
