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 2011/02/28 13:07:54 UTC

svn commit: r1075309 - in /maven/maven-3/trunk: maven-compat/src/main/java/org/apache/maven/artifact/repository/ maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ maven-compat/src/main/java/org/apache/maven/repository/ maven-compa...

Author: bentmann
Date: Mon Feb 28 12:07:53 2011
New Revision: 1075309

URL: http://svn.apache.org/viewvc?rev=1075309&view=rev
Log:
o Restored runtime compatibility with plugins that implement custom ArtifactRepositoryLayouts (e.g. appassembler-maven-plugin). The method getId() was added in 3.0 and as such is not implemented by those custom impls. The refactoring done in r1073990 for MNG-4991 eventually made this discrepancy show up during plugin execution.

Modified:
    maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
    maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java
    maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java
    maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java

Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=1075309&r1=1075308&r2=1075309&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java Mon Feb 28 12:07:53 2011
@@ -180,7 +180,7 @@ public class DefaultArtifactRepository
 
         sb.append( "       id: " ).append( getId() ).append( "\n" );
         sb.append( "      url: " ).append( getUrl() ).append( "\n" );
-        sb.append( "   layout: " ).append( layout != null ? layout.getId() : "none" ).append( "\n" );
+        sb.append( "   layout: " ).append( layout != null ? layout : "none" ).append( "\n" );
 
         if ( snapshots != null )
         {

Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java?rev=1075309&r1=1075308&r2=1075309&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java Mon Feb 28 12:07:53 2011
@@ -83,4 +83,11 @@ public class FlatRepositoryLayout
     {
         return pathOfRepositoryMetadata( metadata.getRemoteFilename() );
     }
+
+    @Override
+    public String toString()
+    {
+        return getId();
+    }
+
 }

Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java?rev=1075309&r1=1075308&r2=1075309&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/DefaultMirrorSelector.java Mon Feb 28 12:07:53 2011
@@ -23,6 +23,7 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.List;
 
+import org.apache.maven.RepositoryUtils;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.settings.Mirror;
 import org.codehaus.plexus.component.annotations.Component;
@@ -143,7 +144,7 @@ public class DefaultMirrorSelector
 
     static boolean matchesLayout( ArtifactRepository repository, Mirror mirror )
     {
-        return matchesLayout( repository.getLayout().getId(), mirror.getMirrorOfLayouts() );
+        return matchesLayout( RepositoryUtils.getLayout( repository ), mirror.getMirrorOfLayouts() );
     }
 
     /**

Modified: maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java?rev=1075309&r1=1075308&r2=1075309&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java (original)
+++ maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java Mon Feb 28 12:07:53 2011
@@ -883,6 +883,12 @@ public class LegacyRepositorySystem
             return fallback.pathOfRemoteRepositoryMetadata( metadata );
         }
 
+        @Override
+        public String toString()
+        {
+            return getId();
+        }
+
     }
 
 }

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java?rev=1075309&r1=1075308&r2=1075309&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java Mon Feb 28 12:07:53 2011
@@ -197,7 +197,7 @@ public class RepositoryUtils
         RemoteRepository result = null;
         if ( repo != null )
         {
-            result = new RemoteRepository( repo.getId(), repo.getLayout().getId(), repo.getUrl() );
+            result = new RemoteRepository( repo.getId(), getLayout( repo ), repo.getUrl() );
             result.setPolicy( true, toPolicy( repo.getSnapshots() ) );
             result.setPolicy( false, toPolicy( repo.getReleases() ) );
             result.setAuthentication( toAuthentication( repo.getAuthentication() ) );
@@ -207,6 +207,31 @@ public class RepositoryUtils
         return result;
     }
 
+    public static String getLayout( ArtifactRepository repo )
+    {
+        try
+        {
+            return repo.getLayout().getId();
+        }
+        catch ( LinkageError e )
+        {
+            /*
+             * NOTE: getId() was added in 3.x and is as such not implemented by plugins compiled against 2.x APIs.
+             */
+            String className = repo.getLayout().getClass().getSimpleName();
+            if ( className.endsWith( "RepositoryLayout" ) )
+            {
+                String layout = className.substring( 0, className.length() - "RepositoryLayout".length() );
+                if ( layout.length() > 0 )
+                {
+                    layout = Character.toLowerCase( layout.charAt( 0 ) ) + layout.substring( 1 );
+                    return layout;
+                }
+            }
+            return "";
+        }
+    }
+
     private static RepositoryPolicy toPolicy( ArtifactRepositoryPolicy policy )
     {
         RepositoryPolicy result = null;

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java?rev=1075309&r1=1075308&r2=1075309&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java Mon Feb 28 12:07:53 2011
@@ -136,7 +136,7 @@ public class MavenArtifactRepository
 
         sb.append( "       id: " ).append( getId() ).append( "\n" );
         sb.append( "      url: " ).append( getUrl() ).append( "\n" );
-        sb.append( "   layout: " ).append( layout != null ? layout.getId() : "none" ).append( "\n" );
+        sb.append( "   layout: " ).append( layout != null ? layout : "none" ).append( "\n" );
 
         if ( snapshots != null )
         {

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java?rev=1075309&r1=1075308&r2=1075309&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java Mon Feb 28 12:07:53 2011
@@ -103,4 +103,10 @@ public class DefaultRepositoryLayout
         return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );
     }
 
+    @Override
+    public String toString()
+    {
+        return getId();
+    }
+
 }