You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/07/13 06:00:08 UTC

svn commit: r555863 - in /maven/shared/trunk/maven-repository-builder/src: main/java/org/apache/maven/shared/repository/ test/java/org/apache/maven/shared/repository/ test/resources/projects/massembly-218-classifier-dependency/ test/resources/projects/...

Author: jdcasey
Date: Thu Jul 12 21:00:07 2007
New Revision: 555863

URL: http://svn.apache.org/viewvc?view=rev&rev=555863
Log:
Fixing problem with a field in the project builder that isn't there in 2.1-snapshot...just trapping the NoSuchFieldException.

Added:
    maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryAssemblerTest.java
      - copied, changed from r554077, maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryBuilderTest.java
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/pom.xml   (with props)
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/assembly/
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/assembly/repo.xml   (with props)
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/pom.xml   (with props)
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/assembly/
    maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/assembly/repo.xml   (with props)
Removed:
    maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryBuilderTest.java
Modified:
    maven/shared/trunk/maven-repository-builder/src/main/java/org/apache/maven/shared/repository/DefaultRepositoryAssembler.java

Modified: maven/shared/trunk/maven-repository-builder/src/main/java/org/apache/maven/shared/repository/DefaultRepositoryAssembler.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/main/java/org/apache/maven/shared/repository/DefaultRepositoryAssembler.java?view=diff&rev=555863&r1=555862&r2=555863
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/main/java/org/apache/maven/shared/repository/DefaultRepositoryAssembler.java (original)
+++ maven/shared/trunk/maven-repository-builder/src/main/java/org/apache/maven/shared/repository/DefaultRepositoryAssembler.java Thu Jul 12 21:00:07 2007
@@ -586,15 +586,22 @@
     {
         Class klass = DefaultMavenProjectBuilder.class;
 
-        Field field = klass.getDeclaredField( "processedProjectCache" );
+        try
+        {
+            Field field = klass.getDeclaredField( "processedProjectCache" );
 
-        field.setAccessible( true );
+            field.setAccessible( true );
 
-        Object cache = field.get( projectBuilder );
+            Object cache = field.get( projectBuilder );
 
-        cache.getClass().getDeclaredMethod( "clear", null ).invoke( cache, null );
+            cache.getClass().getDeclaredMethod( "clear", null ).invoke( cache, null );
 
-        field.setAccessible( false );
+            field.setAccessible( false );
+        }
+        catch( NoSuchFieldException e )
+        {
+            // fine... no field, no cache. we'll ignore it.
+        }
     }
 
     private void setAlignment( Artifact artifact, Map groupVersionAlignments )

Copied: maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryAssemblerTest.java (from r554077, maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryBuilderTest.java)
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryAssemblerTest.java?view=diff&rev=555863&p1=maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryBuilderTest.java&r1=554077&p2=maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryAssemblerTest.java&r2=555863
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryBuilderTest.java (original)
+++ maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryAssemblerTest.java Thu Jul 12 21:00:07 2007
@@ -24,7 +24,7 @@
 import java.net.URL;
 import java.util.Collections;
 
-public class DefaultRepositoryBuilderTest
+public class DefaultRepositoryAssemblerTest
     extends PlexusTestCase
 {
 
@@ -137,7 +137,8 @@
                                                                                                    .toExternalForm(),
                                                                                    defaultLayout, null, null );
 
-        MavenProject project = getProject( "massembly-210-direct-parent/pom.xml", "massembly.210", "parent", "1.0-SNAPSHOT", true );
+        MavenProject project = getProject( "massembly-210-direct-parent/pom.xml", "massembly.210", "parent",
+                                           "1.0-SNAPSHOT", true );
 
         TestRepositoryBuilderConfigSource cs = new TestRepositoryBuilderConfigSource();
         cs.setProject( project );
@@ -184,9 +185,41 @@
 
         assembler.buildRemoteRepository( repositoryDirectory, repoInfo, cs );
 
-        File parentFile = new File( repositoryDirectory, "massembly/210/parent-on-fs/1.0-SNAPSHOT/parent-on-fs-1.0-SNAPSHOT.pom" );
+        File parentFile = new File( repositoryDirectory,
+                                    "massembly/210/parent-on-fs/1.0-SNAPSHOT/parent-on-fs-1.0-SNAPSHOT.pom" );
 
         assertTrue( parentFile.exists() );
     }
 
+    public void test_MASSEMBLY_218_projectDependencyWithClassifier()
+        throws ProjectBuildingException, RepositoryAssemblyException, IOException, InvalidDependencyVersionException
+    {
+        File repoDir = getTestRemoteRepositoryBasedir();
+
+        ArtifactRepository localRepository = repoFactory.createArtifactRepository( "local", repoDir.getAbsoluteFile()
+                                                                                                   .toURL()
+                                                                                                   .toExternalForm(),
+                                                                                   defaultLayout, null, null );
+
+        MavenProject project = getProject( "massembly-210-direct-parent-on-fs/project/pom.xml", null, null, null, false );
+
+        TestRepositoryBuilderConfigSource cs = new TestRepositoryBuilderConfigSource();
+        cs.setProject( project );
+        cs.setLocalRepository( localRepository );
+
+        DefaultRepositoryAssembler assembler = new DefaultRepositoryAssembler( artifactFactory, artifactResolver,
+                                                                               defaultLayout, repoFactory,
+                                                                               metadataSource, projectBuilder );
+
+        File repositoryDirectory = new File( getBasedir(), "target/test-repositories/massembly-210-direct-parent-on-fs" );
+
+        DefaultRepositoryInfo repoInfo = new DefaultRepositoryInfo();
+
+        assembler.buildRemoteRepository( repositoryDirectory, repoInfo, cs );
+
+        File parentFile = new File( repositoryDirectory,
+                                    "massembly/210/parent-on-fs/1.0-SNAPSHOT/parent-on-fs-1.0-SNAPSHOT.pom" );
+
+        assertTrue( parentFile.exists() );
+    }
 }

Added: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/pom.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/pom.xml?view=auto&rev=555863
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/pom.xml (added)
+++ maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/pom.xml Thu Jul 12 21:00:07 2007
@@ -0,0 +1,24 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>massembly.210</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>massembly.210.test</groupId>
+  <artifactId>massembly-210-direct-parent</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>massembly-210-direct-parent</name>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/assembly/repo.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/assembly/repo.xml?view=auto&rev=555863
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/assembly/repo.xml (added)
+++ maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/assembly/repo.xml Thu Jul 12 21:00:07 2007
@@ -0,0 +1,15 @@
+<assembly>
+  <id>repo</id>
+  <formats>
+    <format>dir</format>
+  </formats>
+  
+  <includeBaseDirectory>false</includeBaseDirectory>
+  
+  <repositories>
+    <repository>
+      <includeMetadata>true</includeMetadata>
+      <outputDirectory>/</outputDirectory>
+    </repository>
+  </repositories>
+</assembly>
\ No newline at end of file

Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/assembly/repo.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-218-classifier-dependency/src/main/assembly/repo.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/pom.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/pom.xml?view=auto&rev=555863
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/pom.xml (added)
+++ maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/pom.xml Thu Jul 12 21:00:07 2007
@@ -0,0 +1,24 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>massembly.210</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  
+  <groupId>massembly.210.test</groupId>
+  <artifactId>massembly-210-direct-parent</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <name>massembly-210-direct-parent</name>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/assembly/repo.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/assembly/repo.xml?view=auto&rev=555863
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/assembly/repo.xml (added)
+++ maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/assembly/repo.xml Thu Jul 12 21:00:07 2007
@@ -0,0 +1,15 @@
+<assembly>
+  <id>repo</id>
+  <formats>
+    <format>dir</format>
+  </formats>
+  
+  <includeBaseDirectory>false</includeBaseDirectory>
+  
+  <repositories>
+    <repository>
+      <includeMetadata>true</includeMetadata>
+      <outputDirectory>/</outputDirectory>
+    </repository>
+  </repositories>
+</assembly>
\ No newline at end of file

Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/assembly/repo.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-219-snapshot-dependency/src/main/assembly/repo.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"