You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/08/16 01:49:17 UTC
svn commit: r566413 - in /maven/plugins/trunk/maven-assembly-plugin/src:
main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
Author: jdcasey
Date: Wed Aug 15 16:49:16 2007
New Revision: 566413
URL: http://svn.apache.org/viewvc?view=rev&rev=566413
Log:
[MASSEMBLY-184] Modified assembly descriptor loading process to inject component descriptors ahead of interpolation, so they too are interpolated.
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java?view=diff&rev=566413&r1=566412&r2=566413
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReader.java Wed Aug 15 16:49:16 2007
@@ -265,6 +265,8 @@
AssemblyXpp3Reader r = new AssemblyXpp3Reader();
assembly = r.read( reader );
+ mergeComponentsWithMainAssembly( assembly, configSource );
+
assembly = new AssemblyInterpolator().interpolate( assembly, project, context );
}
catch ( IOException e )
@@ -288,8 +290,6 @@
{
includeSiteInAssembly( assembly, configSource );
}
-
- mergeComponentsWithMainAssembly( assembly, configSource );
return assembly;
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java?view=diff&rev=566413&r1=566412&r2=566413
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/io/DefaultAssemblyReaderTest.java Wed Aug 15 16:49:16 2007
@@ -659,6 +659,74 @@
mockManager.verifyAll();
}
+ public void testReadAssembly_ShouldReadAssemblyWithComponentInterpolationWithoutSiteDirInclusionOrAssemblyInterpolation()
+ throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
+ {
+ File componentsFile = fileManager.createTempFile();
+
+ File basedir = componentsFile.getParentFile();
+ String componentsFilename = componentsFile.getName();
+
+ Component component = new Component();
+
+ FileSet fs = new FileSet();
+ fs.setDirectory("${groupId}-dir");
+
+ component.addFileSet(fs);
+
+ FileWriter fw = null;
+
+ try {
+ fw = new FileWriter(componentsFile);
+ new ComponentXpp3Writer().write(fw, component);
+ } finally {
+ IOUtil.close(fw);
+ }
+
+ Assembly assembly = new Assembly();
+ assembly.setId("test");
+
+ assembly.addComponentDescriptor(componentsFilename);
+
+ StringWriter sw = new StringWriter();
+ AssemblyXpp3Writer assemblyWriter = new AssemblyXpp3Writer();
+
+ assemblyWriter.write(sw, assembly);
+
+ StringReader sr = new StringReader(sw.toString());
+
+ configSource.getBasedir();
+ configSourceControl.setReturnValue(basedir, MockControl.ONE_OR_MORE);
+
+ Model model = new Model();
+ model.setGroupId("group");
+ model.setArtifactId("artifact");
+ model.setVersion("version");
+
+ MavenProject project = new MavenProject(model);
+
+ configSource.getProject();
+ configSourceControl.setReturnValue(project);
+
+ configSource.isSiteIncluded();
+ configSourceControl.setReturnValue(false);
+
+ mockManager.replayAll();
+
+ Assembly result = new DefaultAssemblyReader().readAssembly(sr,
+ "testLocation", configSource);
+
+ assertEquals(assembly.getId(), result.getId());
+
+ List fileSets = result.getFileSets();
+
+ assertEquals(1, fileSets.size());
+
+ assertEquals("group-dir", ((FileSet) fileSets.get(0)).getDirectory());
+
+ mockManager.verifyAll();
+ }
+
public void testReadAssembly_ShouldReadAssemblyWithInterpolationWithoutComponentsOrSiteDirInclusion()
throws IOException, AssemblyReadException, InvalidAssemblerConfigurationException
{