Author: dfabulich
Date: Wed Jan 16 12:50:08 2008
New Revision: 612568

URL: http://svn.apache.org/viewvc?rev=612568&view=rev
Log:
Explain excluded/optional dependencies

Modified:
    
maven/site/trunk/src/site/apt/guides/introduction/introduction-to-dependency-mechanism.apt

Modified: 
maven/site/trunk/src/site/apt/guides/introduction/introduction-to-dependency-mechanism.apt
URL: 
http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/guides/introduction/introduction-to-dependency-mechanism.apt?rev=612568&r1=612567&r2=612568&view=diff
==============================================================================
--- 
maven/site/trunk/src/site/apt/guides/introduction/introduction-to-dependency-mechanism.apt
 (original)
+++ 
maven/site/trunk/src/site/apt/guides/introduction/introduction-to-dependency-mechanism.apt
 Wed Jan 16 12:50:08 2008
@@ -21,6 +21,8 @@
  * Dependency Scope
 
  * Dependency Management
+ 
+ * Excluded/Optional Dependencies
 
  []
 
@@ -53,7 +55,7 @@
         You could explicitly add a dependency to D 2.0 in A to force the use 
of D 2.0
 
  * <Dependency management>
-   - this allows project authors to directly specify the versions of 
artifiacts to be used when they are encountered
+   - this allows project authors to directly specify the versions of artifacts 
to be used when they are encountered
      in transitive dependencies or in dependencies where no version has been 
specified. In the example in
      the preceding section a dependency was directly added to A even though it 
is not directly used by A. Instead,
      A can include D as a dependency in its dependencyManagement section and 
directly control which version of
@@ -62,6 +64,17 @@
  * <Dependency scope>
    - this allows you to only include dependencies appropriate for the current 
stage
      of the build. This is described in more detail below.
+
+ * <Excluded dependencies>
+   - If project X depends on project Y, and project Y depends on project Z, 
the owner of project X can explicitly exclude project Z
+     as a dependency, using the "exclusion" element.
+
+ * <Optional dependencies>
+   - If project Y depends on project Z, the owner of project Y can mark 
project Z
+     as an optional dependency, using the "optional" element.  When project X 
depends on project Y, X will 
+     depend only on Y and not on Y's optional dependency Z.  The owner of 
project X may then
+     explicitly add a dependency on Z, at her option.  (It may be helpful to 
think of optional
+     dependencies as "excluded by default.")
 
  []
 


Reply via email to