You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2018/09/16 19:09:58 UTC
[maven] 01/02: [MNG-5666] Divide Lifecycle in prePhases,
phases and postPhases
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 <rf...@apache.org>
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() );
}