That's good news! Am I understanding that you don't want the resolved Ivy file at all?

In that case can you just set publishivy="false" on the publish task?

Jason

On 30/04/2013 10:34, [email protected] wrote:
I'll check if Ivy will indeed create that copy automatically for me.
That worked! So I only need to specify srcivypattern to some temporary
file.

Thanks
Carsten



From:   [email protected]
To:     [email protected]
Date:   30.04.2013 11:29
Subject:        Re: deliver overwriting the source ivy.xml



Hi Jason,

my problem is that I do not want to have the ivy.xml inside the dist/
directory.
For some of the projects, I do not even have a separate dist/ directory.
That's
why I point srcivypattern to a temporary location.

But I thought that srcivypattern should actually point to an existing
file, i.e.
the copy that I would manually create.

I'll check if Ivy will indeed create that copy automatically for me. IMHO
'srcivypattern'
is a bit of a misnomer then. "source" for being published, but "dest" for
delivery.

Thanks again,
Carsten



From:   Jason R-J <[email protected]>
To:     [email protected]
Date:   30.04.2013 11:18
Subject:        Re: deliver overwriting the source ivy.xml




Hey Carsten,

With option 2 are you already specifying the srcivypattern? In theory if
you've already called resolve, and you specify the srcivypattern for
publish pointing to a non-existent location e.g.

/home/carsten/projects/projectx/dist/ivy.xml

Ivy should use the source file (/home/carsten/projects/projectx/ivy.xml)
from your <resolve> task and deliver the resolved ivy.xml to your dist
folder without the temporary copy step.

Jason


On 30/04/2013 10:05, [email protected] wrote:
Hi Jason,

thanks for your reply. These options are basically what I meant with
"making a copy to a temporary
location".

That's the only odd thing I encountered with ivy. Everything else is
great
and works as expected,
but overwriting the source ivy file by default is really strange.

Thanks,
Carsten



From:   Jason R-J <[email protected]>
To:     [email protected]
Date:   30.04.2013 10:50
Subject:        Re: deliver overwriting the source ivy.xml




On 29/04/2013 17:10, [email protected] wrote:
Hi,

Is there a way to prevent the <deliver> (<publish>) task from
overwriting
the source ivy.xml file?

I have a bunch of project directories like this

projectx
     - src
     - dist
     - ivy.xml

Now when I publish these projects, the original ivy.xml is being
overwritten with the resolved version:
[ivy:publish]   delivering ivy file to
/home/carsten/projects/projectx/ivy.xml

How can I keep my original version untouched and let Ivy deliver
somewhere
else? Or do I have to copy the ivy.xml
to a temporary location (i.e. dist directory) and let it
deliver/publish
from there?

Thanks
Carsten

I think you have two options:
1) Do an explicit <deliver> and give <publish> the srcivypattern to find
the delivered/resolved Ivy file.

           <!-- ship a copy of our resolved file -->
           <ivy:deliver deliverpattern="${distDir}/ivy.xml"
pubrevision="${buildVersionNo}" pubbranch="${BranchName}"
status="integration"/>

2) According to the documentation[1] provide <publish> with a
srcivypattern and it will use that for that for the implicit deliver -
assuming you've already called <resolve> prior to that.

[1] http://ant.apache.org/ivy/history/2.2.0/use/publish.html

Hope that helps.

Jason






Reply via email to