ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carl Myers <>
Subject Re: Configuring the <ivy:deliver> task
Date Wed, 05 May 2010 18:51:41 GMT
Greetings all,

I think I have solved my problem.  It was not clear to me how to call 
the deliver task the same way the publish task was calling it.  Sadly, I 
had to hunker down and read some code, but I figured it out.  It turns 
out that the publish task uses artifact patterns to call deliver.  What 
if you give it more than one artifact (as is allowed by the spec)?  I 
refer you to line 187 of src/java/org/apache/ivy/ant/

public String getArtifactspattern() {
     return (String) (artifactspattern.isEmpty() ? null : 

Thus, by putting the same pattern in my delivery task as the first 
artifact in my publish task, I was able to get deliver to behave as I 
expected (using the "deliverpattern" attribute).

There is no mention of this in the docs, or how deliverpattern is 
related to artifactpattern (or if there was, I couldn't find it).  Could 
we get this clarified for posterity?  Should I file a bug somewhere?


On 05/04/2010 02:32 PM, Carl Myers wrote:
> Greetings all,
> I am trying to run an XSLT transform on my ivy.xml file before publish.
>    Because of the metadata I am inserting, it must be after resolve and
> build of the module, however.
>   From reading the documentation, it sounds like I need to manually run
> the<ivy:deliver>  task instead of letting publish run it for me, then
> perform my transform on the delivered ivy file, then publish should see
> the file already-delivered and skip the delivery step, and publish my
> changed file.
> The problem is deliver and publish seem to put the ivy.xml in two
> different places.  We do have a proprietary build setup here with lots
> of moving pieces so I am trying to locate the configuration for the
> publish and deliver steps that causes this to happen.  Can anyone give
> me any pointers for how publish figures out where to deliver things to,
> or how to tell the deliver task to target a particular location?
> Thanks!

Carl Myers
Palantir Technologies | Internal Tools Software Engineer

View raw message