You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/06/24 14:08:44 UTC
svn commit: r201601 -
/maven/components/trunk/maven-site/src/site/apt/ant-tasks.apt
Author: brett
Date: Fri Jun 24 05:08:43 2005
New Revision: 201601
URL: http://svn.apache.org/viewcvs?rev=201601&view=rev
Log:
updated doco on ant tasks
Modified:
maven/components/trunk/maven-site/src/site/apt/ant-tasks.apt
Modified: maven/components/trunk/maven-site/src/site/apt/ant-tasks.apt
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-site/src/site/apt/ant-tasks.apt?rev=201601&r1=201600&r2=201601&view=diff
==============================================================================
--- maven/components/trunk/maven-site/src/site/apt/ant-tasks.apt (original)
+++ maven/components/trunk/maven-site/src/site/apt/ant-tasks.apt Fri Jun 24 05:08:43 2005
@@ -70,7 +70,7 @@
-----
<artifact:dependencies pathId="dependency.classpath">
- <dependency groupId="org.apache.maven.wagon" artifactId="wagon-provider-api"
+ <dependency groupId="org.apache.maven.wagon" artifactId="wagon-provider-test"
version="1.0-alpha-2"/>
<dependency groupId="org.codehaus.modello" artifactId="modello-core"
version="1.0-alpha-2-SNAPSHOT"/>
@@ -107,7 +107,7 @@
You can also specify a <<<scope>>> parameter on each dependency. This changes the behaviour of
transitive dependencies and is useful for building different types of classpaths. To see how it affects
- the behaviour of the dependencies, see the <a href="dependencies.html#Dependency_Scope">Dependency Mechanism</a>
+ the behaviour of the dependencies, see the {{{dependencies.html#Dependency_Scope} Dependency Mechanism}}
documentation in the Maven 2.0 site.
* Declaring Repositories
@@ -171,6 +171,8 @@
* 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.
+
Maven 2.0 POM files are required for deploying your own artifacts to a repository for use in the dependencies
elements of other projects.
@@ -191,12 +193,93 @@
<artifactId>wagon-provider-api</artifactId>
<version>1.0-alpha-2</version>
</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>
-----
-~~explain ID
+ 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 the 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 POM as Ant properties, you must define it as a reference. For example, to access the version from a POM,
+ you could 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 version is ${project.build.directory}</echo>
+-----
+
+ For more information on the elements available in the POM, see the {{{maven-model/maven.html} descriptor reference}}.
+
+The Settings File
+
+ The POM can be used to represent most of the information that the tasks have access to, including remote
+ repositories. For information that is user or environment specific, such as the <<<authentication>>> tag, are
+ specified in the <<<settings.xml>>> file in Maven, and can be accessed from the Ant tasks also.
+
+ 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.
+
+ 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>
+-----
+
+ For more information in configuring <<<settings.xml>>>, see:
+
+ * {{{configuration.html} Configuring Maven}}.
+
+ * {{{maven-settings/settings.html} Settings Descriptor Reference}}.
+
+ * There is a
+ {{{http://svn.apache.org/repos/asf/maven/components/trunk/maven-core/src/conf/settings.xml} sample settings file}}
+ in the Maven installation.
Sample Ant Script
@@ -215,8 +298,120 @@
* {{{maven-settings/settings.html} Settings Reference}}
-~~settings.xml
-~~reference
-~~exclusions
+ * {{{maven-model/maven.html} POM Reference}}
+
+Task Reference
+
+* <<<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:
+
+*-----------------+--------------------------------------------------------+
+| <<<verbose>>> | If <<<true>>> this displays the results of each dependency resolution and their relationships. Default is <false>.
+*-----------------+--------------------------------------------------------+
+| <<<filesetId>>> | The reference ID to store a fileset under of the resolved dependencies.
+*-----------------+--------------------------------------------------------+
+| <<<pathId>>> | The reference ID to store a path under of the resolved dependencies.
+*-----------------+--------------------------------------------------------+
+
+ The task can include the <<<dependency>>> nested type, in addition to the other shared types explained later.
+ You must include at least one <<<dependency>>> element, or a single <<<pom>>> element, but not both.
+
+** <<<dependency>>>
+
+*------------------+--------------------------------------------------------+
+| <<<groupId>>> | The group ID for of the dependency. <Required>
+*------------------+--------------------------------------------------------+
+| <<<artifactId>>> | The artifact ID for 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 its 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 for of the dependency to exclude. <Required>
+*------------------+--------------------------------------------------------+
+| <<<artifactId>>> | The artifact ID for of the dependency to exclude. <Required>
+*------------------+--------------------------------------------------------+
+
+* <<<install>>>
+
+ This task will install the given file into the local repository. It is stored using the information in the supplied
+ POM.
+
+*------------------+--------------------------------------------------------+
+| <<<file>>> | The file to install in the local repository. <Required>
+*------------------+--------------------------------------------------------+
+
+ The task must also take a nested <<<pom>>>, and can have an optional <<<localRepository>>> element.
+
+* <<<deploy>>>
+
+ This task will deploy the given file into the remote repository. It is stored using the information in the supplied
+ POM.
+
+*------------------+--------------------------------------------------------+
+| <<<file>>> | The file to deploy in the remote repository. <Required>
+*------------------+--------------------------------------------------------+
+
+ The task must also take a nested <<<pom>>>, and can have an optional <<<remoteRepository>>> element. If no
+ <<<remoteRepository>>> element is given, the <<<distributionManagement>>> section of the POM is used.
+
+Type Reference
+
+* <<<localRepository>>>
+
+ Specifies the location of the local repository of artifacts.
+
+*------------------+--------------------------------------------------------+
+| <<<location>>> | The directory of the local repository. <Required>
+*------------------+--------------------------------------------------------+
+| <<<layout>>> | The layout of the local repository. The valid options are <<<legacy>>> (Maven 1), or <<<default>>> (Maven 2).
+*------------------+--------------------------------------------------------+
+
+* <<<remoteRepository>>>
+
+ Specifies the location of the remote repository.
+
+*----------------------+--------------------------------------------------------+
+| <<<url>>> | The URL of the repository. <Required>
+*----------------------+--------------------------------------------------------+
+| <<<layout>>> | The layout of the remote repository. The valid options are <<<legacy>>> (Maven 1), or <<<default>>> (Maven 2).
+*----------------------+--------------------------------------------------------+
+| <<<snapshotPolicy>>> | How often to check for updates on dependencies with a version that includes <<<SNAPSHOT>>>. Valid values are <<<never>>>, <<<interval:XXX>>>, <<<daily>>> (<default)>, <<<always>>>.
+*----------------------+--------------------------------------------------------+
+| <<<checksumPolicy>>> | How to treat missing or incorrect checksums for the dependencies that are downloaded. Valid values are <<<warn>>> (<default>) and <<<fail>>>.
+*----------------------+--------------------------------------------------------+
+
+ The remote repository can also nest the following elements: <<<authentication>>> and <<<proxy>>>.
+
+** <<<proxy>>>
+
+ The proxy element is typically used for HTTP repositories. The layout is the same as in the
+ {{{maven-settings/settings.html#Proxy} settings reference}}.
+
+** <<<authentication>>>
+
+ The authentication element is used for passing a username, password and other credentials to the repository either
+ on upload or download. The layout is the same as in the {{{maven-settings/settings.html#Server} 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>
+*------------------+--------------------------------------------------------+
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org