[jboss-svn-commits] JBL Code SVN: r13561 - labs/jbossbuild/maven-plugins/trunk/maven-test-ext-plugin/src/main/java/org/jboss/maven/plugins/test/ext.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jul 16 18:09:19 EDT 2007


Author: steve.ebersole at jboss.com
Date: 2007-07-16 18:09:18 -0400 (Mon, 16 Jul 2007)
New Revision: 13561

Modified:
   labs/jbossbuild/maven-plugins/trunk/maven-test-ext-plugin/src/main/java/org/jboss/maven/plugins/test/ext/ExtenderMojo.java
Log:
account for 'alignToBaseDirectory' functionality

Modified: labs/jbossbuild/maven-plugins/trunk/maven-test-ext-plugin/src/main/java/org/jboss/maven/plugins/test/ext/ExtenderMojo.java
===================================================================
--- labs/jbossbuild/maven-plugins/trunk/maven-test-ext-plugin/src/main/java/org/jboss/maven/plugins/test/ext/ExtenderMojo.java	2007-07-16 21:04:10 UTC (rev 13560)
+++ labs/jbossbuild/maven-plugins/trunk/maven-test-ext-plugin/src/main/java/org/jboss/maven/plugins/test/ext/ExtenderMojo.java	2007-07-16 22:09:18 UTC (rev 13561)
@@ -66,6 +66,8 @@
  */
 public class ExtenderMojo extends AbstractMojo implements LogEnabled {
 
+	public static final String FILE_SEPARATOR = "/";
+
 	/**
 	 * INTERNAL : The Maven project
 	 *
@@ -263,12 +265,48 @@
 		Iterator itr = resources.iterator();
 		while ( itr.hasNext() ) {
 			final Resource resource = ( Resource ) itr.next();
+			alignToBaseDirectory( resource );
 			project.addTestResource( resource );
 		}
 	}
 
+	private void alignToBaseDirectory(Resource resource) {
+		resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), project.getBasedir() ) );
+	}
+
+	public String alignToBaseDirectory(String path, File basedir) {
+		String s = stripBasedirToken( path );
+
+		if ( requiresBaseDirectoryAlignment( s ) ) {
+			s = new File( basedir, s ).getAbsolutePath();
+		}
+
+		return s;
+	}
+
+	private String stripBasedirToken(String s) {
+		if ( s != null ) {
+			s = s.trim();
+
+			if ( s.startsWith( "${basedir}" ) ) {
+				// Take out ${basedir} and the leading slash
+				s = s.substring( 11 );
+			}
+		}
+
+		return s;
+	}
+
+	private boolean requiresBaseDirectoryAlignment(String s) {
+		if ( s != null ) {
+			File f = new File( s );
+			return !( s.startsWith( FILE_SEPARATOR ) || f.isAbsolute() );
+		}
+
+		return false;
+	}
+
 	private String buildInfo(AbstractArtifactResolutionException e) {
 		return "[" + e.getGroupId() + ":" + e.getArtifactId() + ":" + e.getVersion() + "]";
 	}
-
 }




More information about the jboss-svn-commits mailing list