ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Nesbitt <stephen_nesb...@alumni.cmc.edu>
Subject Re: [Request] Help with ivy:publish - bad revision found in ivy file.
Date Mon, 25 May 2009 19:28:00 GMT
Joshua:

Thanks. That wasn't it, but your notes led me to see something I did miss.

I *think* what is happening is the following:
1) I run a publish-local on a completely clean instance. A new revision id is 
generated, ivy does a resolve and places an ivy.xml with my revision id in my 
out.dist directory everything works.

2) I run publish-local a second time on an existing instance. A new revision 
id is generated, Ivy does a resolve, but *nothing* has changed - a new ivy.ml 
file is *not* generated but the old one retained. We now have a mismatch - I 
generated a new revision id, but the ivy.xml has the old one. Boom - publish 
fails.

My theory here rests on the assumption that Ivy does not generate a new local 
ivy.xml file unless it has to - it either doesn't exist or there have been no 
changes that would warrant a new ivy.xml

-steve


> (Disclaimer: I'm not an expert either, but since I'm also working on a
> holiday, I'll take a shot...)
>
> What does your local repository pattern look like? Is the revision in it
> someplace? If so, what is the revision number on the directory name? Is it
> 1.4 or your longer ${ivy.revision}-<timestamp>-<build type> string?
>
> My guess is that according to Ivy you are trying to republish revision 1.4
> a second time (that the other parts of your name are not being used by Ivy)
> and it has found the first copy in your local repository. So, Ivy is
> recommending that you either force a delivery (to overwrite the first 1.4)
> or update it (to only change certain fields in the published ivy file).
>
> My other suggestion is to check to see if you really want ivy.revision
> (which is the last revision number found in the repository) or
> ivy.new.revision (which is automagically incremented to a new build
> number).
>
> Good luck!
>
> Josh
>
> On Mon, May 25, 2009 at 11:17 AM, Stephen Nesbitt <
>
> stephen_nesbitt@alumni.cmc.edu> wrote:
> > All:
> >
> > I could really use some help figuring out how to successfully perform an
> > ivy:publish. Here's the scenario:
> > 1) Everything including local cache cleaned. We are starting completely
> > clean.
> >
> > 2) As part of my build initialization, I create a build identifier. It is
> > composed of the ${ivy.revision}-<timestamp>-<build type>. For example:
> > 1.4-20090525100000-dev. I see an ivy.xml file with the correct identifier
> > in my
> > out/dist directory.
> >
> > 3) I perform a publish to my local repository. Everything works just
> > fine. I
> > now have an ivy.xml in my local repo with the expected build identifier
> > in the
> > revision attribute.
> >
> > 4) I perform another publish *without* cleaning anything. The ivy:publish
> > task
> > errors out with an "impossible to publish artifacts...bad revision found
> > in ivy file... Use force deliver or update" error message referencingf
> > the ivy.xml
> > in my out/dist directory
> >
> > Huh? This makes no sense. Even if I try with an update it fails? I am
> > obviously missing something.
> >
> > Can someone tell me what is going on and how to fix it? Sure I could
> > update and
> > force deliver, but that doesn't feel right and I don't understand it.
> >
> > What is the correct way to set the revision on a publication?
> >
> > I will be more than happy to write up the fix, if someone would tell me
> > what it
> > is :-)
> >
> > Thanks
> >
> > -steve
> > Stephen Nesbitt
> > Absaroka Tech
> > Build & Configuration Management Consulting
> > Seattle, WA USA


Mime
View raw message