Our plan with bad metadata is to identify the most popular libraries and clean 
them up before 2.0. This includes things like Spring, Hibernate, Dom4J, and 
commons-*.

On 9/21/05, Stephen Duncan <[EMAIL PROTECTED]> wrote:

>Possible solutions:
>
>1) Manually specify exclusions on everything but optional jar that I want.
>  
>
This is what we chose as the "get out" plan so users had control when
the repository is bad. It isn't needed in a validated repository, but it
is the least verbose when a POM is correct for >50% of the deps.

>2) Allow me to use an option to "turn off" transitive dependencies on
>that jar, and explicitly depend on the optional jars I need (such as
>hibernate2 in example above).
>  
>
The issue we see with this is that it degenerates to m1 functionality,
and will very quickly become a crutch for people, further degrading the
quality of the metadata. In the world where all the metadata in the
repository is -correct-, this should not be needed (ie for your own
projects), which is why we have avoided adding it.

If we were to do this, would you use it, or would you ask that the
project be fixed? Would you take the time to do both? (You may, but most
won't).

>3) Create "optional" scope.  Rely on repository POM to set this
>properly.  Then explicitly depend on the optional jar.
>  
>
This still seems the most reasonable to me. You still *might* need it
yourself (though discouraged).

>4) Create "optional" scope.  Rely on repository POM to set this
>proeprly.  Add "inclusions" for optionally-scoped jars that mirrors
>exclusions for currently passed along jars.
>  
>
Inclusions is really just a less agressive version of (2). It is more
verbose than (1) in the case where the dependencies are correct > 50% of
the time. So if we fix the biggest offenders, (1) remains the best solution.

As above, if the repository were correct you wouldn't need this yourself.

>Hope this was helpful.  At the moment my preference would be to have
>option 2 working today (well, not literally...) 
>
It's a last resort. We'll see how we go with repairing the repository
with the 80% of the commonly used dependencies and then repairing the
rest on demand.

>(since it will take
>some time for the repository POM's to be accurate), 
>
I think in 2 weeks we will have 80% done. (of those used, not 80% of all
artifacts :)

>But what I really missed was a technical issue: if you are specifying
>that you want to include a "optional" scope dependency, at what scope
>does it get used in your project?
>  
>
I was anticipating "compile", but I guess that's not necessarily true.
So instead, it will be a separate flag.

>Not sure on etiquette/proper tracking here: should I put a suggestion
>of using <inclusions> (Including scope) as a commont on the MNG-947
>issue, or just wait and see on discussion on the mailing list and a)
>do it later, b) let a developer who likes the idea put it on there...
>
>  
>
Yep, you are welcome to comment on JIRA issues, though if you are unsure
if it is the right direction the list is easier to maintain a discussion
on. JIRA is better for the implementation/verifying/fixing cycle.

Thanks for the feedback.

Cheers,
Brett



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to