ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carsten.Pfeif...@gebit.de
Subject Re: Review for IVY-1431?
Date Wed, 30 Oct 2013 16:27:53 GMT
Yes, the idea is to install the artifact just as it was downloaded. If it 
was downloaded
from an Ivy repository, you install the jar + the ivy.xml. If it was 
downloaded from a Maven
repository, you install jar, the original .pom. and the ivy.xml.

If you think that this depends too much on where the artifact originally 
comes from, one could
add an optional attribute to the install task "installOriginalMetadata" or 
something like that, so that
this would become an explicit action.

Any comment from a committer, perhaps? :-)

Thanks
Carsten



Von:    Stephen Haberman <stephen.haberman@gmail.com>
An:     dev@ant.apache.org
Datum:  29.10.2013 04:04
Betreff:        Re: Review for IVY-1431?





> So your proposal would be something like a task "makeallmissingpoms"?

Well, no, I was originally thinking that re-making all poms from the
ivy.xml files would be preferable, so that the output would be as
consistent as possible. Basically a transitive ivy:install+ivy:makepom.

So the pom files would be consistent, always canonically derived from
the Ivy file, regardless of whether they came from an internal Maven
repo or an internal Ivy repo.

> I think that it's actually quite important to not tamper with existing
> metadata (i.e.  pom -> ivy.xml -> pom)

Yeah, I understand that makes sense for your scenario. You're basically
using ivy:install to copy artifacts between Maven repos.

Hm. Yeah, it still seems a little weird, but I suppose if I was doing
that, I'd want your behavior as well.

...oh. It looks like .original files in the cache are only poms for the
person who originally downloaded the file from Maven.

Like if I have two devs, A and B, and A installs commons-lang into our
Ivy repo, his cache's .original is a pom. If B downloads commons-lang
from our Ivy repo, his cache's .original is an Ivy file.

So, now if B goes back and he's the one that does the "ivy:install to
maven" task that you want, his cache's original file isn't the pom.

Does this sound right? I think to make this a truly supported feature,
you'd have to someone get the pom into the Ivy repo, and into every
user's local Ivy cache, not just A's.

Otherwise the behavior changes depending on who runs what, and that is
confusing (AFAICT/IMO).

- Stephen


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message