You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/07/22 19:15:50 UTC

svn commit: r796801 - in /maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping: DefaultLifecycleMapping.java LifecycleMapping.java

Author: bentmann
Date: Wed Jul 22 17:15:50 2009
New Revision: 796801

URL: http://svn.apache.org/viewvc?rev=796801&view=rev
Log:
[MNG-4201] Custom packaging break in trunk (rev 784628)

o Restored compat with 2.x, both in terms of lifecycle configuration and API for implementors of custom mappings

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java?rev=796801&r1=796800&r2=796801&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java Wed Jul 22 17:15:50 2009
@@ -22,15 +22,22 @@
 public class DefaultLifecycleMapping
     implements LifecycleMapping
 {
+
     private List<Lifecycle> lifecycles;
 
     private Map<String, Lifecycle> lifecycleMap;
 
-    public Map<String,Lifecycle> getLifecycles()
+    /** @deprecated use lifecycles instead */
+    private Map<String, String> phases;
+
+    /**
+     * Populates the lifecycle map from the injected list of lifecycle mappings (if not already done).
+     */
+    private void initLifecycleMap()
     {
         if ( lifecycleMap == null )
         {
-            lifecycleMap = new HashMap<String,Lifecycle>();
+            lifecycleMap = new HashMap<String, Lifecycle>();
 
             if ( lifecycles != null )
             {
@@ -39,8 +46,62 @@
                     lifecycleMap.put( lifecycle.getId(), lifecycle );
                 }
             }
+            else
+            {
+                /*
+                 * NOTE: This is to provide a migration path for implementors of the legacy API which did not know about
+                 * getLifecycles().
+                 */
+
+                String[] lifecycleIds = { "default", "clean", "site" };
+
+                for ( String lifecycleId : lifecycleIds )
+                {
+                    Map<String, String> phases = getPhases( lifecycleId );
+                    if ( phases != null )
+                    {
+                        Lifecycle lifecycle = new Lifecycle();
+
+                        lifecycle.setId( lifecycleId );
+                        lifecycle.setPhases( phases );
+
+                        lifecycleMap.put( lifecycleId, lifecycle );
+                    }
+                }
+            }
         }
+    }
+
+    public Map<String, Lifecycle> getLifecycles()
+    {
+        initLifecycleMap();
 
         return lifecycleMap;
     }
+
+    public List<String> getOptionalMojos( String lifecycle )
+    {
+        return null;
+    }
+
+    public Map<String, String> getPhases( String lifecycle )
+    {
+        initLifecycleMap();
+
+        Lifecycle lifecycleMapping = lifecycleMap.get( lifecycle );
+
+        if ( lifecycleMapping != null )
+        {
+            return lifecycleMapping.getPhases();
+        }
+        else if ( "default".equals( lifecycle ) )
+        {
+            return phases;
+        }
+        else
+        {
+            return null;
+        }
+    }
+
 }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java?rev=796801&r1=796800&r2=796801&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java Wed Jul 22 17:15:50 2009
@@ -19,9 +19,18 @@
  * under the License.
  */
 
+import java.util.List;
 import java.util.Map;
 
 public interface LifecycleMapping
 {        
-    Map<String,Lifecycle> getLifecycles();
+
+    Map<String, Lifecycle> getLifecycles();
+
+    @Deprecated
+    List<String> getOptionalMojos( String lifecycle );
+
+    @Deprecated
+    Map<String, String> getPhases( String lifecycle );
+
 }