I'm with you, there is no need for the local copy in that scenario and it's just an additional item for your build to have to clean up.

All the best.

Jason

On 30/04/2013 10:44, [email protected] wrote:
I want to have the Ivy file published in the repository, but I don't need
the intermediate copy in the dist/ folder
(or anywhere else). I would have expected that the Ivy file would be
- put into the cache
- published to the repository

I don't need the third copy :-) I understand that some people might want
to programmatically validate or even
modify the file before publishing, but I don't have such needs (yet).

Cheers
Carsten



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




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