[MASSEMBLY-818] Remove deprecated parameters for the single goal
Remove descriptor; instead use descriptors
Include check for removed parameters
git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1749089 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/it/projects/repositories/basic-repository/pom.xml b/src/it/projects/repositories/basic-repository/pom.xml
index a20dbd7..53328fb 100644
--- a/src/it/projects/repositories/basic-repository/pom.xml
+++ b/src/it/projects/repositories/basic-repository/pom.xml
@@ -45,7 +45,9 @@
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
- <descriptor>src/assemble/bin.xml</descriptor>
+ <descriptors>
+ <descriptor>src/assemble/bin.xml</descriptor>
+ </descriptors>
<finalName>assembly</finalName>
</configuration>
diff --git a/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java b/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java
index 03cad62..bcbd02a 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java
@@ -35,12 +35,6 @@
*/
public interface AssemblerConfigurationSource
{
-
- /**
- * @return The descriptor.
- */
- String getDescriptor();
-
/**
* @return The descriptors.
*/
diff --git a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
index 2dfe932..9d4d11a 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java
@@ -103,17 +103,10 @@
final List<Assembly> assemblies = new ArrayList<Assembly>();
- final String descriptor = configSource.getDescriptor();
final String[] descriptors = configSource.getDescriptors();
final String[] descriptorRefs = configSource.getDescriptorReferences();
final File descriptorSourceDirectory = configSource.getDescriptorSourceDirectory();
- if ( descriptor != null )
- {
- locator.setStrategies( strategies );
- addAssemblyFromDescriptor( descriptor, locator, configSource, assemblies );
- }
-
if ( ( descriptors != null ) && ( descriptors.length > 0 ) )
{
locator.setStrategies( strategies );
diff --git a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
index 3c11a13..b1392a1 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
@@ -194,15 +194,6 @@
private File archiveBaseDirectory;
/**
- * Assembly XML Descriptor file. This must be the path to your customized descriptor file.
- *
- * @deprecated Please use descriptors instead
- */
- @Deprecated
- @Parameter( property = "descriptor" )
- private String descriptor;
-
- /**
* Sets the TarArchiver behavior on file paths with more than 100 characters length. Valid values are: "warn"
* (default), "fail", "truncate", "gnu", "posix", "posix_warn" or "omit".
*/
@@ -629,18 +620,6 @@
this.basedir = basedir;
}
- /**
- * {@inheritDoc}
- *
- * @deprecated This has been replaced by {@link #getDescriptors()}
- */
- @Override
- @Deprecated
- public String getDescriptor()
- {
- return descriptor;
- }
-
@Override
public String[] getDescriptorReferences()
{
diff --git a/src/main/java/org/apache/maven/plugins/assembly/mojos/SingleAssemblyMojo.java b/src/main/java/org/apache/maven/plugins/assembly/mojos/SingleAssemblyMojo.java
index c5f2d46..64f962a 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/mojos/SingleAssemblyMojo.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/mojos/SingleAssemblyMojo.java
@@ -19,10 +19,15 @@
* under the License.
*/
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
/**
* Assemble an application bundle or distribution from an assembly descriptor. This goal is suitable either for binding
@@ -38,6 +43,36 @@
public class SingleAssemblyMojo
extends AbstractAssemblyMojo
{
+ @Parameter( defaultValue = "${plugin}", readonly = true )
+ private PluginDescriptor plugin;
+
+ @Override
+ public void execute()
+ throws MojoExecutionException, MojoFailureException
+ {
+ verifyRemovedParameter( "classifier" );
+ verifyRemovedParameter( "descriptor" );
+ verifyRemovedParameter( "descriptorId" );
+ verifyRemovedParameter( "includeSite" );
+
+ super.execute();
+ }
+
+ private void verifyRemovedParameter( String paramName )
+ {
+ Object pluginConfiguration = plugin.getPlugin().getConfiguration();
+ if ( pluginConfiguration instanceof Xpp3Dom )
+ {
+ Xpp3Dom configDom = (Xpp3Dom) pluginConfiguration;
+
+ if ( configDom.getChild( paramName ) != null )
+ {
+ throw new IllegalArgumentException( "parameter '" + paramName
+ + "' has been removed from the plugin, please verify documentation." );
+ }
+ }
+ }
+
/**
*/
@Parameter( defaultValue = "${project}", readonly = true, required = true )
diff --git a/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java b/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java
index e4377aa..8acff00 100644
--- a/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java
+++ b/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java
@@ -825,7 +825,7 @@
final String assemblyFile = files.get( 0 );
- final List<Assembly> assemblies = performReadAssemblies( basedir, assemblyFile, null, null, null );
+ final List<Assembly> assemblies = performReadAssemblies( basedir, new String[] { assemblyFile }, null, null );
assertNotNull( assemblies );
assertEquals( 1, assemblies.size() );
@@ -845,7 +845,7 @@
try
{
- performReadAssemblies( basedir, assemblyFile.getAbsolutePath(), null, null, null, false );
+ performReadAssemblies( basedir, null, null, null, false );
fail( "Should fail when descriptor file is missing and ignoreDescriptors == false" );
}
@@ -865,7 +865,7 @@
try
{
- performReadAssemblies( basedir, assemblyFile.getAbsolutePath(), null, null, null, true );
+ performReadAssemblies( basedir, null, null, null, true );
}
catch ( final AssemblyReadException e )
{
@@ -892,7 +892,7 @@
final List<String> files = writeAssembliesToFile( assemblies, basedir );
final List<Assembly> results =
- performReadAssemblies( basedir, null, files.toArray( new String[files.size()] ), null, null );
+ performReadAssemblies( basedir, files.toArray( new String[files.size()] ), null, null );
assertNotNull( results );
assertEquals( 2, results.size() );
@@ -912,7 +912,7 @@
final File basedir = fileManager.createTempDir();
final List<Assembly> assemblies =
- performReadAssemblies( basedir, null, null, new String[]{ "bin", "src" }, null );
+ performReadAssemblies( basedir, null, new String[]{ "bin", "src" }, null );
assertNotNull( assemblies );
assertEquals( 2, assemblies.size() );
@@ -943,7 +943,7 @@
writeAssembliesToFile( assemblies, basedir );
- final List<Assembly> results = performReadAssemblies( basedir, null, null, null, basedir );
+ final List<Assembly> results = performReadAssemblies( basedir, null, null, basedir );
assertNotNull( results );
assertEquals( 2, results.size() );
@@ -976,7 +976,7 @@
fileManager.createFile( basedir, "readme.txt", "This is just a readme file, not a descriptor." );
- final List<Assembly> results = performReadAssemblies( basedir, null, null, null, basedir );
+ final List<Assembly> results = performReadAssemblies( basedir, null, null, basedir );
assertNotNull( results );
assertEquals( 2, results.size() );
@@ -1018,21 +1018,18 @@
return files;
}
- private List<Assembly> performReadAssemblies( final File basedir, final String descriptor,
- final String[] descriptors, final String[] descriptorRefs,
- final File descriptorDir )
+ private List<Assembly> performReadAssemblies( final File basedir, final String[] descriptors,
+ final String[] descriptorRefs, final File descriptorDir )
throws AssemblyReadException, InvalidAssemblerConfigurationException
{
- return performReadAssemblies( basedir, descriptor, descriptors, descriptorRefs, descriptorDir, false );
+ return performReadAssemblies( basedir, descriptors, descriptorRefs, descriptorDir, false );
}
- private List<Assembly> performReadAssemblies( final File basedir, final String descriptor,
- final String[] descriptors, final String[] descriptorRefs,
- final File descriptorDir, final boolean ignoreMissing )
+ private List<Assembly> performReadAssemblies( final File basedir, final String[] descriptors,
+ final String[] descriptorRefs, final File descriptorDir,
+ final boolean ignoreMissing )
throws AssemblyReadException, InvalidAssemblerConfigurationException
{
- expect( configSource.getDescriptor() ).andReturn( descriptor );
-
expect( configSource.getDescriptorReferences() ).andReturn( descriptorRefs );
expect( configSource.getDescriptors() ).andReturn( descriptors );