You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/04/23 08:24:09 UTC

svn commit: r164346 - /maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout /maven/components/trunk/maven-core-it-verifier/src/main/java/org/apache/maven/it /maven/components/trunk/maven-core/src/main/java/org/apache/maven /maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact /maven/components/trunk/maven-mboot2/src/main/java /maven/components/trunk/maven-mboot2/src/main/java/download /maven/components/trunk/maven-mboot2/src/main/java/model /maven/components/trunk/maven-mboot2/src/main/java/util /maven/components/trunk/maven-model /maven/components/trunk/maven-project/src/main/java/org/apache/maven/project

Author: brett
Date: Fri Apr 22 23:24:08 2005
New Revision: 164346

URL: http://svn.apache.org/viewcvs?rev=164346&view=rev
Log:
fixes related to changing the path of parent poms, though the actual functionality is not implemented

Modified:
    maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
    maven/components/trunk/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/MavenMetadataSource.java
    maven/components/trunk/maven-mboot2/src/main/java/MBoot.java
    maven/components/trunk/maven-mboot2/src/main/java/download/ArtifactDownloader.java
    maven/components/trunk/maven-mboot2/src/main/java/model/ModelReader.java
    maven/components/trunk/maven-mboot2/src/main/java/model/Repository.java
    maven/components/trunk/maven-mboot2/src/main/java/util/AbstractReader.java
    maven/components/trunk/maven-model/pom.xml
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java Fri Apr 22 23:24:08 2005
@@ -49,8 +49,11 @@
         StringBuffer path = new StringBuffer();
 
         path.append( artifact.getGroupId().replace( '.', '/' ) ).append( '/' );
+//        if ( !artifact.getType().equals( "pom" ) )
+//        {
         path.append( artifact.getArtifactId() ).append( '/' );
         path.append( artifact.getBaseVersion() ).append( '/' );
+//        }
         path.append( artifact.getArtifactId() ).append( '-' ).append( artifact.getVersion() );
 
         if ( artifact.hasClassifier() )
@@ -74,8 +77,12 @@
         StringBuffer path = new StringBuffer();
 
         path.append( artifact.getGroupId().replace( '.', '/' ) ).append( '/' );
+//        if ( !artifact.getType().equals( "pom" ) )
+//        {
         path.append( artifact.getArtifactId() ).append( '/' );
         path.append( artifact.getBaseVersion() ).append( '/' );
+//        }
+
         path.append( metadata.getFilename() );
 
         return path.toString();

Modified: maven/components/trunk/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java (original)
+++ maven/components/trunk/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java Fri Apr 22 23:24:08 2005
@@ -223,8 +223,11 @@
         }
         else if ( "default".equals( localRepoLayout ) )
         {
-            String pathGroup = a[0].replace( '.', '/' );
-            repositoryPath = pathGroup + "/" + a[1] + "/" + a[2];
+            repositoryPath = a[0].replace( '.', '/' );
+//            if ( !a[3].equals( "pom" ) )
+//            {
+            repositoryPath = repositoryPath + "/" + a[1] + "/" + a[2];
+//            }
             repositoryPath = repositoryPath + "/" + a[1] + "-" + a[2] + "." + ext;
         }
         else

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Fri Apr 22 23:24:08 2005
@@ -378,6 +378,13 @@
             line();
         }
 
+        if ( getLogger().isDebugEnabled() )
+        {
+            getLogger().debug( "Trace", e );
+
+            line();
+        }
+
         stats( r.getStart(), r.getFinish() );
 
         line();

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/MavenMetadataSource.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/MavenMetadataSource.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/artifact/MavenMetadataSource.java Fri Apr 22 23:24:08 2005
@@ -21,6 +21,7 @@
 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.layout.ArtifactPathFormatException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.model.Dependency;
@@ -32,6 +33,7 @@
 import org.apache.maven.wagon.util.IoUtils;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
