You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/09/03 16:43:29 UTC
svn commit: r691629 - in /maven/plugins/trunk/maven-ant-plugin/src:
it/webapp-it/pom.xml it/webapp-it/verify.bsh
main/java/org/apache/maven/plugin/ant/AntBuildWriter.java
main/java/org/apache/maven/plugin/ant/AntBuildWriterUtil.java
Author: bentmann
Date: Wed Sep 3 07:43:28 2008
New Revision: 691629
URL: http://svn.apache.org/viewvc?rev=691629&view=rev
Log:
[MANT-44] Generated ant copy commands in package target point to hard-coded local repository instead of ${maven.repo.local}
Modified:
maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/pom.xml
maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/verify.bsh
maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriter.java
maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriterUtil.java
Modified: maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/pom.xml?rev=691629&r1=691628&r2=691629&view=diff
==============================================================================
--- maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/pom.xml (original)
+++ maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/pom.xml Wed Sep 3 07:43:28 2008
@@ -29,8 +29,14 @@
<version>1.0-SNAPSHOT</version>
<name>Webapp project</name>
<url>http://maven.apache.org</url>
+
<dependencies>
<dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.14</version>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
Modified: maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/verify.bsh?rev=691629&r1=691628&r2=691629&view=diff
==============================================================================
--- maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/verify.bsh (original)
+++ maven/plugins/trunk/maven-ant-plugin/src/it/webapp-it/verify.bsh Wed Sep 3 07:43:28 2008
@@ -2,8 +2,9 @@
import java.io.File;
import java.io.IOException;
import java.util.jar.*;
+import java.util.regex.*;
-import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.*;
try
{
@@ -19,12 +20,24 @@
System.err.println( "The file '" + build.getAbsolutePath() + "' is a directory or doesn't exist." );
return false;
}
+
mavenBuild = new File( basedir, "maven-build.xml" );
if ( mavenBuild.isDirectory() || !mavenBuild.exists() )
{
System.err.println( "The file '" + mavenBuild.getAbsolutePath() + "' is a directory or doesn't exist." );
return false;
}
+
+ String xml = FileUtils.fileRead( mavenBuild, "UTF-8" );
+ Matcher m0 = Pattern.compile( "<copy\\s+file\\s*=\\s*\\Q\"${maven.repo.local}/log4j/log4j/1.2.14/log4j-1.2.14.jar\"\\E"
+ + "\\s*todir\\s*=\\s*\\Q\"${maven.build.dir}/${maven.build.finalName}/WEB-INF/lib\"\\E" ).matcher( xml );
+ System.out.println( "Checking for existence of <copy> from ${maven.repo.local} for WAR libs" );
+ if ( !m0.find() )
+ {
+ System.err.println( "FAILED!\n" + xml );
+ return false;
+ }
+
mavenBuildProperties = new File( basedir, "maven-build.properties" );
if ( mavenBuildProperties.isDirectory() || !mavenBuildProperties.exists() )
{
@@ -48,6 +61,7 @@
"WEB-INF/test.txt",
"WEB-INF/classes/test.properties",
"WEB-INF/classes/org/MyClass.class",
+ "WEB-INF/lib/log4j-1.2.14.jar",
};
for ( String entry : expected )
{
Modified: maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriter.java?rev=691629&r1=691628&r2=691629&view=diff
==============================================================================
--- maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriter.java (original)
+++ maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriter.java Wed Sep 3 07:43:28 2008
@@ -1039,7 +1039,7 @@
}
else if ( AntBuildWriterUtil.isEarPackaging( project ) )
{
- AntBuildWriterUtil.writeEarTask( writer, project );
+ AntBuildWriterUtil.writeEarTask( writer, project, localRepository );
synonym = "ear";
}
else if ( AntBuildWriterUtil.isWarPackaging( project ) )
Modified: maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriterUtil.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriterUtil.java?rev=691629&r1=691628&r2=691629&view=diff
==============================================================================
--- maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriterUtil.java (original)
+++ maven/plugins/trunk/maven-ant-plugin/src/main/java/org/apache/maven/plugin/ant/AntBuildWriterUtil.java Wed Sep 3 07:43:28 2008
@@ -452,12 +452,13 @@
*
* @param writer not null
* @param project not null
+ * @param localRepository not null
* @throws IOException if any
*/
- public static void writeEarTask( XMLWriter writer, MavenProject project )
+ public static void writeEarTask( XMLWriter writer, MavenProject project, File localRepository )
throws IOException
{
- writeCopyLib( writer, project, "${maven.build.dir}/${maven.build.finalName}" );
+ writeCopyLib( writer, project, localRepository, "${maven.build.dir}/${maven.build.finalName}" );
writer.startElement( "ear" );
writer.addAttribute( "destfile", "${maven.build.dir}/${maven.build.finalName}.ear" );
@@ -502,7 +503,7 @@
webXml = webXml.substring( "${basedir}/".length() );
}
- writeCopyLib( writer, project, "${maven.build.dir}/${maven.build.finalName}/WEB-INF/lib" );
+ writeCopyLib( writer, project, localRepository, "${maven.build.dir}/${maven.build.finalName}/WEB-INF/lib" );
writer.startElement( "war" );
writer.addAttribute( "destfile", "${maven.build.dir}/${maven.build.finalName}.war" );
@@ -1108,9 +1109,10 @@
*
* @param writer not null
* @param project not null
+ * @param localRepository not null
* @param outputDir not null
*/
- private static void writeCopyLib( XMLWriter writer, MavenProject project, String outputDir )
+ private static void writeCopyLib( XMLWriter writer, MavenProject project, File localRepository, String outputDir )
{
writer.startElement( "mkdir" );
writer.addAttribute( "dir", outputDir );
@@ -1125,8 +1127,15 @@
if ( !artifact.getScope().equals( Artifact.SCOPE_PROVIDED )
&& !artifact.getScope().equals( Artifact.SCOPE_TEST ) )
{
+ String path = artifact.getFile().getPath();
+ path = toRelative( localRepository, path );
+ if ( !new File( path ).isAbsolute() )
+ {
+ path = "${maven.repo.local}/" + path;
+ }
+
writer.startElement( "copy" );
- writer.addAttribute( "file", artifact.getFile().getPath() );
+ writer.addAttribute( "file", path );
addWrapAttribute( writer, "copy", "todir", outputDir, 3 );
writer.endElement(); // copy
}