You are viewing a plain text version of this content. The canonical link for it is here.
Posted to m2-dev@maven.apache.org by br...@apache.org on 2005/02/24 05:37:54 UTC
cvs commit: maven-components/maven-core/src/test/resources/projects/base-directory-alignment project-which-needs-directory-alignment.xml
brett 2005/02/23 20:37:54
Modified: maven-core/src/main/java/org/apache/maven/project/path
DefaultPathTranslator.java
maven-core/src/test/java/org/apache/maven/project
ProjectBaseDirectoryAlignmentTest.java
maven-core/src/test/resources/projects/base-directory-alignment
project-which-needs-directory-alignment.xml
Log:
path alignment for files in dependency
Revision Changes Path
1.6 +20 -0 maven-components/maven-core/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java
Index: DefaultPathTranslator.java
===================================================================
RCS file: /home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/project/path/DefaultPathTranslator.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DefaultPathTranslator.java 24 Feb 2005 04:15:47 -0000 1.5
+++ DefaultPathTranslator.java 24 Feb 2005 04:37:54 -0000 1.6
@@ -18,6 +18,7 @@
*/
import org.apache.maven.model.Build;
+import org.apache.maven.model.Dependency;
import org.apache.maven.model.Model;
import org.apache.maven.model.Resource;
@@ -95,6 +96,25 @@
}
}
+ List dependencies = model.getDependencies();
+
+ for ( Iterator i = dependencies.iterator(); i.hasNext(); )
+ {
+ Dependency dependency = (Dependency) i.next();
+
+ s = dependency.getFile();
+
+ if ( s != null )
+ {
+ s = stripBasedirToken( s );
+
+ if ( requiresBaseDirectoryAlignment( s ) )
+ {
+ dependency.setFile( new File( projectFile.getParentFile(), s ).getPath() );
+ }
+ }
+ }
+
s = stripBasedirToken( build.getOutput() );
if ( requiresBaseDirectoryAlignment( s ) )
1.7 +35 -5 maven-components/maven-core/src/test/java/org/apache/maven/project/ProjectBaseDirectoryAlignmentTest.java
Index: ProjectBaseDirectoryAlignmentTest.java
===================================================================
RCS file: /home/cvs/maven-components/maven-core/src/test/java/org/apache/maven/project/ProjectBaseDirectoryAlignmentTest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ProjectBaseDirectoryAlignmentTest.java 23 Dec 2004 23:46:42 -0000 1.6
+++ ProjectBaseDirectoryAlignmentTest.java 24 Feb 2005 04:37:54 -0000 1.7
@@ -1,22 +1,24 @@
package org.apache.maven.project;
+import org.apache.maven.MavenTestCase;
import org.apache.maven.model.Build;
+import org.apache.maven.model.Dependency;
import org.apache.maven.model.Resource;
-import org.apache.maven.MavenTestCase;
import java.io.File;
+import java.util.Iterator;
public class ProjectBaseDirectoryAlignmentTest
extends MavenTestCase
-{
-
+{
+
private String dir = "src/test/resources/projects/base-directory-alignment/";
-
+
public void testProjectDirectoryBaseDirectoryAlignment()
throws Exception
{
File f = getTestFile( dir + "project-which-needs-directory-alignment.xml" );
-
+
MavenProject project = getProject( f, false );
assertNotNull( "Test project can't be null!", project );
@@ -30,5 +32,33 @@
Resource resource = (Resource) build.getResources().get( 0 );
assertTrue( resource.getDirectory().startsWith( getBasedir() ) );
+
+ String relativeFile = null;
+ String absoluteFile = null;
+ String managedDependencyFile = null;
+ for ( Iterator i = project.getDependencies().iterator(); i.hasNext(); )
+ {
+ Dependency d = (Dependency) i.next();
+ if ( d.getGroupId().equals( "g1" ) )
+ {
+ relativeFile = d.getFile();
+ }
+ else if ( d.getGroupId().equals( "g2" ) )
+ {
+ absoluteFile = d.getFile();
+ }
+ else if ( d.getGroupId().equals( "g3" ) )
+ {
+ managedDependencyFile = d.getFile();
+ }
+ }
+
+ assertNotNull( "Required dependency missing: g1:d1", relativeFile );
+ assertNotNull( "Required dependency missing: g2:d2", absoluteFile );
+ assertNotNull( "Required dependency missing: g3:d3", managedDependencyFile );
+
+ assertTrue( "Relative file not adjusted", relativeFile.startsWith( getBasedir() ) );
+ assertEquals( "Absolute file was incorrectly modified", "/top/level/path", absoluteFile );
+ assertTrue( "Managed dependency not adjusted", managedDependencyFile.startsWith( getBasedir() ) );
}
}
1.3 +19 -0 maven-components/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml
Index: project-which-needs-directory-alignment.xml
===================================================================
RCS file: /home/cvs/maven-components/maven-core/src/test/resources/projects/base-directory-alignment/project-which-needs-directory-alignment.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- project-which-needs-directory-alignment.xml 5 Dec 2004 04:16:06 -0000 1.2
+++ project-which-needs-directory-alignment.xml 24 Feb 2005 04:37:54 -0000 1.3
@@ -64,6 +64,7 @@
<artifactId>d1</artifactId>
<version>1.0</version>
<url>d1-url</url>
+ <file>foo/bar</file>
</dependency>
<dependency>
@@ -71,10 +72,28 @@
<artifactId>d2</artifactId>
<version>2.0</version>
<url>d2-url</url>
+ <file>/top/level/path</file>
+ </dependency>
+
+ <dependency>
+ <groupId>g3</groupId>
+ <artifactId>d3</artifactId>
</dependency>
</dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>g3</groupId>
+ <artifactId>d3</artifactId>
+ <version>3.0</version>
+ <url>d3-url</url>
+ <file>g3/d3</file>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<build>
<nagEmailAddress>jason@maven.org</nagEmailAddress>
<sourceDirectory>sourceDirectory</sourceDirectory>