Actually, I don't need the <classpath refid="maven.dependency.classpath"/> at
all. It works if I just omit it entirely.
I tried printing the various classpaths as in that post from Margaret
Martin. I get weird results for maven.dependency.classpath. Here it is with
just the default junit dependency listed:
[echo] maven.dependency.classpath =
/home/pjungwir/src/ant-test/junit:/home/pjungwir/src/ant-test/jar:/home/pjungwir/src/ant-test/3.8.1:/home/pjungwir/src/ant-test/test
That can't be right. The other four maven.*.classpath refids come out
correct. I looked through MANTRUN on jira and didn't see a bug listed for
this. Is that the right project?
Thanks,
Paul
pjungwir wrote:
>
> Thanks Dan, that got me what I need. The missing link in my mind was using
> maven.dependency.classpath to connect the plugin's deps to the <taskdef>.
> I never even thought about that, but I guess that's what it's there for!
> :-) Here is the final, working xml:
>
> <plugin>
> <artifactId>maven-antrun-plugin</artifactId>
> <executions>
> <execution>
> <id>copy-tree</id>
> <phase>initialize</phase>
> <goals><goal>run</goal></goals>
> <configuration>
> <tasks>
> <typedef
> resource="org/apache/maven/artifact/ant/antlib.xml">
> <classpath
> refid="maven.dependency.classpath"/>
> </typedef>
> <delete dir="target"/>
> <pom id="maven.project" file="pom.xml"/>
> <dependencies
> filesetId="dependency.fileset">
> <pom refid="maven.project"/>
> </dependencies>
> <mkdir dir="target/deps"/>
> <copy todir="target/deps">
> <fileset refid="dependency.fileset"/>
> </copy>
> </tasks>
> </configuration>
> </execution>
> </executions>
> <dependencies>
> <dependency>
> <groupId>org.apache.maven</groupId>
> <artifactId>maven-artifact-ant</artifactId>
> <version>2.0.4</version>
> </dependency>
> </dependencies>
> </plugin>
>
> Note there is no <classifier> on the dependency, and I did away with the
> artifact: namespace entirely.
>
> Paul
>
>
> dan tran wrote:
>>
>> see if this helps
>>
>> http://www.nabble.com/M2-antrun-plugin-problem-tf1400135.html#a5892203
>>
>> -D
>>
>>
>> On 10/25/06, pjungwir <[EMAIL PROTECTED]> wrote:
>>>
>>>
>>> Hello,
>>>
>>> This is kind of a weird question. Suppose I'm writing a <tasks> block
>>> for
>>> maven-antrun-plugin. Now suppose I want to use maven's ant-tasks there.
>>> For
>>> example (to borrow from another poster):
>>>
>>> <tasks>
>>> <delete dir="target"/>
>>> <artifact:pom id="maven.project"
>>> file="pom.xml"/>
>>> <artifact:dependencies
>>> filesetId="dependency.fileset">
>>> <pom refid="maven.project"/>
>>> </artifact:dependencies>
>>> <mkdir dir="target/deps"/>
>>> <copy todir="target/deps">
>>> <fileset refid="dependency.fileset"/>
>>> </copy>
>>> </tasks>
>>>
>>> I'm having trouble with two things. First, I need to include
>>> maven-artifact-ant-2.0.4-dep.jar in ant's classpath. I tried adding this
>>> to
>>> the beginning of <tasks>:
>>>
>>> <typedef
>>> resource="org/apache/maven/artifact/ant/antlib.xml"
>>> uri="urn:maven-artifact-ant">
>>> <classpath>
>>> <pathelement
>>> location="/home/pjungwir/maven-artifact-ant-2.0.4-dep.jar"/>
>>> </classpath>
>>> </typedef>
>>>
>>> That didn't work. I also tried this inside my <plugin> tag (with and
>>> without
>>> the <classifier> element):
>>>
>>> <dependencies>
>>> <dependency>
>>> <groupId>org.apache.maven</groupId>
>>> <artifactId>maven-artifact-ant</artifactId>
>>> <version>2.0.4</version>
>>> <classifier>dep</classifier>
>>> </dependency>
>>> </dependencies>
>>>
>>> Without the <classifier>, I just get the regular ant error message about
>>> not
>>> recognizing artifact:pom. With <classifier>, I get this perplexing stack
>>> trace:
>>>
>>> java.lang.ClassCastException:
>>> org.codehaus.plexus.component.configurator.BasicComponentConfigurator
>>> at
>>>
>>> org.codehaus.plexus.personality.plexus.lifecycle.phase.AutoConfigurePhase.execute
>>> (AutoConfigurePhase.java:34)
>>> at
>>> org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(
>>> AbstractLifecycleHandler.java:101)
>>> at
>>>
>>> org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle
>>> (AbstractComponentManager.java:105)
>>> at
>>>
>>> org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance
>>> (AbstractComponentManager.java:95)
>>> at
>>>
>>> org.codehaus.plexus.component.manager.PerLookupComponentManager.getComponent
>>> (PerLookupComponentManager.java:48)
>>> at
>>> org.codehaus.plexus.DefaultPlexusContainer.lookup(
>>> DefaultPlexusContainer.java:331)
>>> at
>>> org.codehaus.plexus.DefaultPlexusContainer.lookup(
>>> DefaultPlexusContainer.java:440)
>>> at
>>> org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(
>>> DefaultPluginManager.java:524)
>>> at
>>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(
>>> DefaultPluginManager.java:390)
>>> at
>>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
>>> DefaultLifecycleExecutor.java:534)
>>> at
>>>
>>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
>>> (DefaultLifecycleExecutor.java:475)
>>> at
>>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
>>> DefaultLifecycleExecutor.java:454)
>>> at
>>>
>>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
>>> (DefaultLifecycleExecutor.java:306)
>>> at
>>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
>>> DefaultLifecycleExecutor.java:273)
>>> at
>>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
>>> DefaultLifecycleExecutor.java:140)
>>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>> :39)
>>> at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(
>>> DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>> at
>>> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>>> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>> at
>>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>>>
>>> How do I get maven to include the ant-tasks jar in the classpath?
>>>
>>> Second, where do I put xmlns:artifact="urn:maven-artifact-ant"? Right
>>> now
>>> I'm putting it on maven's <project> tag, but perhaps it belongs on the
>>> <tasks> tag.
>>>
>>> Thanks,
>>> Paul
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Using-ant-tasks-inside-antrun-tf2508452.html#a6994761
>>> Sent from the Maven - Users mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/Using-ant-tasks-inside-antrun-tf2508452.html#a7000934
Sent from the Maven - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]