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"