Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

Request for functionality in maven-assembly-plugin - ignoreProjectBuildFilters

$
0
0
Index: src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java
===================================================================
--- src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java (revision 1631156)
+++ src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java (working copy)
@@ -74,6 +74,8 @@

List<String> getFilters();

+ boolean isIncludeProjectBuildFilters();

List<MavenProject> getReactorProjects();

List<ArtifactRepository> getRemoteRepositories();
Index: src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java
===================================================================
--- src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java (revision 1631156)
+++ src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java (working copy)
@@ -132,7 +132,7 @@
filterRequest.setDelimiters( delims );

- filterRequest.setInjectProjectBuildFilters( true );
+ filterRequest.setInjectProjectBuildFilters( configSource.isIncludeProjectBuildFilters() );
configSource.getMavenFileFilter().copyFile( filterRequest );

return target;
Index: src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java (revision 1631156)
+++ src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java (working copy)
@@ -284,6 +284,14 @@
protected List<String> filters;

/**
+ * If True (default) then the ${project.build.filters} are also used in addition to any
+ * further filters defined for the Assembly.
+ * @since 2.4.2
+ */
+ @Parameter( property = "assembly.includeProjectBuildFilters", defaultValue = "true")
+ protected boolean includeProjectBuildFilters;

+ /**
* Controls whether the assembly plugin tries to attach the resulting assembly to the project.

* @since 2.2-beta-1
@@ -660,6 +668,10 @@
return filters;

+ public boolean isIncludeProjectBuildFilters() {
+ return includeProjectBuildFilters;
+ }

public List<MavenProject> getReactorProjects()

return reactorProjects;
Index: src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java
===================================================================
--- src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java (revision 1631156)
+++ src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java (working copy)
@@ -366,6 +366,60 @@
mockManager.verifyAll();

+ public void testShouldCombineProjectValueWithFilterValueAndFilterFile() throws Exception
+ {
+ final File basedir = fileManager.createTempDir();

+ final File buildFilterProps = fileManager.createFile( basedir, "build-filter.properties", "common=build\r\nbuild.test=build\r\n" );
+ final File configFilterProps = fileManager.createFile( basedir, "config-filter.properties", "common=config\r\nconfig.test=config\r\n" );

+ final List<String> buildFilters = new ArrayList<String>();
+ buildFilters.add( buildFilterProps.getCanonicalPath() );

+ final List<String> configFilters = new ArrayList<String>();
+ configFilters.add( configFilterProps.getCanonicalPath() );

+ enableFilteringConfiguration( basedir, buildFilters, configFilters, true);

+ final File file =
+ fileManager.createFile( basedir, "one.txt", "filtered common=${common} build.test=${build.test} config.test=${config.test}." );

+ mockManager.replayAll();

+ final File result = new FileFormatter( configSource, logger ).format( file, true, null, "UTF-8" );

+ assertEquals( "filtered common=build build.test=build config.test=config.", fileManager.getFileContents( result ) );

+ mockManager.verifyAll();
+ }

+ public void testShouldIgnoreProjectValueWithFilterValueAndFilterFile() throws Exception
+ {
+ final File basedir = fileManager.createTempDir();

+ final File buildFilterProps = fileManager.createFile( basedir, "build-filter.properties", "common=build\r\nbuild.test=build\r\n" );
+ final File configFilterProps = fileManager.createFile( basedir, "config-filter.properties", "common=config\r\nconfig.test=config\r\n" );

+ final List<String> buildFilters = new ArrayList<String>();
+ buildFilters.add( buildFilterProps.getCanonicalPath() );

+ final List<String> configFilters = new ArrayList<String>();
+ configFilters.add( configFilterProps.getCanonicalPath() );

+ enableFilteringConfiguration( basedir, buildFilters, configFilters, false);

+ final File file =
+ fileManager.createFile( basedir, "config.txt", "filtered common=${common} build.test=${build.test} config.test=${config.test}." );

+ mockManager.replayAll();

+ final File result = new FileFormatter( configSource, logger ).format( file, true, null, "UTF-8" );

+ assertEquals( "filtered common=config build.test=${build.test} config.test=config.", fileManager.getFileContents( result ) );

+ mockManager.verifyAll();
+ }

public void testShouldFilterExpressionFromFiltersFileInFileAddCustomDelimiters() throws Exception

final File basedir = fileManager.createTempDir();
@@ -421,7 +475,14 @@
return new MavenProject( model );

- private void enableBasicFilteringConfiguration( final MavenProject project, final File basedir, final boolean useDefault, final List<String> delimiters) throws Exception
+ private void enableBasicFilteringConfiguration( final MavenProject project, final File basedir, final boolean useDefault, final List<String> delimiters) throws Exception {

+ enableFilteringConfiguration(project, basedir, useDefault, delimiters, Collections.<String>emptyList(), true);

+ }

+ private void enableFilteringConfiguration( final MavenProject project, final File basedir, final boolean useDefault, final List<String> delimiters,
+ final List<String> filters, final boolean includeProjectBuildFilters) throws Exception

configSource.getTemporaryRootDirectory();
configSourceControl.setReturnValue( basedir );
@@ -439,8 +500,11 @@
configSourceControl.setReturnValue( null );

configSource.getFilters();
- configSourceControl.setReturnValue( Collections.EMPTY_LIST );
+ configSourceControl.setReturnValue( filters );

+ configSource.isIncludeProjectBuildFilters();
+ configSourceControl.setReturnValue( includeProjectBuildFilters );

configSource.getDelimiters();
configSourceControl.setReturnValue( delimiters );

@@ -448,27 +512,40 @@
configSourceControl.setReturnValue( useDefault );

- private void enableBasicFilteringConfiguration( final File basedir, final List<String> filterFilenames )
+ private void enableBasicFilteringConfiguration( final File basedir, final List<String> buildFilterFilenames )
throws Exception

final MavenProject project = createBasicMavenProject();
- if ( filterFilenames != null )
+ if ( buildFilterFilenames != null )

project.getBuild()
- .setFilters( filterFilenames );
+ .setFilters( buildFilterFilenames );

enableBasicFilteringConfiguration( project, basedir, true, null );

- private void enableBasicFilteringConfiguration( final File basedir, final List<String> filterFilenames, final boolean useDefault, final List<String> delimiters) throws Exception
+ private void enableFilteringConfiguration( final File basedir, final List<String> buildFilterFilenames, final List<String> configFilterFilenames, boolean includeProjectBuildFilters )
+ throws Exception
+ {
+ final MavenProject project = createBasicMavenProject();
+ if ( buildFilterFilenames != null )
+ {
+ project.getBuild()
+ .setFilters( buildFilterFilenames );
+ }

+ enableFilteringConfiguration( project, basedir, true, null, configFilterFilenames, includeProjectBuildFilters );
+ }

+ private void enableBasicFilteringConfiguration( final File basedir, final List<String> buildFilterFilenames, final boolean useDefault, final List<String> delimiters) throws Exception

final MavenProject project = createBasicMavenProject();
- if ( filterFilenames != null )
+ if ( buildFilterFilenames != null )

project.getBuild()
- .setFilters( filterFilenames );
+ .setFilters( buildFilterFilenames );

enableBasicFilteringConfiguration( project, basedir, useDefault, delimiters);
Index: src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java
===================================================================
--- src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java (revision 1631156)
+++ src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java (working copy)
@@ -359,6 +359,9 @@
configSource.getFilters();
configSourceControl.setReturnValue( Collections.EMPTY_LIST, MockControl.ONE_OR_MORE );

+ configSource.isIncludeProjectBuildFilters();
+ configSourceControl.setReturnValue( true, MockControl.ONE_OR_MORE );

configSource.getEncoding();
configSourceControl.setReturnValue( "UTF-8", MockControl.ONE_OR_MORE );

Index: src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java
===================================================================
--- src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java (revision 1631156)
+++ src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java (working copy)
@@ -82,6 +82,10 @@
return null;

+ public boolean isIncludeProjectBuildFilters() {
+ return false;
+ }

public String getFinalName()

return null;

Viewing all articles
Browse latest Browse all 5648

Trending Articles