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/06 19:59:04 UTC
svn commit: r553974 - in
/maven/shared/trunk/maven-repository-builder/src/test:
java/org/apache/maven/shared/repository/
resources/projects/massembly-210-direct-parent-on-fs/
resources/projects/massembly-210-direct-parent-on-fs/project/
resources/proje...
Author: jdcasey
Date: Fri Jul 6 10:59:03 2007
New Revision: 553974
URL: http://svn.apache.org/viewvc?view=rev&rev=553974
Log:
Adding unit test that is failing...it's commented out in the unit test source, so it won't run.
Added:
maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/
maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/pom.xml (with props)
maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/
maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/pom.xml (with props)
maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/
maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/main/
maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/main/assembly/
maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/main/assembly/repo.xml (with props)
Modified:
maven/shared/trunk/maven-repository-builder/src/test/java/org/apache/maven/shared/repository/DefaultRepositoryBuilderTest.java
Modified: 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/DefaultRepositoryBuilderTest.java?view=diff&rev=553974&r1=553973&r2=553974
==============================================================================
--- 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/DefaultRepositoryBuilderTest.java Fri Jul 6 10:59:03 2007
@@ -18,6 +18,7 @@
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.shared.repository.model.DefaultRepositoryInfo;
import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.logging.Logger;
import java.io.File;
import java.io.IOException;
@@ -49,6 +50,8 @@
{
super.setUp();
+ getContainer().getLoggerManager().setThreshold( Logger.LEVEL_DEBUG );
+
projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.class.getName() );
defaultLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.class.getName(), "default" );
@@ -64,17 +67,22 @@
}
- private MavenProject getProject( String projectResource, String parentGroupId, String parentArtifactId, String parentVersion )
+ private MavenProject getProject( String projectResource, String parentGroupId, String parentArtifactId,
+ String parentVersion, boolean preCacheParent )
throws ProjectBuildingException, IOException, InvalidDependencyVersionException
{
ClassLoader cloader = Thread.currentThread().getContextClassLoader();
URL res = cloader.getResource( "projects/" + projectResource );
- File projectFile = new File( res.getPath() );
+ File projectFile = new File( res.getPath() ).getAbsoluteFile();
- // pre-load the parent model...this is a hack!
- Artifact parentArtifact = artifactFactory.createParentArtifact( parentGroupId, parentArtifactId, parentVersion );
- projectBuilder.buildFromRepository( parentArtifact, Collections.EMPTY_LIST, localRepository );
+ if ( preCacheParent )
+ {
+ // pre-load the parent model...this is a hack!
+ Artifact parentArtifact = artifactFactory.createParentArtifact( parentGroupId, parentArtifactId,
+ parentVersion );
+ projectBuilder.buildFromRepository( parentArtifact, Collections.EMPTY_LIST, localRepository );
+ }
MavenProject project = projectBuilder.build( projectFile, localRepository, getProfileManager() );
@@ -83,7 +91,8 @@
return project;
}
- private ProfileManager getProfileManager() throws IOException
+ private ProfileManager getProfileManager()
+ throws IOException
{
if ( profileManager == null )
{
@@ -126,13 +135,12 @@
{
File repoDir = getTestRemoteRepositoryBasedir();
- ArtifactRepository localRepository = repoFactory.createArtifactRepository(
- "local",
- repoDir.getAbsoluteFile().toURL().toExternalForm(),
+ ArtifactRepository localRepository = repoFactory.createArtifactRepository( "local", repoDir.getAbsoluteFile()
+ .toURL()
+ .toExternalForm(),
defaultLayout, null, null );
-
- MavenProject project = getProject( "massembly-210-direct-parent/pom.xml", "massembly.210", "parent", "1.0-SNAPSHOT" );
+ MavenProject project = getProject( "massembly-210-direct-parent/pom.xml", "massembly.210", "parent", "1.0-SNAPSHOT", true );
TestRepositoryBuilderConfigSource cs = new TestRepositoryBuilderConfigSource();
cs.setProject( project );
@@ -153,4 +161,40 @@
assertTrue( parentFile.exists() );
}
+ // TODO: This is not working, because all projects in addPomWithAncestry(..) are
+ // assumed to come from the repository...maybe we can start being a little smarter on this
+ // by using p.getFile() != null && p.getFile().exists() checks for ancestor poms...
+ // seems like something like that was in at one point, but broke many things...
+/*
+ public void test_MASSEMBLY_210_projectParentIsNotInRepository()
+ 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-210-direct-parent-on-fs/pom.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/pom.xml?view=auto&rev=553974
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/pom.xml (added)
+++ maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/pom.xml Fri Jul 6 10:59:03 2007
@@ -0,0 +1,8 @@
+<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>
+ <groupId>massembly.210</groupId>
+ <artifactId>parent-on-fs</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-SNAPSHOT</version>
+</project>
Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/pom.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/pom.xml?view=auto&rev=553974
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/pom.xml (added)
+++ maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/pom.xml Fri Jul 6 10:59:03 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-on-fs</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>massembly.210.test</groupId>
+ <artifactId>massembly-210-direct-parent-on-fs</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>massembly-210-direct-parent-on-fs</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-210-direct-parent-on-fs/project/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/main/assembly/repo.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/main/assembly/repo.xml?view=auto&rev=553974
==============================================================================
--- maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/main/assembly/repo.xml (added)
+++ maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/main/assembly/repo.xml Fri Jul 6 10:59:03 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-210-direct-parent-on-fs/project/src/main/assembly/repo.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/shared/trunk/maven-repository-builder/src/test/resources/projects/massembly-210-direct-parent-on-fs/project/src/main/assembly/repo.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"