You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/07/28 11:26:51 UTC
svn commit: r798466 -
/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
Author: bentmann
Date: Tue Jul 28 09:26:51 2009
New Revision: 798466
URL: http://svn.apache.org/viewvc?rev=798466&view=rev
Log:
[MNG-4262] Make-like reactor mode fails to find projects selected by relative paths with leading dots
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=798466&r1=798465&r2=798466&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Tue Jul 28 09:26:51 2009
@@ -438,29 +438,37 @@
private boolean isMatchingProject( MavenProject project, String selector, File reactorDirectory )
{
- String id = ':' + project.getArtifactId();
-
- if ( id.equals( selector ) )
+ // [groupId]:artifactId
+ if ( selector.indexOf( ':' ) >= 0 )
{
- return true;
- }
+ String id = ':' + project.getArtifactId();
- id = project.getGroupId() + id;
-
- if ( id.equals( selector ) )
- {
- return true;
+ if ( id.equals( selector ) )
+ {
+ return true;
+ }
+
+ id = project.getGroupId() + id;
+
+ if ( id.equals( selector ) )
+ {
+ return true;
+ }
}
- File selectedProject = new File( reactorDirectory, selector );
-
- if ( selectedProject.isFile() )
- {
- return selectedProject.equals( project.getFile() );
- }
- else if ( selectedProject.isDirectory() )
+ // relative path, e.g. "sub", "../sub" or "."
+ else
{
- return selectedProject.equals( project.getBasedir() );
+ File selectedProject = new File( new File( reactorDirectory, selector ).toURI().normalize() );
+
+ if ( selectedProject.isFile() )
+ {
+ return selectedProject.equals( project.getFile() );
+ }
+ else if ( selectedProject.isDirectory() )
+ {
+ return selectedProject.equals( project.getBasedir() );
+ }
}
return false;