Author: jdcasey
Date: Mon Feb 25 11:29:03 2008
New Revision: 630965

URL: http://svn.apache.org/viewvc?rev=630965&view=rev
Log:
[MASSEMBLY-256] Adding support for 'project.' expressions in outputDirectory, 
outputFileNameMapping, and outputDirectoryMapping.

Modified:
    maven/plugins/trunk/maven-assembly-plugin/pom.xml
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddFileSetsTask.java
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
    
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java

Modified: maven/plugins/trunk/maven-assembly-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/pom.xml?rev=630965&r1=630964&r2=630965&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/pom.xml Mon Feb 25 11:29:03 2008
@@ -434,7 +434,7 @@
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
       <artifactId>maven-repository-builder</artifactId>
-      <version>1.0-alpha-3-SNAPSHOT</version>
+      <version>1.0-alpha-2</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddFileSetsTask.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddFileSetsTask.java?rev=630965&r1=630964&r2=630965&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddFileSetsTask.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddFileSetsTask.java
 Mon Feb 25 11:29:03 2008
@@ -111,6 +111,8 @@
             destDirectory = fileSet.getDirectory();
         }
 
+        destDirectory = AssemblyFormatUtils.getOutputDirectory( destDirectory, 
configSource.getProject(), project, configSource.getFinalName(), 
artifactExpressionPrefix );
+
         if ( logger.isDebugEnabled() )
         {
             logger.debug( "FileSet[" + destDirectory + "]" + " dir perms: "
@@ -118,8 +120,6 @@
                 + Integer.toString( archiver.getDefaultFileMode(), 8 )
                 + ( fileSet.getLineEnding() == null ? "" : " lineEndings: " + 
fileSet.getLineEnding() ) );
         }
-
-        destDirectory = AssemblyFormatUtils.getOutputDirectory( destDirectory, 
configSource.getProject(), project, configSource.getFinalName(), 
artifactExpressionPrefix );
 
         logger.debug( "The archive base directory is '" + archiveBaseDir + "'" 
);
 

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java?rev=630965&r1=630964&r2=630965&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtils.java
 Mon Feb 25 11:29:03 2008
@@ -133,6 +133,7 @@
         if ( mainProject != null )
         {
             interpolator.addValueSource( new PrefixedObjectBasedValueSource( 
"pom.", mainProject ) );
+            interpolator.addValueSource( new PrefixedObjectBasedValueSource( 
"project.", mainProject ) );
         }
 
         if ( artifactProject != null )
@@ -152,6 +153,7 @@
             // 6
             interpolator.addValueSource( new 
PropertiesInterpolationValueSource( mainProject.getProperties() ) );
             interpolator.addValueSource( new 
PrefixedPropertiesInterpolationValueSource( "pom.properties.", 
mainProject.getProperties() ) );
+            interpolator.addValueSource( new 
PrefixedPropertiesInterpolationValueSource( "project.properties.", 
mainProject.getProperties() ) );
         }
 
         // 7
@@ -266,6 +268,7 @@
         {
             // 3
             interpolator.addValueSource( new PrefixedObjectBasedValueSource( 
"pom.", mainProject ) );
+            interpolator.addValueSource( new PrefixedObjectBasedValueSource( 
"project.", mainProject ) );
 
             // 4
             interpolator.addValueSource( new ObjectBasedValueSource( 
mainProject ) );
@@ -291,6 +294,7 @@
             // 6
             interpolator.addValueSource( new 
PropertiesInterpolationValueSource( mainProject.getProperties() ) );
             interpolator.addValueSource( new 
PrefixedPropertiesInterpolationValueSource( "pom.properties.", 
mainProject.getProperties() ) );
+            interpolator.addValueSource( new 
PrefixedPropertiesInterpolationValueSource( "project.properties.", 
mainProject.getProperties() ) );
         }
 
         // 7

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java?rev=630965&r1=630964&r2=630965&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/utils/AssemblyFormatUtilsTest.java
 Mon Feb 25 11:29:03 2008
@@ -122,6 +122,30 @@
         verifyOutputDir( "${pom.build.finalName}", null, null, null, null, 
"finalName", "finalName/", true );
     }
 
+    public void 
testGetOutputDir_ShouldResolveGroupIdInOutDir_UseExplicitMainProject_projectRef()
+    throws AssemblyFormattingException
+    {
+        verifyOutputDir( "${project.groupId}", null, "group", null, null, 
null, "group/", true );
+    }
+
+    public void 
testGetOutputDir_ShouldResolveArtifactIdInOutDir_UseExplicitMainProject_projectRef()
+    throws AssemblyFormattingException
+    {
+        verifyOutputDir( "${project.artifactId}", null, null, "artifact", 
null, null, "artifact/", true );
+    }
+
+    public void 
testGetOutputDir_ShouldResolveVersionInOutDir_UseExplicitMainProject_projectRef()
+    throws AssemblyFormattingException
+    {
+        verifyOutputDir( "${project.version}", null, null, null, "version", 
null, "version/", true );
+    }
+
+    public void 
testGetOutputDir_ShouldResolveBuildFinalNameInOutDir_UseExplicitMainProject_projectRef()
+    throws AssemblyFormattingException
+    {
+        verifyOutputDir( "${project.build.finalName}", null, null, null, null, 
"finalName", "finalName/", true );
+    }
+
     public void 
testGetOutputDir_ShouldNotAlterOutDirWhenIncludeBaseFalseAndNoExpressions()
     throws AssemblyFormattingException
     {
@@ -284,6 +308,24 @@
     throws AssemblyFormattingException
     {
         verifyEvalFileNameMapping( "${pom.version}", null, null, null, 
"version", null, "version", true );
+    }
+
+    public void 
testEvalFileNameMapping_ShouldResolveGroupIdInOutDir_UseExplicitMainProject_projectRef()
+    throws AssemblyFormattingException
+    {
+        verifyEvalFileNameMapping( "${project.groupId}", null, "group", null, 
null, null, "group", true );
+    }
+
+    public void 
testEvalFileNameMapping_ShouldResolveArtifactIdInOutDir_UseExplicitMainProject_projectRef()
+    throws AssemblyFormattingException
+    {
+        verifyEvalFileNameMapping( "${project.artifactId}", null, null, 
"artifact", null, null, "artifact", true );
+    }
+
+    public void 
testEvalFileNameMapping_ShouldResolveVersionInOutDir_UseExplicitMainProject_projectRef()
+    throws AssemblyFormattingException
+    {
+        verifyEvalFileNameMapping( "${project.version}", null, null, null, 
"version", null, "version", true );
     }
 
     public void testEvalFileNameMapping_ShouldPassExpressionThroughUnchanged() 
throws AssemblyFormattingException


Reply via email to