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