+import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
@@ -74,9 +76,9 @@
     public Set retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
         throws ArtifactMetadataRetrievalException
     {
-        Artifact metadataArtifact = artifactFactory.createArtifact( artifact.getGroupId(), artifact.getArtifactId(),
-                                                                    artifact.getBaseVersion(), artifact.getScope(),
-                                                                    "pom", null );
+        // TODO: only metadata is really needed - resolve as metadata
+        artifact = artifactFactory.createArtifact( artifact.getGroupId(), artifact.getArtifactId(),
+                                                   artifact.getVersion(), artifact.getScope(), "pom" );
 
         List dependencies = null;
 
@@ -86,7 +88,7 @@
         {
             try
             {
-                MavenProject p = mavenProjectBuilder.buildFromRepository( metadataArtifact, remoteRepositories,
+                MavenProject p = mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories,
                                                                           localRepository );
                 dependencies = p.getDependencies();
             }
@@ -103,7 +105,7 @@
 
             try
             {
-                artifactResolver.resolve( metadataArtifact, remoteRepositories, localRepository );
+                artifactResolver.resolve( artifact, remoteRepositories, localRepository );
             }
             catch ( ArtifactResolutionException e )
             {
@@ -113,7 +115,10 @@
             FileReader reader = null;
             try
             {
-                reader = new FileReader( metadataArtifact.getFile() );
+//                String path = localRepository.pathOfMetadata( new ProjectArtifactMetadata( artifact, null ) );
+//                File file = new File( localRepository.getBasedir(), path );
+                File file = artifact.getFile();
+                reader = new FileReader( file );
                 Model model = this.reader.read( reader );
                 dependencies = model.getDependencies();
             }

Modified: maven/components/trunk/maven-mboot2/src/main/java/MBoot.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-mboot2/src/main/java/MBoot.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-mboot2/src/main/java/MBoot.java (original)
+++ maven/components/trunk/maven-mboot2/src/main/java/MBoot.java Fri Apr 22 23:24:08 2005
@@ -37,7 +37,8 @@
 {
     String[] builds = new String[]{"maven-model", "maven-settings", "maven-monitor", "maven-plugin-api",
                                    "maven-plugin-descriptor", "maven-artifact", "maven-script/maven-script-marmalade",
-                                   "maven-project", "maven-core", "maven-archiver", "maven-plugin-tools/maven-plugin-tools-api",
+                                   "maven-project", "maven-core", "maven-archiver",
+                                   "maven-plugin-tools/maven-plugin-tools-api",
                                    "maven-plugin-tools/maven-plugin-tools-java",
                                    "maven-plugin-tools/maven-plugin-tools-pluggy",
                                    "maven-plugin-tools/maven-plugin-tools-marmalade", "maven-core-it-verifier"};
@@ -733,7 +734,8 @@
 
         String groupId = reader.getGroupId();
 
-        File pom = localRepository.getArtifactFile( groupId, artifactId, version, "pom" );
+        File pom = localRepository.getMetadataFile( groupId, artifactId, version, reader.getPackaging(),
+                                                    artifactId + "-" + version + ".pom" );
 
         System.out.println( "Installing POM: " + pom );
 
@@ -759,6 +761,8 @@
         {
             File metadata = localRepository.getMetadataFile( groupId, artifactId, version, type,
                                                              finalName + ".version.txt" );
+
+            metadata.getParentFile().mkdirs();
 
             IOUtil.copy( new StringReader( version ), new FileWriter( metadata ) );
         }

Modified: maven/components/trunk/maven-mboot2/src/main/java/download/ArtifactDownloader.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-mboot2/src/main/java/download/ArtifactDownloader.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-mboot2/src/main/java/download/ArtifactDownloader.java (original)
+++ maven/components/trunk/maven-mboot2/src/main/java/download/ArtifactDownloader.java Fri Apr 22 23:24:08 2005
@@ -92,11 +92,6 @@
                     continue;
                 }
 
-                if ( destinationFile.exists() && !snapshot )
-                {
-                    continue;
-                }
-
                 getRemoteArtifact( dep, destinationFile );
 
                 if ( !destinationFile.exists() )
@@ -139,56 +134,72 @@
         {
             Repository remoteRepo = (Repository) i.next();
 
-            // The username and password parameters are not being
-            // used here. Those are the "" parameters you see below.
+            // The username and password parameters are not being used here.
             String url = remoteRepo.getBasedir() + "/" + remoteRepo.getArtifactPath( dep );
 
-            if ( !url.startsWith( "file" ) )
-            {
-                url = replace( url, "//", "/" );
-                if ( url.startsWith( "https" ) )
-                {
-                    url = replace( url, "https:/", "https://" );
-                }
-                else
-                {
-                    url = replace( url, "http:/", "http://" );
-                }
-            }
-            else
-            {
-                // THe JDK URL for file: should have one or no / instead of // for some reason
-                url = replace( url, "file://", "file:" );
-            }
-
             // Attempt to retrieve the artifact and set the checksum if retrieval
             // of the checksum file was successful.
             try
             {
+                String version = dep.getVersion();
                 if ( isSnapshot( dep ) )
                 {
-                    String filename = getSnapshotMetadataFile( destinationFile.getPath(), "SNAPSHOT.version.txt" );
-                    String metaUrl = getSnapshotMetadataFile( url, "SNAPSHOT.version.txt" );
+                    String filename = getSnapshotMetadataFile( destinationFile.getName(), "SNAPSHOT.version.txt" );
+                    File file = localRepository.getMetadataFile( dep.getGroupId(), dep.getArtifactId(),
+                                                                 dep.getVersion(), dep.getType(), filename );
+                    String metadataPath = remoteRepo.getMetadataPath( dep.getGroupId(), dep.getArtifactId(),
+                                                                      dep.getVersion(), dep.getType(), filename );
+                    String metaUrl = remoteRepo.getBasedir() + "/" + metadataPath;
                     log( "Downloading " + metaUrl );
                     try
                     {
-                        HttpUtils.getFile( metaUrl, new File( filename ), ignoreErrors, false, proxyHost, proxyPort,
-                                           proxyUserName, proxyPassword, false );
-                        String version = FileUtils.fileRead( filename );
+                        HttpUtils.getFile( metaUrl, file, ignoreErrors, false, proxyHost, proxyPort, proxyUserName,
+                                           proxyPassword, false );
+                        version = FileUtils.fileRead( file );
                         log( "Resolved version: " + version );
-                        version = version.substring( version.lastIndexOf( "-", version.lastIndexOf( "-" ) - 1 ) + 1 );
+                        String ver = version.substring( version.lastIndexOf( "-", version.lastIndexOf( "-" ) - 1 ) + 1 );
                         String extension = url.substring( url.length() - 4 );
-                        url = getSnapshotMetadataFile( url, version + extension );
+                        url = getSnapshotMetadataFile( url, ver + extension );
                     }
                     catch ( IOException e )
                     {
-                        log( "WARNING: SNAPSHOT version not found, using default" );
+                        log( "WARNING: SNAPSHOT version not found, using default: " + e.getMessage() );
+                    }
+                }
+                if ( !dep.getType().equals( "pom" ) )
+                {
+                    File file = localRepository.getMetadataFile( dep.getGroupId(), dep.getArtifactId(),
+                                                                 dep.getVersion(), dep.getType(),
+                                                                 dep.getArtifactId() + "-" + dep.getVersion() + ".pom" );
+
+                    file.getParentFile().mkdirs();
+
+                    if ( !file.exists() || version.indexOf( "SNAPSHOT" ) >= 0 )
+                    {
+                        String filename = dep.getArtifactId() + "-" + version + ".pom";
+                        String metadataPath = remoteRepo.getMetadataPath( dep.getGroupId(), dep.getArtifactId(),
+                                                                          dep.getVersion(), dep.getType(), filename );
+                        String metaUrl = remoteRepo.getBasedir() + "/" + metadataPath;
+                        log( "Downloading " + metaUrl );
+
+                        try
+                        {
+                            HttpUtils.getFile( metaUrl, file, ignoreErrors, false, proxyHost, proxyPort, proxyUserName,
+                                               proxyPassword, false );
+                        }
+                        catch ( IOException e )
+                        {
+                            log( "Couldn't find POM - ignoring: " + e.getMessage() );
+                        }
                     }
                 }
 
-                log( "Downloading " + url );
-                HttpUtils.getFile( url, destinationFile, ignoreErrors, useTimestamp, proxyHost, proxyPort,
-                                   proxyUserName, proxyPassword, true );
+                if ( !destinationFile.exists() || version.indexOf( "SNAPSHOT" ) >= 0 )
+                {
+                    log( "Downloading " + url );
+                    HttpUtils.getFile( url, destinationFile, ignoreErrors, useTimestamp, proxyHost, proxyPort,
+                                       proxyUserName, proxyPassword, true );
+                }
 
                 // Artifact was found, continue checking additional remote repos (if any)
                 // in case there is a newer version (i.e. snapshots) in another repo

Modified: maven/components/trunk/maven-mboot2/src/main/java/model/ModelReader.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-mboot2/src/main/java/model/ModelReader.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-mboot2/src/main/java/model/ModelReader.java (original)
+++ maven/components/trunk/maven-mboot2/src/main/java/model/ModelReader.java Fri Apr 22 23:24:08 2005
@@ -202,7 +202,7 @@
             }
 
             // actually, these should be transtive (see MNG-77) - but some projects have circular deps that way (marmalade, and currently m2)
-            ModelReader p = retrievePom( parentGroupId, parentArtifactId, parentVersion, false );
+            ModelReader p = retrievePom( parentGroupId, parentArtifactId, parentVersion, "pom", false );
 
             addDependencies( p.getDependencies(), parentDependencies, null );
 
@@ -219,7 +219,8 @@
                 if ( resolveTransitiveDependencies )
                 {
                     ModelReader p = retrievePom( currentDependency.getGroupId(), currentDependency.getArtifactId(),
-                                                 currentDependency.getVersion(), resolveTransitiveDependencies );
+                                                 currentDependency.getVersion(), currentDependency.getType(),
+                                                 resolveTransitiveDependencies );
 
                     addDependencies( p.getDependencies(), transitiveDependencies, currentDependency.getScope() );
                 }
@@ -383,7 +384,7 @@
         return false;
     }
 
-    private ModelReader retrievePom( String groupId, String artifactId, String version,
+    private ModelReader retrievePom( String groupId, String artifactId, String version, String type,
                                      boolean resolveTransitiveDependencies )
         throws SAXException
     {
@@ -400,11 +401,13 @@
 
         try
         {
-            Dependency pom = new Dependency( groupId, artifactId, version, "pom" );
+            Dependency pom = new Dependency( groupId, artifactId, version, type );
             downloader.downloadDependencies( Collections.singletonList( pom ) );
 
             Repository localRepository = downloader.getLocalRepository();
-            p.parse( localRepository.getArtifactFile( pom ) );
+            p.parse(
+                localRepository.getMetadataFile( groupId, artifactId, version, type,
+                                                 artifactId + "-" + version + ".pom" ) );
         }
         catch ( IOException e )
         {

Modified: maven/components/trunk/maven-mboot2/src/main/java/model/Repository.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-mboot2/src/main/java/model/Repository.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-mboot2/src/main/java/model/Repository.java (original)
+++ maven/components/trunk/maven-mboot2/src/main/java/model/Repository.java Fri Apr 22 23:24:08 2005
@@ -69,8 +69,11 @@
         }
         else if ( LAYOUT_DEFAULT.equals( layout ) )
         {
-            String pathGroup = dependency.getGroupId().replace( '.', '/' );
-            repositoryPath = pathGroup + "/" + dependency.getArtifactId() + "/" + dependency.getVersion();
+            repositoryPath = dependency.getGroupId().replace( '.', '/' );
+//            if ( !dependency.getType().equals( "pom" ) )
+//            {
+            repositoryPath = repositoryPath + "/" + dependency.getArtifactId() + "/" + dependency.getVersion();
+//            }
             repositoryPath = repositoryPath + "/" + dependency.getArtifact();
         }
         else
@@ -82,6 +85,13 @@
 
     public File getMetadataFile( String groupId, String artifactId, String version, String type, String filename )
     {
+        String repositoryPath = getMetadataPath( groupId, artifactId, version, type, filename );
+
+        return new File( basedir, repositoryPath );
+    }
+
+    public String getMetadataPath( String groupId, String artifactId, String version, String type, String filename )
+    {
         Dependency dependency = new Dependency( groupId, artifactId, version, type );
 
         String repositoryPath;
@@ -91,16 +101,18 @@
         }
         else if ( LAYOUT_DEFAULT.equals( layout ) )
         {
-            String pathGroup = dependency.getGroupId().replace( '.', '/' );
-            repositoryPath = pathGroup + "/" + dependency.getArtifactId() + "/" + dependency.getVersion();
+            repositoryPath = dependency.getGroupId().replace( '.', '/' );
+//            if ( !dependency.getType().equals( "pom" ) )
+//            {
+            repositoryPath = repositoryPath + "/" + dependency.getArtifactId() + "/" + dependency.getVersion();
+//            }
             repositoryPath = repositoryPath + "/" + filename;
         }
         else
         {
             throw new IllegalStateException( "Unknown layout: " + layout );
         }
-
-        return new File( basedir, repositoryPath );
+        return repositoryPath;
     }
 
     public String toString()

Modified: maven/components/trunk/maven-mboot2/src/main/java/util/AbstractReader.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-mboot2/src/main/java/util/AbstractReader.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-mboot2/src/main/java/util/AbstractReader.java (original)
+++ maven/components/trunk/maven-mboot2/src/main/java/util/AbstractReader.java Fri Apr 22 23:24:08 2005
@@ -58,7 +58,15 @@
 
         InputSource is = new InputSource( new StringReader( out ) );
 
-        parser.parse( is, this );
+        try
+        {
+            parser.parse( is, this );
+        }
+        catch ( SAXException e )
+        {
+            System.err.println( "Error reading POM: " + file );
+            throw e;
+        }
     }
 
     public void warning( SAXParseException spe )

Modified: maven/components/trunk/maven-model/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/pom.xml?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-model/pom.xml (original)
+++ maven/components/trunk/maven-model/pom.xml Fri Apr 22 23:24:08 2005
@@ -20,7 +20,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-modello-plugin</artifactId>
-        <version>1.0-alpha-1</version>
+        <version>1.0-alpha-2-SNAPSHOT</version>
         <configuration>
           <version>4.0.0</version>
           <model>maven.mdo</model>

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=164346&r1=164345&r2=164346&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri Apr 22 23:24:08 2005
@@ -185,13 +185,18 @@
         {
             try
             {
+                // TODO: can't assume artifact is a POM
                 artifactResolver.resolve( artifact, remoteArtifactRepositories, localRepository );
             }
             catch ( ArtifactResolutionException e )
             {
                 throw new ProjectBuildingException( "Unable to find artifact: " + artifact.toString(), e );
             }
-            model = readModel( artifact.getFile() );
+
+//                String path = localRepository.pathOfMetadata( new ProjectArtifactMetadata( artifact, null ) );
+//                File file = new File( localRepository.getBasedir(), path );
+            File file = artifact.getFile();
+            model = readModel( file );
         }
         return model;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org