[
http://jira.codehaus.org/browse/MANTTASKS-214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ed Burns closed MANTTASKS-214.
------------------------------
Resolution: Fixed
I was hoping to clone and customize, but I cannot do that.
> maven antlib artifact:dependencies target should support arbitrary
> setting.xml file location
> --------------------------------------------------------------------------------------------
>
> Key: MANTTASKS-214
> URL: http://jira.codehaus.org/browse/MANTTASKS-214
> Project: Maven 2.x Ant Tasks
> Issue Type: Bug
> Components: dependencies task
> Affects Versions: 2.1.1
> Environment: Mac OSX, Ant 1.8.1
> Reporter: Ed Burns
>
> My use case is that I have a set of common dependencies that I use across
> many projects.
> In order to save me some typing I created a pom whose sole purpose is to
> depend on all
> the common dependencies, so that each of my projects can depend on only this
> one pom.
> The problem is that the pom file gets included in the classpath, an the junit
> task shows
> an annoying error because it can't make sense of it as a directory or jar
> file.
> A relatively simple testcase to show the issue is this pom.xml:
> {code:xml}<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd"
> xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <modelVersion>4.0.0</modelVersion>
> <groupId>foo</groupId>
> <artifactId>bar</artifactId>
> <version>1.0</version>
> <dependencies>
> <dependency>
> <groupId>asm</groupId>
> <artifactId>asm-parent</artifactId>
> <version>3.1</version>
> <type>pom</type>
> </dependency>
> </dependencies>
> </project>
> {code}
> An the following build.xml in the same directory:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <project name="foo" default="test"
> xmlns:artifact="antlib:org.apache.maven.artifact.ant">
> <target name="test">
> <artifact:pom file="${basedir}/pom.xml" id="maven.project"/>
> <artifact:dependencies pathId="maven2.test.classpath"
> filesetId="test.fileset">
> <pom refid="maven.project"/>
> </artifact:dependencies>
> <echo>${toString:maven2.test.classpath}</echo>
> </target>
> </project>
> {code}
> When I run this I expect the output from <echo> to list the classpath
> consisting of the jars dependencies from {{asm-parent}}. That pom happens to
> have no jar dependencies, so I expect the output to be empty. Instead I get
> the path of the pom file.
> In a more realistic example I will use this as a classpath argument to
> <junit> and get an error like:
> {noformat}
> Unable to obtain resource from
> /Users/knut/.m2/repository/asm/asm-parent/3.1/asm-parent-3.1.pom:
> java.util.zip.ZipException: error in opening zip file
> [junit] Unable to obtain resource from
> /Users/knut/.m2/repository/asm/asm-parent/3.1/asm-parent-3.1.pom:
> [junit] java.util.zip.ZipException: error in opening zip file
> [junit] at java.util.zip.ZipFile.open(Native Method)
> [junit] at java.util.zip.ZipFile.<init>(ZipFile.java:114)
> [junit] at java.util.jar.JarFile.<init>(JarFile.java:135)
> [junit] at java.util.jar.JarFile.<init>(JarFile.java:99)
> [junit] at
> org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1002)
> [junit] at
> org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:145)
> [junit] at
> org.apache.tools.ant.AntClassLoader$ResourceEnumeration.<init>(AntClassLoader.java:109)
> [junit] at
> org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:949)
> [junit] at
> org.apache.tools.ant.AntClassLoader.getNamedResources(AntClassLoader.java:918)
> [junit] at
> org.apache.tools.ant.loader.AntClassLoader5.getResources(AntClassLoader5.java:54)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.checkForkedPath(JUnitTask.java:1135)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeAsForked(JUnitTask.java:1011)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:811)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:1808)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:760)
> [junit] at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
> [junit] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> [junit] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [junit] at java.lang.reflect.Method.invoke(Method.java:597)
> [junit] at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
> [junit] at org.apache.tools.ant.Task.perform(Task.java:348)
> [junit] at org.apache.tools.ant.Target.execute(Target.java:390)
> [junit] at org.apache.tools.ant.Target.performTasks(Target.java:411)
> [junit] at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
> [junit] at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
> [junit] at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> [junit] at
> org.apache.tools.ant.Project.executeTargets(Project.java:1249)
> [junit] at org.apache.tools.ant.Main.runBuild(Main.java:801)
> [junit] at org.apache.tools.ant.Main.startAnt(Main.java:218)
> [junit] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
> [junit] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
> {noformat}
> When I read MANTTASKS-41 I can't help but think it revolves around the same
> culprit, but I'm not expert enough to pinpoint the issue.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira