You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by de...@apache.org on 2008/07/17 21:29:15 UTC

svn commit: r677697 - in /maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site: ./ apt/ apt/index.apt apt/reference.apt apt/release-notes.apt site.xml

Author: dennisl
Date: Thu Jul 17 12:29:14 2008
New Revision: 677697

URL: http://svn.apache.org/viewvc?rev=677697&view=rev
Log:
[MANTTASKS-114] Improve documentation

o Copied the files /ant-tasks.apt and /ant-tasks-release-notes.apt from maven site.
o Extract task reference to its own page.
o Add site descriptor.

Added:
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/index.apt   (with props)
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/reference.apt   (with props)
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/release-notes.apt   (with props)
    maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/site.xml   (with props)

Added: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/index.apt?rev=677697&view=auto
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/index.apt (added)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/index.apt Thu Jul 17 12:29:14 2008
@@ -0,0 +1,448 @@
+  --------
+  Introduction
+  --------
+  Brett Porter
+  Herve Boutemy
+  --------
+  2008-07-17
+  --------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Ant Tasks for Maven 
+
+  Maven comes with a set of Ant tasks that can be used to utilize Maven's artifact handling features
+  from within Ant. This includes:
+
+    * <Dependency management> - including transitive dependencies, scope recognition and SNAPSHOT handling
+
+    * <Artifact deployment> - deployment to a Maven repository (file integrated, other with extensions)
+
+    * <POM processing> - for reading a Maven 2.0.x <<<pom.xml>>> file
+
+  The Ant tasks can be downloaded from {{{http://maven.apache.org/download.html} Maven 2.0 download page}}.
+
+  ~~ TODO: What is the minimum version of Ant required to use Maven Ant tasks?
+
+Installing the Maven Ant Tasks
+
+  For convenience, the Maven Ant tasks and all its dependencies are packaged together as a single JAR file.
+
+  There are two ways to use the tasks from your scripts.
+
+* Installing in Ant's <<<lib>>> directory
+
+  This is the simplest installation method but requires changes on every machine using the build file.
+  You can place the JAR in your Ant <<<lib>>> directory, include it in the <<<CLASSPATH>>> environment variable,
+  or pass it in to Ant using the <<<-lib>>> command line parameter.
+
+  Using this method, to make the tasks available in your build file, add the following namespace to the start of
+  the file:
+
+-----
+<project ... xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+  ...
+</project>
+-----
+
+* Declaring a <<<typedef>>>
+
+  Using a <<<typedef>>> declaration allows you to store the Ant Tasks' library anywhere you like (such as source control)
+  and put it's location in the build file. This can be used to bootstrap the tasks by using <<<get>>> to obtain
+  the library, and then reference it from the build script.
+
+  The following example shows how to set it up, assuming the library is in the <<<lib>>> subdirectory of your current
+  project.
+
+-----
+<project ... xmlns:artifact="urn:maven-artifact-ant">
+  ...
+  <path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.0.9.jar" />
+  <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
+           uri="urn:maven-artifact-ant"
+           classpathref="maven-ant-tasks.classpath" />
+  ...
+</project>
+-----
+
+Using the Maven Ant Tasks
+
+* Declaring Dependencies
+
+  The main purpose of the Maven Ant Tasks is to utilise Maven's {{{http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html} dependency management features}}.
+
+  This is achieved with the <<<dependencies>>> task. The simplest usage involves specifying your dependencies inline,
+  such as in the following example:
+
+-----
+<artifact:dependencies pathId="dependency.classpath">
+  <dependency groupId="junit" artifactId="junit"
+              version="3.8.2" scope="test"/>
+  <dependency groupId="org.codehaus.modello" artifactId="modello-core" 
+              version="1.0-alpha-2-SNAPSHOT"/>
+  <dependency groupId="javax.servlet" artifactId="servlet-api" 
+              version="2.4" scope="provided"/>
+</artifact:dependencies>
+-----
+
+  The above example will download those 3 dependencies, and their dependencies, and so on. They will be stored in
+  the default local repository location, <<<$\{user.home\}/.m2/repository>>>.
+
+  You can also use a Maven 2.0 POM to declare your dependencies, which is {{{./reference.html#pom} explained in the reference}}. This is the
+  recommended practice so that you can reuse the file to deploy your own artifacts. 
+
+  You may have noticed the <<<pathId>>> reference. This is optional, but if given will create a classpath reference
+  that includes the local files downloaded as dependencies. This is usually used to pass to <<<javac>>> or other tasks:
+
+-----
+<javac ...>
+  <classpath refid="dependency.classpath" />
+  ...
+</javac>
+-----
+
+  Another option you can use is <<<filesetId>>>, which will give you a fileset reference that can be used to copy
+  files into a particular location. For example, to populate <<<WEB-INF/lib>>> with your dependencies
+  you could use the following:
+
+-----
+<artifact:dependencies filesetId="dependency.fileset" useScope="runtime">
+  <!-- Your dependency definitions go here -->
+  ...
+</artifact:dependencies>
+<copy todir="${webapp.output}/WEB-INF/lib">
+  <fileset refid="dependency.fileset" />
+  <!-- This mapper strips off all leading directory information --> 
+  <mapper type="flatten" />
+</copy>
+-----
+
+  Note the <<<useScope>>> attribute in this call. This ensures that your web application only includes your compile
+  and runtime dependencies, excluding those that are only for testing or are expected to already be provided by
+  the servlet container.
+
+  You can also specify a <<<scope>>> parameter on each dependency. This changes the behavior of
+  transitive dependencies and is useful for building different types of classpaths. To see how it affects
+  the behaviour of the dependencies, see the {{{http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html} Dependency Mechanism}}
+  documentation on the Maven 2.0 site.
+  
+  Other options are:
+  
+    * <<<sourcesFilesetId>>>, which will give you a fileset reference containing sources artifacts, <(since 2.0.6)>
+    
+    * <<<javadocFilesetId>>>, which will give you a fileset reference containing javadoc artifacts, <(since 2.0.9)>
+    
+    * <<<org.apache.maven.artifact.ant.VersionMapper>>>, which can be used to drop version numbers in filenames <(since 2.0.7)>
+
+  For example, to populate <<<lib>>> with your dependencies without the version in the filenames, <<<lib/src>>> with the corresponding sources
+  and <<<lib/javadoc>>> with the corresponding javadocs:
+
+-----
+<artifact:dependencies filesetId="dependency.fileset"
+        sourcesFilesetId="sources.dependency.fileset"
+        javadocFilesetId="javadoc.dependency.fileset"
+        versionsId="dependency.versions">
+  <!-- Your dependency definitions go here -->
+  ...
+</artifact:dependencies>
+<copy todir="lib">
+  <fileset refid="dependency.fileset" />
+  <mapper classpathref="maven-ant-tasks.classpath"
+          classname="org.apache.maven.artifact.ant.VersionMapper"
+          from="${dependency.versions}" to="flatten" />
+</copy>
+<copy todir="lib/src">
+  <fileset refid="sources.dependency.fileset" />
+  <mapper classpathref="maven-ant-tasks.classpath"
+          classname="org.apache.maven.artifact.ant.VersionMapper"
+          from="${dependency.versions}" to="flatten" />
+</copy>
+<copy todir="lib/javadoc">
+  <fileset refid="javadoc.dependency.fileset" />
+  <mapper classpathref="maven-ant-tasks.classpath"
+          classname="org.apache.maven.artifact.ant.VersionMapper"
+          from="${dependency.versions}" to="flatten" />
+</copy>
+-----
+
+  <<Note:>> In the above example you only need to specify
+  <<<classpathref="maven-ant-tasks.classpath">>> if are using Maven Ant Tasks
+  by declaring a <<<typedef>>>.
+
+* Declaring Repositories
+
+  All of the tasks can optionally take one or more remote repositories to download from and upload to, and a
+  local repository to store downloaded and installed archives to.
+
+  These can be specified inline, or if you choose to reuse them, they can be declared with an <<<id>>>/<<<refid>>>
+  combination.
+
+  For example, you can specify the remote repository you want to use:
+
+-----
+<artifact:remoteRepository id="remote.repository"
+        url="http://repository.mycompany.com/" />
+...
+<artifact:dependencies>
+  <!-- Your dependency definitions go here -->
+  ...
+  <remoteRepository refid="remote.repository" />
+</artifact:dependencies>
+-----
+
+  If no remote repositories are specified, the default {{{http://repo1.maven.org/maven2/} http://repo1.maven.org/maven2/}}
+  is used. But if at least one remote repository is specified, repo1 is not automatically added: you have
+  to declare it if you need it.
+
+  <<Note:>> to work with transitive dependencies, you <must> use a Maven 2.0 repository.
+
+  If your repository requires authentication, you can provide this as a nested element. It accepts the
+  attributes <<<username>>>, <<<password>>>, and for SSH based repositories <<<privateKey>>>
+  and <<<passphrase>>>. For example:
+
+-----
+<authentication username="brett" privateKey="${user.home}/.ssh/id_dsa" />
+-----
+
+* Using a Maven {POM} File
+
+  In Maven, the Project Object Model (POM) represents a unit of work - one exists for each artifact that is built.
+
+  A Maven 2.0 POM file is required for deploying your own artifact to a repository for use in the dependencies
+  elements of other projects. 
+
+  It can also be reused for declaring your own dependencies, instead of specifying the inline version given earlier.
+
+  Here is the earlier example, expressed as a POM:
+
+-----
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>com.mycompany.project</groupId>
+  <artifactId>project-model</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.2</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.codehaus.modello</groupId>
+      <artifactId>modello-core</artifactId>
+      <version>1.0-alpha-2-SNAPSHOT</version>
+    </dependency>
+
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <version>2.4</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+</project>
+-----
+
+  These elements represent:
+
+    * <modelVersion> - this is the version of the POM layout in use, currently <<<4.0.0>>>.
+
+    * <groupId> - the group ID represents your organisation and project name, much like a Java package name.
+      This must be universally unique. This becomes the base directory in the repository as well.
+
+    * <artifactId> - the artifact ID represents the current build unit. It usually equals the filename of the
+      resulting file, and must be unique within the group.
+
+    * <version> - the version of the artifact you are building.
+
+    * <dependencies> - the artifacts that this project is dependant on.
+
+  This is all that is required for most projects. However, it is also possible to use other fields available in
+  Maven to describe your project, and reference them from your build script. 
+
+  To access a part of the POM as an Ant property, you must define it as a reference. For example, to access the version from a POM,
+  you can use the following:
+
+-----
+  <artifact:pom id="maven.project" file="pom.xml" />
+
+  <echo>The version is ${maven.project.version}</echo>
+-----
+
+  You can also access nested parts of the POM. For example, you can read the default value of the <<<directory>>>
+  element within the <<<build>>> element using a <<<.>>> separator.
+
+-----
+  <artifact:pom id="project" file="pom.xml" />
+
+  <echo>The build directory is ${project.build.directory}</echo>
+-----
+
+  For more information on the elements available in the POM, see the {{{http://maven.apache.org/maven-model/maven.html} descriptor reference}}.
+
+* Installing and Deploying Your Own Artifacts to a Repository
+
+  If you want to share your built artifacts between projects, you can use two other tasks: <<<install>>> for
+  installing them in your local repository for access as dependencies in other scripts, and <<<deploy>>> for
+  deploying them to a remote location you have set up to serve as a repository in your organisation.
+
+  <<Note:>> that the installation and deployment require that you have a Maven 2.0 POM file to deploy along with it.
+  These are required for the transitive dependency mechanism to work effectively, and can be quite simple to
+  create.
+
+  ~~ TODO: Write an introductory text explaining the example below
+
+-----
+...
+  <artifact:pom id="maven.project" file="pom.xml" />
+
+  <artifact:install file="target/maven-artifact-ant-2.0-alpha-3.jar">
+    <pom refid="maven.project"/>
+  </artifact:install>
+
+  <artifact:deploy file="target/maven-artifact-ant-2.0-alpha-3.jar">
+    <remoteRepository url="file://localhost/www/repository"/>
+    <pom refid="maven.project"/>
+  </artifact:deploy>
+...
+-----
+
+  For deploying using a protocol other than local file system, you need to register a provider to make the other
+  protocols available. For example:
+
+-----
+...
+  <artifact:install-provider artifactId="wagon-ssh" version="1.0-beta-2"/>
+
+  <artifact:deploy file="target/maven-artifact-ant-2.0-alpha-3.jar">
+    <remoteRepository url="scp://localhost/www/repository">
+      <authentication username="${repository.username}"
+              privateKey="${user.home}/.ssh/id_dsa"/>
+    </remoteRepository>
+    <pom refid="maven.project"/>
+  </artifact:deploy>
+...
+-----
+
+  <<Note:>> that if you use <<<antcall>>>, the provider isn't available during the Ant call: you have to register
+  it again if you need it.
+
+  ~~ TODO: Explain more thoroughly when you need to register a provider
+
+  Maven Ant Tasks contain <<<wagon-file>>> and <<<wagon-http-lightweight>>> providers. The other available providers are:
+
+*--------------+--------------------------+-------------------+
+| Protocol     | Artifact ID              | Version           |
+*--------------+--------------------------+-------------------+
+| <<<http>>>   | <<<wagon-http>>>         | <<<1.0-beta-2>>>  |
+*--------------+--------------------------+-------------------+
+| <<<scp>>>    | <<<wagon-ssh>>>          | <<<1.0-beta-2>>>  |
+*--------------+--------------------------+-------------------+
+| <<<scpexe>>> | <<<wagon-ssh-external>>> | <<<1.0-beta-2>>>  |
+*--------------+--------------------------+-------------------+
+| <<<ftp>>>    | <<<wagon-ftp>>>          | <<<1.0-beta-2>>>  |
+*--------------+--------------------------+-------------------+
+| <<<webdav>>> | <<<wagon-webdav>>>       | <<<1.0-beta-2>>>  |
+*--------------+--------------------------+-------------------+
+
+The Settings File
+
+  The POM can be used to represent most of the information that the tasks have access to, including remote
+  repositories. Information that are user or environment specific, such as the <<<authentication>>> tag, are
+  specified in the <<<settings.xml>>> file in Maven, and can also be accessed from the Ant tasks.
+
+  The file is first looked for in <<<$\{user.home\}/.ant/settings.xml>>>, then in <<<$\{user.home\}/.m2/settings.xml>>>
+  so that the settings can be shared with Maven 2.0 itself. Since 2.0.7, it is then looked for in
+  <<<$\{ANT_HOME\}/etc/settings.xml>>>, then in <<<$\{M2_HOME\}/conf/settings.xml>>> so that the settings
+  can be set for all users.
+  
+  Since 2.0.6, you can provide access to a settings file anywhere using <<<settingsFile>>> attribute:
+
+-----
+<artifact:dependencies settingsFile="/opt/maven/conf/settings.xml">
+  ...
+</artifact:dependencies>
+-----
+
+  For example, to specify your proxy settings, you would specify the following <<<settings.xml>>> file:
+
+-----
+<settings>
+  <proxies>
+    <proxy>
+      <protocol>http</protocol>
+      <host>proxy.host.net</host>
+      <port>8080</port>
+      <nonProxyHosts>localhost</nonProxyHosts>
+    </proxy>
+  </proxies>
+</settings>
+-----
+
+  Or to specify a <<<central>>> mirror, you would specify the following <<<settings.xml>>> file:
+
+-----
+<settings>
+  <mirrors>
+    <mirror>
+      <id>central.mirror</id>
+      <url>http://mirror.host.net/maven2</url>
+      <mirrorOf>central</mirrorOf>
+    </mirror>
+  </mirrors>
+</settings>
+-----
+
+  For more information on configuring <<<settings.xml>>>, see:
+
+    * {{{http://maven.apache.org/guides/mini/guide-configuring-maven.html} Configuring Maven}}.
+
+    * {{{http://maven.apache.org/maven-settings/settings.html} Settings Descriptor Reference}}.
+
+    * {{{http://maven.apache.org/guides/mini/guide-mirror-settings.html} Using Mirrors for Repositories}}.
+
+    ~~ TODO: The link below is broken
+
+    * There is a
+      {{{http://svn.apache.org/repos/asf/maven/components/trunk/maven-embedder/src/conf/settings.xml} sample settings file}}
+      in the Maven installation.
+
+Sample Ant Script
+
+  The file 
+  {{{http://svn.apache.org/repos/asf/maven/ant-tasks/trunk/sample.build.xml} sample.build.xml}}
+  is a sample Ant script showing some of the functionality in action.
+
+Getting Help
+
+  If you have any questions specific to the Ant tasks, please contact the
+  {{{http://maven.apache.org/mail-lists.html} Maven Users Mailing List}}.
+
+  For more on the Maven functionality behind them, try the following links:
+
+    * {{{http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html} Dependency Mechanism}}
+
+    * {{{http://maven.apache.org/maven-settings/settings.html} Settings Reference}}
+
+    * {{{http://maven.apache.org/maven-model/maven.html} POM Reference}}

Propchange: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/index.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/reference.apt
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/reference.apt?rev=677697&view=auto
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/reference.apt (added)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/reference.apt Thu Jul 17 12:29:14 2008
@@ -0,0 +1,221 @@
+ ------
+ Task Reference
+ ------
+ Brett Porter
+ Herve Boutemy
+ ------
+ 2008-07-17
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Task Reference
+
+  ~~ TODO: Can the task and type classes be generated using Modello?
+  ~~ If so, the reference documentation can be generated from the model.
+
+* <<<dependencies>>>
+
+  This task will check if any of the specified dependencies, and their dependencies are missing or updated, and
+  download them if necessary. The dependencies will be made available as a fileset or path reference.
+
+  The dependencies task accepts the following attributes:
+
+*-------------------------+--------------------------------------------------------+
+| <<<filesetId>>>         | The reference ID to store a fileset under, for the resolved dependencies.
+*-------------------------+--------------------------------------------------------+
+| <<<javadocFilesetId>>>  | The reference ID to store a fileset under, for the javadoc attachements of the resolved dependencies. <(since 2.0.9)>
+*-------------------------+--------------------------------------------------------+
+| <<<pathId>>>            | The reference ID to store a path under, for the resolved dependencies.
+*-------------------------+--------------------------------------------------------+
+| <<<pomRefId>>>          | The reference ID from a POM datatype defined earlier in the build file.
+*-------------------------+--------------------------------------------------------+
+| <<<sourcesFilesetId>>>  | The reference ID to store a fileset under, for the sources attachements of the resolved dependencies. <(since 2.0.6)>
+*-------------------------+--------------------------------------------------------+
+| <<<type>>>              | The type of artifacts to be retrieved. The default is <<<jar>>>.
+*-------------------------+--------------------------------------------------------+
+| <<<useScope>>>          | The scope to be retrieved.
+*-------------------------+--------------------------------------------------------+
+| <<<verbose>>>           | If <<<true>>> this displays the results of each dependency resolution and their relationships. Default is <false>.
+*-------------------------+--------------------------------------------------------+
+| <<<versionsId>>>        | The property ID to store the versions of the resolved dependencies, for use by a <<<VersionMapper>>>. <(since 2.0.7)>
+*-------------------------+--------------------------------------------------------+
+
+  The task can include the <<<dependency>>> nested type, in addition to the other shared types
+  <<<localRepository>>>, <<<pom>>> and <<<remoteRepository>>>, which will be explained later.
+
+  You must include either:
+       a single <<<pom>>> element
+       or a <<<pomRefId>>> attribute
+       or one or more <<<dependency>>> elements.
+
+  If you have set a value for <<<versionsId>>>, you can later use <<<VersionMapper>>>, for example during a copy:
+
+-----
+<copy todir="...">
+  <fileset refid="..." />
+  <mapper classpathref="maven-ant-tasks.classpath"
+          classname="org.apache.maven.artifact.ant.VersionMapper"
+          from="${...versionId property...}" to="flatten" />
+</copy>
+-----
+
+  <(since 2.0.8)> For each dependency resolved, the property <<<groupId:artifactId:type[:classifier]>>> is defined pointing to
+  the corresponding file.
+
+** <<<dependency>>>
+
+  ~~ TODO: Is system scope supported, in the table below?
+
+*------------------+--------------------------------------------------------+
+| <<<groupId>>>    | The group ID of the dependency. <Required>
+*------------------+--------------------------------------------------------+
+| <<<artifactId>>> | The artifact ID of the dependency. <Required>
+*------------------+--------------------------------------------------------+
+| <<<version>>>    | The version of the dependency. <Required>
+*------------------+--------------------------------------------------------+
+| <<<type>>>       | The type of the dependency. The default is <<<jar>>>.
+*------------------+--------------------------------------------------------+
+| <<<scope>>>      | The scope of the usage of the dependency, which affects which of that dependency's own dependencies are also retrieved. This can be <<<compile>>>, <<<runtime>>>, <<<test>>>, <<<provided>>>.
+*------------------+--------------------------------------------------------+
+
+  The dependency can also nest multiple <<<exclusion>>> elements.
+
+*** <<<exclusion>>>
+
+  An exclusion can be used to prevent the resolution of a particular artifact in the tree of the <<<dependency>>>.
+
+*------------------+--------------------------------------------------------+
+| <<<groupId>>>    | The group ID of the dependency to exclude. <Required>
+*------------------+--------------------------------------------------------+
+| <<<artifactId>>> | The artifact ID of the dependency to exclude. <Required>
+*------------------+--------------------------------------------------------+
+
+* <<<install>>>, <<<deploy>>>
+
+  These tasks will install/deploy the given file into the local/remote repository. It is stored using the information in the supplied
+  POM. Multiple artifacts can be attached during install/deploy using <<<attach>>> elements.
+
+*---------------------+--------------------------------------------------------------------------+-------------------------------------------------+
+| Attribute           | Description                                                              | Required                                        |
+*---------------------+--------------------------------------------------------------------------+-------------------------------------------------+
+| <<<file>>>          | The file to install in the repository.                                   | Yes, except if packaging is <<<pom>>>           |
+*---------------------+--------------------------------------------------------------------------+-------------------------------------------------+
+| <<<pomRefId>>>      | The reference ID from a POM datatype defined earlier in the build file.  | No, if a <<<pom>>> nested element is provided instead |
+*---------------------+--------------------------------------------------------------------------+-------------------------------------------------+
+| <<<uniqueVersion>>> | (<<<deploy>>> only) Whether to assign snapshots a unique version comprised of the timestamp and build number, or to use the same version each time | No, the default is <<<true>>>. |
+*---------------------+--------------------------------------------------------------------------+-------------------------------------------------+
+
+  The task must take either a nested <<<pom>>> element, or a <<<pomRefId>>> attribute.
+  The task can have an optional <<<localRepository>>> nested element.
+
+  <<<deploy>>> can have an optional <<<remoteRepository>>> nested element. If no
+  <<<remoteRepository>>> nested element is given, the <<<distributionManagement>>> section of the POM is used.
+
+** <<<attach>>> <(since 2.0.6)>
+
+  Multiple artifacts can be attached to the main artifact, for exemple: sources, javadocs, ...
+
+*------------------+--------------------------------------------------------+
+| <<<file>>>       | The file to attach. <Required>
+*------------------+--------------------------------------------------------+
+| <<<type>>>       | The type of the file. Defaults to <<<jar>>>.
+*------------------+--------------------------------------------------------+
+| <<<classifier>>> | The classifier of the file.
+*------------------+--------------------------------------------------------+
+
+* <<<install-provider>>>
+
+  This task will install a Wagon provider, to add support for more protocols.
+
+*------------------+--------------------------------------------------------------------------+
+| Attribute        | Description
+*------------------+--------------------------------------------------------------------------+
+| <<<artifactId>>> | The artifact ID of the provider to install. <Required>
+*------------------+--------------------------------------------------------------------------+
+| <<<groupId>>>    | The group ID of the provider to install. The default is <<<org.apache.maven.wagon>>>. <(since 2.0.7)>
+*------------------+--------------------------------------------------------------------------+
+| <<<version>>>    | The version of the provider to install. <Required>
+*------------------+--------------------------------------------------------------------------+
+
+Type Reference
+
+* <<<localRepository>>>
+
+  Specifies the location of the local repository of artifacts.
+
+*------------------+--------------------------------------------------------+
+| <<<layout>>>     | The layout of the local repository. The valid options are <<<legacy>>> (Maven 1), or <<<default>>> (Maven 2). Defaults to <<<default>>>.
+*------------------+--------------------------------------------------------+
+| <<<path>>>       | The directory of the local repository. <Required>
+*------------------+--------------------------------------------------------+
+
+  <<Note>>: until 2.0.6, attribute <<<path>>> was named <<<location>>>, but this has changed in 2.0.7 to solve a conflict with Ant 1.7.
+
+* <<<remoteRepository>>>
+
+  Specifies the location of the remote repository.
+
+*----------------------+--------------------------------------------------------+
+| <<<layout>>>         | The layout of the remote repository. The valid options are <<<legacy>>> (Maven 1), or <<<default>>> (Maven 2). Defaults to <<<default>>>.
+*----------------------+--------------------------------------------------------+
+| <<<releases>>>       | Policies regarding downloading released artifacts.
+*----------------------+--------------------------------------------------------+
+| <<<snapshots>>>      | Policies regarding downloading snapshot artifacts.
+*----------------------+--------------------------------------------------------+
+| <<<url>>>            | The URL of the repository. <Required>
+*----------------------+--------------------------------------------------------+
+
+  The <<<remoteRepository>>> can have the following nested elements: <<<authentication>>> and <<<proxy>>>.
+
+** <<<releases>>>, <<<snapshots>>>
+
+  Policies about downloading different types of artifacts.
+
+*----------------------+--------------------------------------------------------+
+| <<<checksumPolicy>>> | How to treat missing or incorrect checksums for the dependencies that are downloaded. Valid values are <<<warn>>> (<default>) and <<<fail>>>.
+*----------------------+--------------------------------------------------------+
+| <<<enabled>>>        | Whether to download this type of artifact from the repository. Default is <<<true>>>.
+*----------------------+--------------------------------------------------------+
+| <<<updatePolicy>>>   | How often to check for updates on dependencies that are snapshots or include a range of versions. Valid values are <<<never>>>, <<<interval:MINUTES>>>, <<<daily>>> (<default)>, <<<always>>>.
+*----------------------+--------------------------------------------------------+
+
+** <<<authentication>>>
+
+  The authentication element is used for passing a username, password and other credentials to the repository either
+  on upload or download. The content is the same as for <<<server>>> in the {{{http://maven.apache.org/maven-settings/settings.html#class_server} settings reference}}.
+
+** <<<proxy>>>
+
+  The proxy element is typically used for HTTP repositories. The content is the same as for <<<proxy>>> in the
+  {{{http://maven.apache.org/maven-settings/settings.html#class_proxy} settings reference}}.
+
+* <<<{pom}>>>
+
+  The POM element will load a POM file and make it available as a reference for the other tasks or as properties.
+
+*------------------+--------------------------------------------------------+
+| <<<file>>>       | The file of the POM to load. <Required>
+*------------------+--------------------------------------------------------+
+| <<<id>>>         | The reference ID of this POM.
+*------------------+--------------------------------------------------------+
+
+  ~~ TODO: Add reference documentation for VersionMapper

Propchange: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/reference.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/release-notes.apt
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/release-notes.apt?rev=677697&view=auto
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/release-notes.apt (added)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/release-notes.apt Thu Jul 17 12:29:14 2008
@@ -0,0 +1,151 @@
+  ------
+  Release Notes
+  ------
+  Herve Boutemy
+  ------
+  2008-04-17
+  ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Maven Ant Tasks
+
+* 2.0.9 Release Notes
+
+  The full list of changes can be found in our {{{http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&pid=11533&fixfor=13935&sorter/field=issuekey&sorter/order=DESC}issue management system}}, and is reproduced below.
+
+**Bug
+
+    * [MANTTASKS-13] - Ant Tasks use of <authentication> is inconsistent
+  
+    * [MANTTASKS-91] - [task dependencies]Trouble between mvn and manttasks
+  
+    * [MANTTASKS-103] - Can't deploy to a file: repository
+  
+    * [MANTTASKS-104] - files returned in sourcesFileset when no dependencies sources available
+  
+    * [MANTTASKS-105] - dependencies task don't read remote repositories from settings xml
+  
+    * [MANTTASKS-107] - repository defined in pom not used to download parent pom when defining pom reference
+  
+    * [MANTTASKS-108] - Maven Ant Tasks are switching the Classloader of the Main Ant Thread
+
+**Improvement
+
+    * [MANTTASKS-88] - Add the ability to download javadoc dependencies
+
+* 2.0.8 Release Notes
+
+  The full list of changes can be found in our {{{http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&pid=11533&fixfor=13618&sorter/field=issuekey&sorter/order=DESC}issue management system}}, and is reproduced below.
+
+**Bug
+
+    * [MANTTASKS-2] - artifact:dependencies related error: No files specified for filelist
+
+    * [MANTTASKS-22] - artifact:dependencies does not respect in the generated classpath the order of the dependencies
+
+    * [MANTTASKS-23] - antlib:deploy doesn't set correct snapshot version
+
+    * [MANTTASKS-67] - artifact:deploy - The name of deploying element in snapshot repository is wrong
+
+    * [MANTTASKS-77] - <offline> element of settings.xml ignored by artifact:dependencies.
+
+    * [MANTTASKS-78] - unable to download a dependency when it is a SNAPSHOT and multiple remoteRepositories are used
+
+    * [MANTTASKS-79] - add XML encoding support for pom.xml and settings.xml
+
+    * [MANTTASKS-82] - Environment variables are not resolved in settings files
+
+    * [MANTTASKS-84] - VersionMapper does not work on SNAPSHOT dependencies where uniqueVersion="true"
+
+    * [MANTTASKS-85] - settings config ignored for remoteRepositories not defined in pom
+
+    * [MANTTASKS-87] - Using a pom.xml for dependencies, in which the pom.xml has a parent pom.xml will cause a "Error downloading parent pom" error
+
+    * [MANTTASKS-98] - NPE if user settings file doesn't exist
+
+**Improvement
+
+    * [MANTTASKS-33] - Pass Ant properties for resolved dependency JARs
+
+    * [MANTTASKS-80] - weak/Inconsistent handling of settings
+
+    * [MANTTASKS-97] - add support for <mirrorOf>*</mirrorOf>
+
+    * [MANTTASKS-101] - get pom properties values like any other element
+
+* 2.0.7 Release Notes
+
+  <<Warning>>: there are 2 incompatible changes that you must know before upgrading, to fix your Ant build files:
+
+    [[1]][MANTTASKS-44]: <<<\<localRepository path="..."/\>>>> instead of <<<\<localRepository location=""/\>>>> for Ant 1.7 compatibility
+    (location attribute is used internally by Ant 1.7)
+
+    [[2]][MANTTASKS-65]:  central repository is not automatically added any more if a remoteRepository is set: the code has been changed to work
+    as expected and documented (explicit declaration)
+
+  The full list of changes can be found in our {{{http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&fixfor=13521&pid=11533&sorter/field=issuekey&sorter/order=DESC}issue management system}}, and is reproduced below.
+
+**Bug
+
+    * [MANTTASKS-1] - dependencies ant task incorrectly handles transitive snapshot dependencies
+
+    * [MANTTASKS-6] - ant artifact doesn't read settings.xml
+
+    * [MANTTASKS-11] - antlib + http based repository + version range errors badly
+
+    * [MANTTASKS-12] - No means of preventing ant task from querying repo1.maven.org
+
+    * [MANTTASKS-15] - scp:// urls not recognised, even when wagon-ssh is installed.
+
+    * [MANTTASKS-18] - filesetId does not contain all dependencies when artifact was not yet locally installed
+
+    * [MANTTASKS-26] - artifact:dependencies filesetId attribute causes NPE
+
+    * [MANTTASKS-65] - [PATCH] add central repository only if no remoteRepository set
+
+    * [MANTTASKS-70] - m2 tasks not reentrant
+
+    * [MANTTASKS-75] - [PATCH] NPE if loaded settings.xml does not contain <localRepository>
+
+**Improvement
+
+    * [MANTTASKS-44] - bootstrap of components/trunk fails with ant-1.7.0RC1
+
+    * [MANTTASKS-66] - [PATCH] add more information when Ant run in verbose mode (ant -v)
+
+    * [MANTTASKS-69] - [PATCH] improve sample.build.xml
+
+    * [MANTTASKS-72] - Remove hardcoded groupId in install-provider task
+
+    * [MANTTASKS-76] - [PATCH] update Maven Ant Tasks to Maven core 2.0.7
+
+**New Feature
+
+    * [MANTTASKS-29] - more powerful filesetId
+
+**Wish
+
+    * [MANTTASKS-24] - Not enough diagnostics if failed to validate POM
+
+    * [MANTTASKS-37] - The Dependencies task of Maven Antlib should override an existing path reference instead of failing
+
+    * [MANTTASKS-73] - miss RemoteRepository sub-element for tasks pom and install-provider

Propchange: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/apt/release-notes.apt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/site.xml
URL: http://svn.apache.org/viewvc/maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/site.xml?rev=677697&view=auto
==============================================================================
--- maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/site.xml (added)
+++ maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/site.xml Thu Jul 17 12:29:14 2008
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project>
+  <!-- TODO: Inherit publish date -->
+  <publishDate position="right" />
+  <body>
+    <!-- TODO: Inherit breadcrumbs -->
+    <breadcrumbs>
+      <item name="Apache" href="http://www.apache.org/"/>
+      <item name="Maven" href="http://maven.apache.org/"/>
+      <item name="Ant Tasks" href="http://maven.apache.org/maven-ant-tasks/"/>
+    </breadcrumbs>
+
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+      <item name="Task Reference" href="reference.html"/>
+      <item name="Release Notes" href="release-notes.html"/>
+    </menu>
+
+    <!-- TODO: Inherit Maven Projects -->
+    <menu name="Maven Projects" inherit="bottom">
+      <item name="Ant Tasks"         href="http://maven.apache.org/ant-tasks.html" />
+      <!-- No site available for archetype yet
+      <item name="Archetype"         href="http://maven.apache.org/archetype/index.html" />
+      -->
+      <item name="Doxia"             href="http://maven.apache.org/doxia/index.html" />
+      <item name="JXR"               href="http://maven.apache.org/jxr/index.html" />
+      <item name="Maven 1.x"         href="http://maven.apache.org/maven-1.x/index.html" />
+      <item name="Maven 2"           href="http://maven.apache.org/index.html" />
+      <item name="Plugins"           href="http://maven.apache.org/plugins/index.html" />
+      <item name="SCM"               href="http://maven.apache.org/scm/index.html" />
+      <item name="Shared Components" href="http://maven.apache.org/shared/index.html" />
+      <item name="Surefire"          href="http://maven.apache.org/surefire/index.html" />
+      <item name="Wagon"             href="http://maven.apache.org/wagon/index.html" />
+    </menu>
+  </body>
+</project>

Propchange: maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/site/site.xml
------------------------------------------------------------------------------
    svn:eol-style = native