You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2009/02/06 17:08:31 UTC

svn commit: r741607 - /maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java

Author: ogusakov
Date: Fri Feb  6 16:08:31 2009
New Revision: 741607

URL: http://svn.apache.org/viewvc?rev=741607&view=rev
Log:
[MERCURY-89] adjusted for classifier in the file name

Modified:
    maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java?rev=741607&r1=741606&r2=741607&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java Fri Feb  6 16:08:31 2009
@@ -57,6 +57,7 @@
 import org.apache.maven.mercury.repository.api.RepositoryException;
 import org.apache.maven.mercury.repository.api.RepositoryReader;
 import org.apache.maven.mercury.util.FileUtil;
+import org.apache.maven.mercury.util.Util;
 import org.codehaus.plexus.lang.DefaultLanguage;
 import org.codehaus.plexus.lang.Language;
 
@@ -406,7 +407,7 @@
     }
 
     // ---------------------------------------------------------------------------------------------------------------
-    private static boolean findLatestSnapshot( ArtifactBasicMetadata bmd, final ArtifactLocation loc, AbstractRepOpResult res )
+    private static boolean findLatestSnapshot( final ArtifactBasicMetadata bmd, final ArtifactLocation loc, AbstractRepOpResult res )
     {
         File binary = new File( loc.getAbsPath() );
 
@@ -416,19 +417,21 @@
         // no real SNAPSHOT file, let's try to find one
         File gavDir = new File( loc.getAbsGavPath() );
         
-        final String regEx = Artifact.SNAPSHOT_TS_REGEX+"\\."+bmd.getCheckedType();
+        String classifier = Util.isEmpty( bmd.getClassifier() ) ? "" : '-'+bmd.getClassifier();
+        
+        final String regEx = Artifact.SNAPSHOT_TS_REGEX + classifier + "\\."+bmd.getCheckedType();
         
         final TreeSet<String> ts = new TreeSet<String>( new VersionComparator() );
         
+        final int pos = bmd.getArtifactId().length() + 1;
+        
         File[] files = gavDir.listFiles( new FilenameFilter()
                                         {
                                             public boolean accept( File dir, String name )
                                             {
                                                 if( name.matches( regEx ) )
                                                 {
-                                                    int pos = loc.getBaseName().length();
-                                                    
-                                                    String ver = name.substring( pos+1, name.lastIndexOf( '.' ) );
+                                                    String ver = name.substring( pos, name.lastIndexOf( '.' ) );
                                                     
                                                     ts.add( ver );