You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2014/10/29 06:06:09 UTC
svn commit: r1635042 - in /maven/plugins/trunk/maven-assembly-plugin: ./
src/it/projects/dependency-sets/dependencySet-unpacked-filtered/
src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/
src/main/java/org/apache/mave...
Author: krosenvold
Date: Wed Oct 29 05:06:08 2014
New Revision: 1635042
URL: http://svn.apache.org/r1635042
Log:
Reduced filtered/non-filtered to one code path
Added:
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java
Modified:
maven/plugins/trunk/maven-assembly-plugin/pom.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/bin.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/verify.bsh
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTask.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java
maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.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=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/pom.xml Wed Oct 29 05:06:08 2014
@@ -126,6 +126,12 @@ under the License.
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>2.8.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/bin.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/bin.xml?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/bin.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/child2/src/assemble/bin.xml Wed Oct 29 05:06:08 2014
@@ -32,7 +32,7 @@ under the License.
<include>test:child1</include>
</includes>
- <outputDirectory>/</outputDirectory>
+ <outputDirectory>/zz</outputDirectory>
<outputFileNameMapping>${artifact.artifactId}</outputFileNameMapping>
<unpack>true</unpack>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/verify.bsh?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/verify.bsh (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/dependency-sets/dependencySet-unpacked-filtered/verify.bsh Wed Oct 29 05:06:08 2014
@@ -21,7 +21,7 @@ import java.io.*;
try
{
- File f = new File( basedir, "child2/target/child2-1-bin/child1/assembly-resources/test.txt" );
+ File f = new File( basedir, "child2/target/child2-1-bin/zz/assembly-resources/test.txt" );
BufferedReader r = new BufferedReader( new FileReader( f ) );
if ( r.readLine().equals( "Project Version: 1" ) )
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java Wed Oct 29 05:06:08 2014
@@ -77,7 +77,7 @@ public class DependencySetAssemblyPhase
{
final AddDependencySetsTask task =
new AddDependencySetsTask( assembly.getDependencySets(), assembly.getResolvedDependencySetArtifacts(),
- configSource.getProject(), projectBuilder, archiverManager, getLogger() );
+ configSource.getProject(), projectBuilder, getLogger() );
task.execute( archiver, configSource );
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java Wed Oct 29 05:06:08 2014
@@ -41,6 +41,7 @@ import org.apache.maven.plugin.assembly.
import org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask;
import org.apache.maven.plugin.assembly.archive.task.AddFileSetsTask;
import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
+import org.apache.maven.plugin.assembly.format.ReaderFormatter;
import org.apache.maven.plugin.assembly.model.DependencySet;
import org.apache.maven.plugin.assembly.model.FileSet;
import org.apache.maven.plugin.assembly.model.ModuleBinaries;
@@ -59,6 +60,7 @@ import org.codehaus.plexus.archiver.Arch
import org.codehaus.plexus.archiver.manager.ArchiverManager;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.components.io.functions.InputStreamTransformer;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.logging.Logger;
@@ -196,6 +198,7 @@ public class ModuleSetAssemblyPhase
}
}
+
final String classifier = binaries.getAttachmentClassifier();
final Map<MavenProject, Artifact> chosenModuleArtifacts = new HashMap<MavenProject, Artifact>();
@@ -275,7 +278,7 @@ public class ModuleSetAssemblyPhase
final AddDependencySetsTask task =
new AddDependencySetsTask( depSets, resolvedModule.getArtifacts(), moduleProject, projectBuilder,
- archiverManager, getLogger() );
+ getLogger() );
task.setModuleProject( moduleProject );
task.setModuleArtifact( chosenModuleArtifacts.get( moduleProject ) );
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTask.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddArtifactTask.java Wed Oct 29 05:06:08 2014
@@ -87,18 +87,13 @@ public class AddArtifactTask
public void execute( final Archiver archiver, final AssemblerConfigurationSource configSource )
throws ArchiveCreationException, AssemblyFormattingException
{
- // MASSEMBLY-282: We should support adding a project's standard output file as part of an assembly that replaces
- // it.
if (artifactIsArchiverDestination(archiver))
{
-
artifact.setFile(moveArtifactSomewhereElse(configSource));
}
- String destDirectory = outputDirectory;
-
- destDirectory =
- AssemblyFormatUtils.getOutputDirectory( destDirectory, configSource.getProject(), moduleProject, project,
+ String destDirectory =
+ AssemblyFormatUtils.getOutputDirectory( outputDirectory, configSource.getProject(), moduleProject, project,
configSource.getFinalName(), configSource );
if ( unpack )
@@ -120,8 +115,6 @@ public class AddArtifactTask
final int oldDirMode = archiver.getOverrideDirectoryMode();
final int oldFileMode = archiver.getOverrideFileMode();
- logger.debug( "Unpacking artifact: " + artifact.getId() + " to assembly location: " + outputLocation + "." );
-
boolean fileModeSet = false;
boolean dirModeSet = false;
@@ -153,7 +146,7 @@ public class AddArtifactTask
fs.setIncludes(includesArray);
fs.setExcludes(excludesArray);
fs.setPrefix( outputLocation);
-// fs.setStreamTransformer(transformer);
+ fs.setStreamTransformer(transformer);
archiver.addFileSet(fs);
}
else
@@ -167,7 +160,7 @@ public class AddArtifactTask
afs.setIncludes(includesArray);
afs.setExcludes(excludesArray);
afs.setPrefix(outputLocation);
- //afs.setStreamTransformer(transformer);
+ afs.setStreamTransformer(transformer);
archiver.addArchivedFileSet( afs );
}
}
@@ -191,12 +184,13 @@ public class AddArtifactTask
}
else
{
- final String fileNameMapping =
+ final String tempMapping =
AssemblyFormatUtils.evaluateFileNameMapping( outputFileNameMapping, artifact,
configSource.getProject(), moduleProject, moduleArtifact,
project, configSource );
- final String outputLocation = destDirectory + fileNameMapping;
+
+ final String outputLocation = destDirectory + tempMapping;
try
{
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java Wed Oct 29 05:06:08 2014
@@ -19,13 +19,6 @@ package org.apache.maven.plugin.assembly
* under the License.
*/
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Model;
@@ -35,7 +28,6 @@ import org.apache.maven.plugin.assembly.
import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
import org.apache.maven.plugin.assembly.format.ReaderFormatter;
import org.apache.maven.plugin.assembly.model.DependencySet;
-import org.apache.maven.plugin.assembly.model.FileSet;
import org.apache.maven.plugin.assembly.model.UnpackOptions;
import org.apache.maven.plugin.assembly.utils.AssemblyFormatUtils;
import org.apache.maven.plugin.assembly.utils.FilterUtils;
@@ -46,12 +38,16 @@ import org.apache.maven.project.ProjectB
import org.apache.maven.shared.artifact.filter.ScopeArtifactFilter;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.archiver.UnArchiver;
-import org.codehaus.plexus.archiver.manager.ArchiverManager;
-import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
import org.codehaus.plexus.components.io.functions.InputStreamTransformer;
import org.codehaus.plexus.logging.Logger;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* @version $Id$
*/
@@ -87,17 +83,14 @@ public class AddDependencySetsTask
private final Set<Artifact> resolvedArtifacts;
- private final ArchiverManager archiverManager;
public AddDependencySetsTask( final List<DependencySet> dependencySets, final Set<Artifact> resolvedArtifacts,
- final MavenProject project, final MavenProjectBuilder projectBuilder,
- final ArchiverManager archiverManager, final Logger logger )
+ final MavenProject project, final MavenProjectBuilder projectBuilder, final Logger logger )
{
this.dependencySets = dependencySets;
this.resolvedArtifacts = resolvedArtifacts;
this.project = project;
this.projectBuilder = projectBuilder;
- this.archiverManager = archiverManager;
this.logger = logger;
}
@@ -137,21 +130,25 @@ public class AddDependencySetsTask
final Set<Artifact> dependencyArtifacts = resolveDependencyArtifacts( dependencySet );
- boolean filterContents = false;
final UnpackOptions opts = dependencySet.getUnpackOptions();
if ( dependencySet.isUnpack() && opts != null && ( opts.isFiltered() || opts.getLineEnding() != null ) )
{
- filterContents = true;
+ // find out if we can just ditch this empty block
}
else if ( dependencyArtifacts.size() > 1 )
{
checkMultiArtifactOutputConfig( dependencySet );
}
- InputStreamTransformer transformer = dependencySet.isUnpack() && opts != null ? ReaderFormatter.getFileSetTransformers(configSource, opts.isFiltered(),
- opts.getLineEnding()) : null;
logger.debug( "Adding " + dependencyArtifacts.size() + " dependency artifacts." );
+ InputStreamTransformer fileSetTransformers =
+ dependencySet.isUnpack() && dependencySet.getUnpackOptions() != null
+ ? ReaderFormatter.getFileSetTransformers( configSource, dependencySet.getUnpackOptions().isFiltered(),
+ dependencySet.getUnpackOptions().getLineEnding() )
+ : null;
+
+
for ( final Artifact depArtifact : dependencyArtifacts )
{
MavenProject depProject;
@@ -175,14 +172,7 @@ public class AddDependencySetsTask
}
else
{
- if ( filterContents )
- {
- addFilteredUnpackedArtifact( dependencySet, depArtifact, depProject, archiver, configSource );
- }
- else
- {
- addNormalArtifact( dependencySet, depArtifact, depProject, archiver, configSource, transformer );
- }
+ addNormalArtifact( dependencySet, depArtifact, depProject, archiver, configSource, fileSetTransformers );
}
}
}
@@ -210,113 +200,15 @@ public class AddDependencySetsTask
}
}
- @SuppressWarnings( "ResultOfMethodCallIgnored" )
- private void addFilteredUnpackedArtifact( final DependencySet dependencySet, final Artifact depArtifact,
- final MavenProject depProject, final Archiver archiver,
- final AssemblerConfigurationSource configSource )
- throws ArchiveCreationException, AssemblyFormattingException
- {
- logger.debug( "Adding dependency artifact " + depArtifact.getId() + " after filtering the unpacked contents." );
-
- final StringBuilder sb =
- new StringBuilder().append( depArtifact.getGroupId() ).append( "_" ).append( depArtifact.getArtifactId() ).append( "_" ).append( depArtifact.getVersion() );
-
- final String classifier = depArtifact.getClassifier();
- if ( classifier != null )
- {
- sb.append( "_" ).append( classifier );
- }
-
- sb.append( "." ).append( depArtifact.getType() );
-
- final File dir = new File( configSource.getWorkingDirectory(), sb.toString() );
- if ( dir.exists() )
- {
- logger.debug( "NOT unpacking: " + depArtifact.getId() + ". Directory already exists in workdir:\n\t"
- + dir.getAbsolutePath() );
- }
- else
- {
- dir.mkdirs();
-
- UnArchiver unarchiver;
- try
- {
- unarchiver = archiverManager.getUnArchiver( depArtifact.getFile() );
- }
- catch ( final NoSuchArchiverException e )
- {
- throw new ArchiveCreationException( "Failed to retrieve un-archiver for: " + depArtifact.getId()
- + ". Dependency filtering cannot proceed.", e );
- }
-
- unarchiver.setDestDirectory( dir );
- unarchiver.setOverwrite( true );
- unarchiver.setSourceFile( depArtifact.getFile() );
- unarchiver.setIgnorePermissions( configSource.isIgnorePermissions() );
-
- try
- {
- unarchiver.extract();
- }
- catch ( final ArchiverException e )
- {
- throw new ArchiveCreationException( "Failed to unpack dependency archive: " + depArtifact.getId()
- + ". Dependency filtering cannot proceed.", e );
- }
- }
-
- final UnpackOptions opts = dependencySet.getUnpackOptions();
-
- final FileSet fs = new FileSet();
- fs.setDirectory( dir.getAbsolutePath() );
- fs.setDirectoryMode( dependencySet.getDirectoryMode() );
- fs.setExcludes( opts.getExcludes() );
- fs.setFileMode( dependencySet.getFileMode() );
- fs.setFiltered( opts.isFiltered() );
- fs.setIncludes( opts.getIncludes() );
-
- String outDir = dependencySet.getOutputDirectory();
- if ( outDir == null )
- {
- outDir = defaultOutputDirectory;
- }
-
- // TODO: MASSEMBLY-691 root cause is here!
-
- String filenameMapping = dependencySet.getOutputFileNameMapping();
- if ( filenameMapping == null )
- {
- filenameMapping = defaultOutputFileNameMapping;
- }
-
- filenameMapping =
- AssemblyFormatUtils.evaluateFileNameMapping( filenameMapping, depArtifact, configSource.getProject(),
- moduleProject, moduleArtifact, depProject, configSource );
-
- final String outputLocation = new File( outDir, filenameMapping ).getPath();
-
- fs.setOutputDirectory( outputLocation );
-
- fs.setLineEnding( opts.getLineEnding() );
- fs.setUseDefaultExcludes( opts.isUseDefaultExcludes() );
-
- final AddFileSetsTask task = new AddFileSetsTask( fs );
- task.setProject( depProject );
- task.setModuleProject( moduleProject );
- task.setLogger( logger );
-
- task.execute( archiver, configSource );
- }
-
- private void addNormalArtifact(final DependencySet dependencySet, final Artifact depArtifact,
- final MavenProject depProject, final Archiver archiver,
- final AssemblerConfigurationSource configSource, InputStreamTransformer transformer)
+ private void addNormalArtifact( final DependencySet dependencySet, final Artifact depArtifact,
+ final MavenProject depProject, final Archiver archiver,
+ final AssemblerConfigurationSource configSource,
+ InputStreamTransformer fileSetTransformers )
throws AssemblyFormattingException, ArchiveCreationException
{
logger.debug( "Adding dependency artifact " + depArtifact.getId() + "." );
- final AddArtifactTask task = new AddArtifactTask( depArtifact, logger, transformer );
+ final AddArtifactTask task = new AddArtifactTask( depArtifact, logger, fileSetTransformers );
task.setProject( depProject );
task.setModuleProject( moduleProject );
@@ -346,6 +238,7 @@ public class AddDependencySetsTask
}
task.execute( archiver, configSource );
+
}
private MavenProject buildProjectStub( final Artifact depArtifact )
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java Wed Oct 29 05:06:08 2014
@@ -51,7 +51,8 @@ public class ReaderFormatter
MavenReaderFilterRequest filterRequest =
new MavenReaderFilterRequest( source, true, configSource.getProject(), configSource.getFilters(),
- isPropertiesFile, encoding, configSource.getMavenSession(), null );
+ isPropertiesFile, encoding, configSource.getMavenSession(), null );
+ filterRequest.setInjectProjectBuildFilters(true);
filterRequest.setEscapeString( escapeString );
// if these are NOT set, just use the defaults, which are '${*}' and '@'.
@@ -87,8 +88,10 @@ public class ReaderFormatter
}
}
- public static @Nullable
- InputStreamTransformer getFileSetTransformers( final AssemblerConfigurationSource configSource, final boolean isFiltered, String fileSetLineEnding )
+ public static
+ @Nullable
+ InputStreamTransformer getFileSetTransformers( final AssemblerConfigurationSource configSource,
+ final boolean isFiltered, String fileSetLineEnding )
throws AssemblyFormattingException
{
final String lineEndingHint = fileSetLineEnding;
@@ -106,16 +109,17 @@ public class ReaderFormatter
{
final String encoding = configSource.getEncoding();
- Reader source = encoding != null ? new InputStreamReader( inputStream, encoding )
+ Reader source = encoding != null
+ ? new InputStreamReader( inputStream, encoding )
: new InputStreamReader( inputStream ); // wtf platform encoding ? TODO: Fix this
try
{
- Reader filtered = createReaderFilter( source, plexusIoResource.getName(),
- configSource.getEncoding(),
- configSource.getEscapeString(),
- configSource.getDelimiters(),
- configSource );
- final ReaderInputStream readerInputStream = encoding != null ? new ReaderInputStream( filtered, encoding)
+ Reader filtered =
+ createReaderFilter( source, plexusIoResource.getName(), configSource.getEncoding(),
+ configSource.getEscapeString(), configSource.getDelimiters(),
+ configSource );
+ final ReaderInputStream readerInputStream = encoding != null
+ ? new ReaderInputStream( filtered, encoding )
: new ReaderInputStream( filtered );
LineEndings lineEnding = LineEndingsUtils.getLineEnding( lineEndingHint );
@@ -129,7 +133,7 @@ public class ReaderFormatter
}
catch ( AssemblyFormattingException e )
{
- throw new IOException( e.getMessage());
+ throw new IOException( e.getMessage() );
}
}
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/component.mdo Wed Oct 29 05:06:08 2014
@@ -485,6 +485,8 @@
Sets the mapping pattern for all dependencies included in this
assembly. Default is ${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}.
(Since 2.2-beta-2; 2.2-beta-1 uses ${artifactId}-${version}${dashClassifier?}.${extension}).
+ NOTE: If the dependencySet specifies unpack == true, outputFileNameMapping WILL NOT BE USED; in these cases,
+ use outputDirectory.
See the plugin FAQ for more details about entries usable in the outputFileNameMapping parameter.
</description>
</field>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java Wed Oct 29 05:06:08 2014
@@ -54,10 +54,13 @@ import java.util.Set;
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.easymock.classextension.EasyMock;
import org.easymock.classextension.EasyMockSupport;
import static java.util.Collections.singleton;
import static org.apache.maven.plugin.assembly.resolved.ResolvedModuleSet.createResolvedModuleSet;
+import static org.easymock.EasyMock.anyInt;
+import static org.easymock.EasyMock.anyObject;
public class ModuleSetAssemblyPhaseTest
@@ -479,168 +482,6 @@ public class ModuleSetAssemblyPhaseTest
mm.verifyAll();
}
- public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndWithOneDepArtifact()
- throws ArchiveCreationException, AssemblyFormattingException, IOException,
- InvalidAssemblerConfigurationException
- {
- final EasyMockSupport mm = new EasyMockSupport();
-
- final MockAndControlForAddDependencySetsTask macTask = new MockAndControlForAddDependencySetsTask( mm );
-
- final ArtifactMock artifactMock = new ArtifactMock( mm, "group", "artifact", "version", "jar", false );
- final File artifactFile = artifactMock.setNewFile();
-
- macTask.expectCSGetFinalName( "final-name" );
- macTask.expectGetDestFile( new File( "junk" ) );
- macTask.expectAddFile( artifactFile, "out/artifact",
- TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
- macTask.expectGetSession( null );
-
- final ModuleBinaries binaries = new ModuleBinaries();
-
- binaries.setUnpack( false );
- binaries.setFileMode( "777" );
- binaries.setOutputDirectory( "out" );
- binaries.setOutputFileNameMapping( "artifact" );
-
- final DependencySet ds = new DependencySet();
- ds.setUseProjectArtifact( false );
- ds.setOutputDirectory( binaries.getOutputDirectory() );
- ds.setOutputFileNameMapping( "${artifact.artifactId}" );
- ds.setFileMode( "777" );
-
- binaries.addDependencySet( ds );
-
- final MavenProject project = createProject( "group", "artifact", "version", null );
- project.setArtifact( artifactMock.getArtifact() );
-
- final ArtifactMock depArtifactMock = new ArtifactMock( mm, "group", "dep", "1", "jar", false );
- final File depArtifactFile = depArtifactMock.setNewFile();
-
- macTask.expectAddFile( depArtifactFile, "out/dep",
- TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) ) );
-
- final MavenProject depProject = createProject( "group", "dep", "version", null );
- depProject.setArtifact( depArtifactMock.getArtifact() );
-
- macTask.expectBuildFromRepository( depProject );
-
- macTask.expectCSGetRepositories( null, null );
-
- final Set<MavenProject> projects = singleton( project );
-
- mm.replayAll();
-
- final Logger overrideLogger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
-
- final ModuleSetAssemblyPhase phase = createPhase( overrideLogger, macTask );
-
- final ResolvedModuleSet rms = ResolvedModuleSet.empty( ).withArtifacts(
- Collections.singleton( depArtifactMock.getArtifact() ) );
-
-
- phase.addModuleBinaries( rms, binaries, projects, macTask.archiver, macTask.configSource );
-
- mm.verifyAll();
- }
-
- public void testAddModuleBinaries_ShouldAddOneModuleArtifactAndWithOneDepArtifactUsingImpliedDepSet()
- throws ArchiveCreationException, AssemblyFormattingException, IOException,
- InvalidAssemblerConfigurationException
- {
- final EasyMockSupport mm = new EasyMockSupport();
-
- final MockAndControlForAddDependencySetsTask macTask = new MockAndControlForAddDependencySetsTask( mm );
-
- final ArtifactMock moduleArtifactMock = new ArtifactMock( mm, "group", "artifact", "0", "jar", false );
- final File moduleArtifactFile = moduleArtifactMock.setNewFile();
-
- macTask.expectCSGetFinalName( "final-name" );
- macTask.expectGetDestFile( new File( "junk" ) );
-
- final int mode = TypeConversionUtils.modeToInt( "777", new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
-
- macTask.expectAddFile( moduleArtifactFile, "out/artifact", mode );
- macTask.expectGetSession( null );
-
- final ModuleBinaries binaries = new ModuleBinaries();
-
- binaries.setUnpack( false );
- binaries.setFileMode( "777" );
- binaries.setOutputDirectory( "out" );
- binaries.setOutputFileNameMapping( "${artifact.artifactId}" );
- binaries.setIncludeDependencies( true );
-
- final MavenProject project = createProject( "group", "artifact", "version", null );
- project.setArtifact( moduleArtifactMock.getArtifact() );
-
- final ArtifactMock depArtifactMock = new ArtifactMock( mm, "group", "dep", "1", "jar", false );
- final File depArtifactFile = depArtifactMock.setNewFile();
-
- macTask.expectAddFile( depArtifactFile, "out/dep", mode );
-
- final MavenProject depProject = createProject( "group", "dep", "version", null );
- depProject.setArtifact( depArtifactMock.getArtifact() );
-
- macTask.expectBuildFromRepository( depProject );
-
- macTask.expectCSGetRepositories( null, null );
-
- final Set<MavenProject> projects = singleton( project );
-
- mm.replayAll();
-
- final Logger overrideLogger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
-
- final ModuleSetAssemblyPhase phase = createPhase( overrideLogger, macTask );
-
- ResolvedModuleSet ms = ResolvedModuleSet.empty().withArtifacts( singleton( depArtifactMock.getArtifact() ) );
-
- phase.addModuleBinaries( ms, binaries, projects, macTask.archiver, macTask.configSource );
-
- mm.verifyAll();
- }
-
- // public void testCollectExcludesFromQueuedArtifacts_ShouldAddOneExclusion()
- // {
- // MockManager mm = new MockManager();
- //
- // List excludes = new ArrayList();
- //
- // // nothing up this sleeve...
- // assertTrue( excludes.isEmpty() );
- //
- // mm.replayAll();
- //
- // Set artifactIds = Collections.singleton( "group:artifact:jar" );
- //
- // List result = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null )
- // .collectExcludesFromQueuedArtifacts( artifactIds, excludes );
- //
- // assertEquals( 1, result.size() );
- //
- // assertEquals( "group:artifact:jar", result.get( 0 ) );
- //
- // mm.verifyAll();
- // }
- //
- // public void testCollectExcludesFromQueuedArtifacts_ShouldHandleNullExcludesList()
- // {
- // MockManager mm = new MockManager();
- //
- // mm.replayAll();
- //
- // Set artifactIds = Collections.singleton( "group:artifact:jar" );
- //
- // List result = createPhase( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ), null )
- // .collectExcludesFromQueuedArtifacts( artifactIds, null );
- //
- // assertEquals( 1, result.size() );
- //
- // assertEquals( "group:artifact:jar", result.get( 0 ) );
- //
- // mm.verifyAll();
- // }
public void testAddModuleArtifact_ShouldThrowExceptionWhenArtifactFileIsNull()
throws AssemblyFormattingException, IOException
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java Wed Oct 29 05:06:08 2014
@@ -110,7 +110,7 @@ public class AddDependencySetsTaskTest
final AddDependencySetsTask task =
new AddDependencySetsTask( Collections.singletonList( ds ),
Collections.singleton( depArtifactMock.getArtifact() ), depProject,
- macTask.projectBuilder, macTask.archiverManager, logger );
+ macTask.projectBuilder, logger );
task.addDependencySet( ds, macTask.archiver, macTask.configSource );
@@ -132,8 +132,7 @@ public class AddDependencySetsTaskTest
final Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
final AddDependencySetsTask task =
- new AddDependencySetsTask( Collections.singletonList( ds ), null, project, macTask.projectBuilder,
- macTask.archiverManager, logger );
+ new AddDependencySetsTask( Collections.singletonList( ds ), null, project, macTask.projectBuilder, logger );
task.addDependencySet( ds, null, macTask.configSource );
@@ -182,7 +181,7 @@ public class AddDependencySetsTaskTest
final AddDependencySetsTask task =
new AddDependencySetsTask( Collections.singletonList( ds ), Collections.singleton( depMock.getArtifact() ),
- project, macTask.projectBuilder, macTask.archiverManager, logger );
+ project, macTask.projectBuilder, logger );
task.addDependencySet( ds, macTask.archiver, macTask.configSource );
@@ -249,7 +248,7 @@ public class AddDependencySetsTaskTest
final AddDependencySetsTask task =
new AddDependencySetsTask( Collections.singletonList( ds ),
Collections.singleton( artifactMock.getArtifact() ), project,
- macTask.projectBuilder, macTask.archiverManager, logger );
+ macTask.projectBuilder, logger );
mockManager.replayAll();
@@ -278,7 +277,7 @@ public class AddDependencySetsTaskTest
final AddDependencySetsTask task =
new AddDependencySetsTask( Collections.singletonList( dependencySet ),
Collections.singleton( artifactMock.getArtifact() ), project,
- macTask.projectBuilder, macTask.archiverManager, logger );
+ macTask.projectBuilder, logger );
final Set<Artifact> result = task.resolveDependencyArtifacts( dependencySet );
@@ -315,8 +314,7 @@ public class AddDependencySetsTaskTest
mockManager.replayAll();
final AddDependencySetsTask task =
- new AddDependencySetsTask( Collections.singletonList( dependencySet ), artifacts, project, null, null,
- logger );
+ new AddDependencySetsTask( Collections.singletonList( dependencySet ), artifacts, project, null, logger );
final Set<Artifact> result = task.resolveDependencyArtifacts( dependencySet );
@@ -351,8 +349,7 @@ public class AddDependencySetsTaskTest
mockManager.replayAll();
final AddDependencySetsTask task =
- new AddDependencySetsTask( Collections.singletonList( dependencySet ), artifacts, project, null, null,
- logger );
+ new AddDependencySetsTask( Collections.singletonList( dependencySet ), artifacts, project, null, logger );
final Set<Artifact> result = task.resolveDependencyArtifacts( dependencySet );
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddArtifactTask.java Wed Oct 29 05:06:08 2014
@@ -32,6 +32,7 @@ import org.codehaus.plexus.archiver.Arch
import org.easymock.EasyMock;
import org.easymock.classextension.EasyMockSupport;
+import static org.easymock.EasyMock.anyInt;
import static org.easymock.EasyMock.anyObject;
import static org.easymock.EasyMock.expect;
@@ -129,8 +130,8 @@ public class MockAndControlForAddArtifac
{
try
{
- archiver.addFile( file, outputLocation, fileMode );
- EasyMock.expectLastCall().atLeastOnce();
+ archiver.addFile( (File)anyObject(), (String) anyObject(), anyInt() );
+ EasyMock.expectLastCall().anyTimes();
}
catch ( final ArchiverException e )
{
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java?rev=1635042&r1=1635041&r2=1635042&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java Wed Oct 29 05:06:08 2014
@@ -39,6 +39,7 @@ import org.codehaus.plexus.archiver.mana
import org.easymock.EasyMock;
import org.easymock.classextension.EasyMockSupport;
+import static org.easymock.EasyMock.anyInt;
import static org.easymock.EasyMock.anyObject;
import static org.easymock.EasyMock.expect;
@@ -141,6 +142,18 @@ public class MockAndControlForAddDepende
}
}
+ public void expectAddAnyFile( )
+ {
+ try
+ {
+ archiver.addFile( (File) anyObject(), (String) anyObject(), anyInt());
+ }
+ catch ( final ArchiverException e )
+ {
+ Assert.fail( "Should never happen." );
+ }
+ }
+
public void expectGetReactorProjects( final List<MavenProject> projects )
{
expect(configSource.getReactorProjects()).andReturn( projects ).anyTimes();
Added: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java?rev=1635042&view=auto
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java (added)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java Wed Oct 29 05:06:08 2014
@@ -0,0 +1,23 @@
+package org.apache.maven.plugin.assembly.format;
+
+import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
+import org.apache.maven.plugin.assembly.testutils.ConfigSourceStub;
+import org.codehaus.plexus.components.io.functions.InputStreamTransformer;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+public class ReaderFormatterTest
+{
+
+ @Test
+ @Ignore
+ public void testGetFileSetTransformers()
+ throws Exception
+ {
+ final AssemblerConfigurationSource assemblerConfigurationSource = new ConfigSourceStub();
+ ReaderFormatter.getFileSetTransformers( assemblerConfigurationSource, true, "\r\n" );
+ }
+
+}
\ No newline at end of file