ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Haberman <step...@exigencecorp.com>
Subject transitive sources revisited
Date Tue, 03 Aug 2010 21:52:58 GMT
Hi,

I would really like to see this bug resolved:

https://issues.apache.org/jira/browse/IVY-1003

Following up on this thread:

http://ant.1045680.n5.nabble.com/pom2ivy-and-transitive-source-retrieving-td1375488.html#a1375488

Xavier mentioned this easiest solution:

    Another suggested solution is to add a sources->sources(*) in the
    dependency conf mapping, but I see 2 problems with that: 
    - it makes the sources conf always transitive 
    - the fallback of * doesn't really make sense 

    So what I find would be better is to define a transitive-sources
    conf, and have a conf mapping of
    transitive-sources->transitive-sources (*), or even better
    transitive-sources->transitive-sources(none) if we define 'none' as
    a special fallback conf which means no dependency conf if the
    required one does not exist. Of course we would need to do that for
    javadoc too. 

Just to pipe in 1 year later:

* "it makes the sources conf always transitive"

-- Exactly, given transitiveness is the whole reason people are using
something like Ivy/Maven in the first place, I don't think anyone who
has already explicitly pulled in "sources" is going to be upset about
getting all of the sources vs. the non-transitive ones. If you want
sources, you generally want them all.

For example, is there a non- transitive "default" conf? Why should
sources be special-cased non-transitive?

* "the fallback of `*` doesn't really make sense"

-- True, but when is `sources` not going to exist in upstream ivy xmls?
If you want A from a Maven repo, Ivy makes an A.xml, any dependencies of
A are surely going to come from Maven repos as well (else A's pom would
be broken), which means ivy will again be making a B.xml/C.xml for each
upstream Maven B.pom/C.pom, and each of those, being ivy-produced, will
always have a sources conf.

I'm having trouble imagining a scenario where a Maven-derived project
ends up depending on an upstream non-Maven-derived project that would
not (or could not easily have) a sources conf.

Given that the `none` fallback feature still hasn't appeared, I'd like
to request that `sources->sources(*)` is called good enough and put in.

- Stephen


Mime
View raw message