You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Nicolas Lalevée <ni...@hibnet.org> on 2013/11/02 00:38:21 UTC

Re: Review for IVY-1431?

Le 30 oct. 2013 à 17:27, Carsten.Pfeiffer@gebit.de a écrit :

> 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? :-)

I understand Stephen's argument over properly supporting what you are trying to accomplish: making Ivy support install in a maven repository. But my fear is that it will be not easy to implement fully and reliably.

So I would prefer only supporting the sub-feature which is pushing the original artifact if any.

I'll comment on the jira issue about details of the patch.

Nicolas

> 
> Thanks
> Carsten
> 
> 
> 
> Von:    Stephen Haberman <st...@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
> 
> 


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