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"