Author: aramirez
Date: Tue Feb 28 22:51:56 2006
New Revision: 381932
URL: http://svn.apache.org/viewcvs?rev=381932&view=rev
Log:
PR: MASSEMBLY-71
Submitted By: Gary Murphy
Reviewed By: Allan Ramirez
Added a parameter that can configure archiveBaseDirectory
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java
URL:
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java?rev=381932&r1=381931&r2=381932&view=diff
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java
(original)
+++
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AbstractAssemblyMojo.java
Tue Feb 28 22:51:56 2006
@@ -90,6 +90,16 @@
* @parameter
*/
private String[] descriptorRefs;
+
+ /**
+ * This is the base directory from which archive files are created.
+ * This base directory pre-pended to any <code><directory></code>
+ * specifications in the assembly descriptor. This is an optional
+ * parameter
+ *
+ * @parameter
+ */
+ private File archiveBaseDirectory;
/**
* Predefined Assembly Descriptor Id's. You can select bin,
jar-with-dependencies, or src.
@@ -709,7 +719,24 @@
String[] excludes = (String[]) excludesList.toArray(
EMPTY_STRING_ARRAY );
- File archiveBaseDir = new File( directory );
+ File archiveBaseDir;
+ if ( archiveBaseDirectory == null)
+ {
+ archiveBaseDir = new File( directory );
+ }
+ else
+ {
+ if (! archiveBaseDirectory.exists())
+ {
+ throw new IOException("The archive base directory
'"+archiveBaseDirectory.getAbsolutePath()+"' does not exist");
+ }
+ if (! archiveBaseDirectory.isDirectory())
+ {
+ throw new IOException("The archive base directory
'"+archiveBaseDirectory.getAbsolutePath()+"' exists, but it is not a
directory");
+ }
+ archiveBaseDir = new File( archiveBaseDirectory, directory);
+ }
+ getLog().debug("The archive base directory is
'"+archiveBaseDir.getAbsolutePath()+"'");
if ( ! archiveBaseDir.isAbsolute() )
{
@@ -722,7 +749,7 @@
archiveBaseDir = tmpDir;
}
-
+ getLog().debug("Archive base directory:
'"+archiveBaseDir.getAbsolutePath()+"'");
addDirectory( archiver, archiveBaseDir, output, includes,
excludesList );
}
}