ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jaikiran Pai <jai.forums2...@gmail.com>
Subject ivy:retrieve dependencies that do not belong to specific conf(s)
Date Wed, 27 May 2015 15:18:02 GMT
I'm using 2.4.0 of Ivy. I'm trying to ivy:retrieve a bunch of 
dependencies which _do not_ belong to a specific configuration. Here's 
what the ivy.xml looks like:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
     <info organisation="myfoo.org" module="hello" 
revision="0.0.1-SNAPSHOT"/>

     <configurations defaultconfmapping="compile->default;runtime->runtime">
         <conf name="compile" description="Required at compile time"/>
         <conf name="runtime" description="Required at runtime" 
extends="compile"/>
         <conf name="provided" description="Provided by the container 
environment" visibility="private"/>
         <conf name="default" description="An alias for runtime 
configuration" extends="runtime"/>
         <conf name="test" description="Required for tests only" 
extends="runtime" visibility="private"/>
     </configurations>

     <publications>
         <artifact name="hello" type="jar" ext="zip"/>
     </publications>


     <dependencies>
         <dependency org="org.thirdparty" name="container" rev="1.0.0" 
conf="compile->default;provided->default;runtime->runtime;"/>

         <dependency org="org.myapp" name="foo" rev="1.0.0"/>
         <dependency org="org.myapp" name="bar" rev="1.0.0" />

         <dependency org="org.testng" name="testng" rev="6.1.1" 
conf="test->default"/>

     </dependencies>
</ivy-module>


What I intend to do is retrieve only the org.myapp:foo and org.myapp:bar 
dependencies (i.e. those that don't belong to "provided" or "test" conf) 
into a specific folder during the build. build.xml looks like:

<ivy:retrieve 
pattern="${dist.dir}/${dist.name}/lib/[artifact](-[classifier]).[ext]" 
conf="!provided,!test" type="jar,bundle" overwritemode="always"/>

This ends up failing with errors like:

build.xml:123: impossible to ivy retrieve: java.lang.RuntimeException: 
problem during retrieve of org.myapp#hello: 
java.lang.IllegalStateException: Report file 
'/.ivy2/cache/org.myapp-hello-!provided.xml' does not exist.
     at 
org.apache.ivy.core.retrieve.RetrieveEngine.retrieve(RetrieveEngine.java:249)
     at org.apache.ivy.Ivy.retrieve(Ivy.java:561)
     at org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:98)
     at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:271)
     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:606)
     at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
     at org.apache.tools.ant.Task.perform(Task.java:348)
     at org.apache.tools.ant.Target.execute(Target.java:435)
     at org.apache.tools.ant.Target.performTasks(Target.java:456)
     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
     at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
     at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
     at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
     at org.apache.tools.ant.Main.runBuild(Main.java:851)
     at org.apache.tools.ant.Main.startAnt(Main.java:235)
     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
java.lang.IllegalStateException: Report file 
'/.ivy2/cache/org.myapp-hello-!provided.xml' does not exist.
     at 
org.apache.ivy.plugins.report.XmlReportParser.parse(XmlReportParser.java:285)
     at 
org.apache.ivy.core.retrieve.RetrieveEngine.determineArtifactsToCopy(RetrieveEngine.java:329)
     at 
org.apache.ivy.core.retrieve.RetrieveEngine.retrieve(RetrieveEngine.java:118)
     ... 19 more


Is there some way, I can retrieve dependencies that do not belong to 
specific conf(s)?

-Jaikiran

Mime
View raw message