[MANTTASKS-4] improved documentation about system scope support
git-svn-id: https://svn.apache.org/repos/asf/maven/ant-tasks/trunk@965117 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java b/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
index 16780a6..de17787 100644
--- a/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
+++ b/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
@@ -64,7 +64,7 @@
extends AbstractArtifactWithRepositoryTask
{
private static final String[] SCOPES = { Artifact.SCOPE_COMPILE, Artifact.SCOPE_PROVIDED, Artifact.SCOPE_RUNTIME,
- Artifact.SCOPE_TEST };
+ Artifact.SCOPE_TEST, Artifact.SCOPE_SYSTEM };
private static final Set<String> SCOPES_SET;
static
diff --git a/src/site/apt/examples/dependencies.apt b/src/site/apt/examples/dependencies.apt
index ef8c32a..8171a46 100644
--- a/src/site/apt/examples/dependencies.apt
+++ b/src/site/apt/examples/dependencies.apt
@@ -134,8 +134,8 @@
Note about system scope
Dependencies that use the <<<system>>> scope specify a path on the local system that may be outside
- of the local maven repository. An Ant fileset only allows a single base directory, so these
- dependencies will not be included in the generated fileset object. The will, however, be included
+ of the local maven repository. An Ant fileset only allows a single base directory, so these
+ dependencies will not be included in the generated fileset for resolved dependencies. They will, however, be included
in the path object.
Filtering Dependencies by Scope
@@ -148,14 +148,14 @@
can be set to one of three possible scopes: compile, runtime, or test. These scopes will
behave as follows.
- * compile - Includes scopes compile, system, and provided
+ * <<<compile>>> - Includes scopes <<<compile>>>, <<<system>>> and <<<provided>>>
- * runtime - Includes scopes compile and runtime
+ * <<<runtime>>> - Includes scopes <<<compile>>> and <<<runtime>>>
- * test - Includes scopes system, provided, compile, runtime, and test
+ * <<<test>>> - Includes scopes <<<system>>>, <<<provided>>>, <<<compile>>>, <<<runtime>>> and <<<test>>>
- For example, using the scope <<<runtime>>>, any dependencies defined with compile,
- runtime, or nothing (defaults to compile) in the scope field will be included in
+ For example, using the scope <<<runtime>>>, any dependencies defined with <<<compile>>>,
+ <<<runtime>>>, or nothing (defaults to <<<compile>>>) in the <<<scope>>> field will be included in
the resulting fileset.
-----
@@ -165,9 +165,9 @@
-----
<(Since 2.0.10)> The <<<scopes>>> attribute accepts a comma separated list of scopes to
- include in the filtering. Only dependencies with these specific scopes will be
+ include in the filtering. Only dependencies with these specific scopes will be
included in the resulting fileset. If no value is specified, all scopes are included.
- The following example includes only dependencies with a scope of either "provided" or "test".
+ The following example includes only dependencies with a scope of either <<<provided>>> or <<<test>>>.
-----
<artifact:dependencies filesetId="deps.fileset" scopes="provided, test">
@@ -178,8 +178,8 @@
Filtering Dependencies by Type
- Dependencies can be filterd by type by using the <<<type>>> attribute. This can be set to a
- comma separate list of the types to select. The following example will only include artifacts of the jar type.
+ Dependencies can be filtered by type by using the <<<type>>> attribute. This can be set to a
+ comma separated list of the types to select. The following example will only include artifacts of the <<<jar>>> type.
-----
<artifact:dependencies filesetId="deps.fileset" type="jar">
@@ -187,24 +187,24 @@
</artifact:dependencies>
-----
- By default all artifact types will be included when building the list of dependencies.
+ By default, all artifact types will be included when building the list of dependencies.
-
-Generating an Ant build with the dependency properties and references
+
+Generating an Ant build with the dependency properties and references
<(Since 2.1.0)> For a project with a large dependency tree, the resolution process can take some time.
In these cases, the dependencies task provides an option to generate an Ant build file (called build-dependencies.xml
- by default) that contains properties and references generated by the dependency resolution. This file can be
- used as a cache to quicly load the paths to the dependency artifacts. Or it can be used directly in
+ by default) that contains properties and references generated by the dependency resolution. This file can be
+ used as a cache to quickly load the paths to the dependency artifacts. Or it can be used directly in
other ant build files via the <<import>> task.
-
- There are two parameters to the dependencies task related to this feature <<cacheDependencyRefs>> and
+
+ There are two parameters to the dependencies task related to this feature <<cacheDependencyRefs>> and
<<dependencyRefsBuildFile>>. The first is a boolean parameter to say whether the build file should be
generated. By default the file will be created as "./target/build-dependencies.xml". The second parameter
allows the default file name to be changed.
-
+
For example, to turn on the dependency cache, the following configuration could be used.
-
+
-----
<artifact:dependencies cacheDependencyRefs="true">
<pom file="mypom.xml"/>
@@ -214,7 +214,7 @@
The first time the build is run, the dependencies will be resolved from the repository, and the task
will generate a file called "build-dependencies.xml". This file contains a list of the properties
and fileset references generated during the build. The next time the build is run, the dependency
- references will simply be loaded from the generate file.
-
-
-
+ references will simply be loaded from the generate file.
+
+
+
diff --git a/src/site/apt/reference.apt b/src/site/apt/reference.apt
index 7eafa57..9010994 100644
--- a/src/site/apt/reference.apt
+++ b/src/site/apt/reference.apt
@@ -56,7 +56,7 @@
*-------------------------+---------------------------------------------------------------------------+--------------+-------------+
| <<<type>>> | A comma separated list of artifact types to be retrieved. By default all artifact types will be included. | No | |
*-------------------------+---------------------------------------------------------------------------+--------------+-------------+
-| <<<useScope>>> | Follows the maven scope behaviour. Can be set to <<<compile>>>, <<<runtime>>>, or <<<test>>>. If no value is provided, all scopes will be included. | No | |
+| <<<useScope>>> | Follows the Maven scope behaviour. Can be set to <<<compile>>>, <<<runtime>>>, or <<<test>>>. If no value is provided, all scopes will be included. | No | |
*-------------------------+---------------------------------------------------------------------------+--------------+-------------+
| <<<scopes>>> | A comma separated list of specific scopes to be retrieved. If no value is provided, all scopes will be included. | No | 2.0.10 |
*-------------------------+---------------------------------------------------------------------------+--------------+-------------+
@@ -87,7 +87,8 @@
** <<<dependency>>>
- ~~ TODO: Is system scope supported, in the table below?
+ Dependency definition is done in Maven Ant Tasks exactly like it is done in Maven: it is summarized here, but you can look at
+ {{{http://maven.apache.org/ref/current/maven-model/maven.html#class_dependency} the reference documentation}} for more information.
*------------------+--------------------------------------------------------+--------------+
| <<Attribute>> | <<Description>> | <<Required>> |
@@ -102,11 +103,20 @@
*------------------+--------------------------------------------------------+--------------+
| <<<classifier>>> | The classifier of the dependency. | No |
*------------------+--------------------------------------------------------+--------------+
-| <<<scope>>> | The scope of the usage of the dependency, which {{{http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope}} affects which of that dependency's own dependencies are also retrieved}. This can be <<<compile>>> (default), <<<runtime>>>, <<<test>>>, <<<provided>>>. | No |
+| <<<scope>>> | The scope of the usage of the dependency, which {{{http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope}} affects which of that dependency's own dependencies are also retrieved}. This can be <<<compile>>> (default), <<<runtime>>>, <<<test>>>, <<<provided>>> or <<<system>>>. | No |
+*------------------+--------------------------------------------------------+--------------+
+| <<<systemPath>>> | FOR SYSTEM SCOPE ONLY. This specifies the path on the filesystem for this dependency. | No |
*------------------+--------------------------------------------------------+--------------+
The dependency can also nest multiple <<<exclusion>>> elements.
+*** Note about system scope
+
+ Dependencies that use the <<<system>>> scope specify a path on the local system that may be outside
+ of the local maven repository. An Ant fileset only allows a single base directory, so these
+ dependencies will not be included in the generated fileset for resolved dependencies. They will, however, be included
+ in the path object.
+
*** <<<exclusion>>>
An exclusion can be used to prevent the resolution of a particular artifact in the tree of the <<<dependency>>>.