maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Casey (JIRA)" <>
Subject [jira] Commented: (MNG-1984) document optional dependencies and dependency exclusions
Date Sun, 22 Jan 2006 04:44:06 GMT
    [ ] 

John Casey commented on MNG-1984:

You should probably look at the FAQ wiki, MNGFAQ jira project, mailing list, site documentation
that exists, and source code...whatever you need.

What we want to do here is create a definitive reference on using dependencies in POMs.

So, we need to explain:

* what are optional dependencies?
* what are dependency exclusions?
* when to use optional dependencies (what are they for?)
* when to use dependency exclusions (as a last resort)
* how optional dependencies will affect the transitive dependencies calculated when you add
a dependency to your POM that itself contains an optional dep.
* ditto that with will exclusions affect users of your project?
* why exclusions are made on a per-dependency basis, rather than at the POM level

    - This is mainly done to be sure the dependency graph is predictable, and to keep inheritance
effects from excluding a dependency that should not be excluded. If you get to the method
of last resort and have to put in an exclusion, you should be absolutely certain which of
your dependencies is bringing in that bad transitive dependency.

* how dependency scope is calculated for transitive dependencies
* you might mention what each scope is for, and which classpaths they each show up in.
* don't spend too much time explaining system-scoped dependencies; they're on the endangered
list, and will probably be deprecated in 2.1

I hope this will provide a good starting point. I'd like this to be the first of a set of
in-depth articles that become the authority on configuring a POM. If you can, start the document
with the simplest, hello-world scenarios you can use to address the questions, and gradually
get into more complex issues further down. That way, first-time users can just skim the first
quarter of the page for the info they need initially.

> document optional dependencies and dependency exclusions
> --------------------------------------------------------
>          Key: MNG-1984
>          URL:
>      Project: Maven 2
>         Type: Improvement

>   Components: documentation - guides
>     Versions: 2.0.2
>     Reporter: John Casey
>     Assignee: Allan Ramirez
>     Priority: Critical
>      Fix For: documentation

> Original Estimate: 8 hours
>        Time Spent: 5 hours
>         Remaining: 3 hours
> assemble questions and problems from the users list, and create documentation for managing
bad POM dependency data using optional dependencies and dependency exclusions.
> Document in depth how these two features work, and how they impact users of POMs (even
if the exclusion is in a transitive dependency).

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message