Author: aramirez Date: Wed Jun 21 03:55:31 2006 New Revision: 415959 URL: http://svn.apache.org/viewvc?rev=415959&view=rev Log: PR: MDEPLOY-35
added documentation Added: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-in-legacy-layout.apt maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-classifiers.apt maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-customed-pom.apt maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-generic-pom.apt maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-timestamps-suffix.apt maven/plugins/trunk/maven-deploy-plugin/src/site/apt/faq.apt maven/plugins/trunk/maven-deploy-plugin/src/site/apt/overview.apt - copied, changed from r415248, maven/plugins/trunk/maven-deploy-plugin/src/site/apt/introduction.apt maven/plugins/trunk/maven-deploy-plugin/src/site/apt/usage.apt Removed: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/howto.apt maven/plugins/trunk/maven-deploy-plugin/src/site/apt/introduction.apt Modified: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java maven/plugins/trunk/maven-deploy-plugin/src/site/site.xml Modified: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java?rev=415959&r1=415958&r2=415959&view=diff ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java (original) +++ maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployFileMojo.java Wed Jun 21 03:55:31 2006 @@ -112,6 +112,8 @@ private String repositoryLayout; /** + * Map that contains the layouts + * * @component role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout" */ private Map repositoryLayouts; @@ -126,11 +128,15 @@ private String url; /** + * Component used to create an artifact + * * @component */ private ArtifactFactory artifactFactory; /** + * Component used to create a repository + * * @component */ private ArtifactRepositoryFactory repositoryFactory; Modified: maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java?rev=415959&r1=415958&r2=415959&view=diff ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java (original) +++ maven/plugins/trunk/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java Wed Jun 21 03:55:31 2006 @@ -75,6 +75,8 @@ private List attachedArtifacts; /** + * Parameter used to update the metadata to make the artifact as release. + * * @parameter expression="${updateReleaseInfo}" default-value="false" */ private boolean updateReleaseInfo; Added: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-in-legacy-layout.apt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-in-legacy-layout.apt?rev=415959&view=auto ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-in-legacy-layout.apt (added) +++ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-in-legacy-layout.apt Wed Jun 21 03:55:31 2006 @@ -0,0 +1,49 @@ + ------ + Maven 2 Deploy Plugin - Examples on using the parameters of the plugin + ------ + Allan Ramirez + ------ + June 2006 + ------ + +Deploying the artifact in a legacy layout of repository + + "Legacy" is the layout used in maven 1 repositories while maven 2 uses "default". They are different + in terms of directory structure, timestamp of snapshots in default and existence of metadata files in default. + + * legacy layout directory structure: + ++---+ + groupId + | + +--artifactId + | + +--jars + | + +--artifact ++---+ + + * default layout directory structure: + ++---+ + groupId + | + +--artifactId + | + +--version + | | + | ---artifact + | + ---metadata ++---+ + + In able to deploy an artifact in a legacy layout + of repository, set the <<repositoryLayout>> parameter to <<<legacy>>> value. + ++---+ +mvn deploy:deploy-file -Durl=file://C:\m2-repo \ + -DrepositoryId=some.id \ + -Dfile=your-artifact-1.0.jar \ + -DpomFile=your-pom.xml \ + -DrepositoryLayout=legacy ++---+ \ No newline at end of file Added: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-classifiers.apt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-classifiers.apt?rev=415959&view=auto ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-classifiers.apt (added) +++ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-classifiers.apt Wed Jun 21 03:55:31 2006 @@ -0,0 +1,37 @@ + ---- + Maven 2 Deploy Plugin - Configurations + ------ + Allan Ramirez + ------ + June 2006 + ------ + +Deploying an artifact with classifiers + + Classifiers are the additional text given to describe an artifact. + ++---+ + artifact-name-1.0-bin.jar + artifact-name-1.0-dev.jar + artifact-name-1.0-prod.jar ++---+ + + From the above artifact names, classifiers can be located between the version and extension name of the artifact. + + *<<<bin>>> is used to describe that the artifact is a binary. + + *<<<dev>>> is used to describe that the artifact is for development. + + *<<<prod>>> is used to describe that the artifact is for production. + + [] + + To add classifier into your artifact for your deployment, set the text to the <<classifier>> parameter. + ++---+ +mvn deploy:deploy-file -Durl=file://C:\m2-repo \ + -DrepositoryId=some.id \ + -Dfile=path-to-your-artifact-jar \ + -DpomFile=path-to-your-pom.xml \ + -Dclassifier=bin ++---+ Added: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-customed-pom.apt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-customed-pom.apt?rev=415959&view=auto ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-customed-pom.apt (added) +++ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/deploying-with-customed-pom.apt Wed Jun 21 03:55:31 2006 @@ -0,0 +1,22 @@ + ---- + Maven 2 Deploy Plugin - Configurations + ------ + Allan Ramirez + ------ + June 2006 + ------ + +Deploying an artifact together with a customed pom + + If there is already an existing pom and want it to be deployed together with the 3rd party artifact, + set the <<pomFile>> parameter to the path of the pom.xml. + ++---+ +mvn deploy:deploy-file -Durl=file://C:\m2-repo \ + -DrepositoryId=some.id \ + -Dfile=path-to-your-artifact-jar \ + -DpomFile=path-to-your-pom.xml ++---+ + + Note that the groupId, artifactId, version and packaging informations are automatically retrieved from the + given pom. Added: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-generic-pom.apt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-generic-pom.apt?rev=415959&view=auto ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-generic-pom.apt (added) +++ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-generic-pom.apt Wed Jun 21 03:55:31 2006 @@ -0,0 +1,24 @@ + ---- + Maven 2 Deploy Plugin - Configurations + ------ + Allan Ramirez + ------ + June 2006 + ------ + +Disabling the generation of generic pom on deployment + + By default, If no pom is specified during deployment of your 3rd party artifact, a generic pom will be generated + which contains the minimum required elements needed for the pom. In order to disable it, set the + <<generatePom>> parameter to <<<false>>>. + ++---+ +mvn deploy:deploy-file -Durl=file://C:\m2-repo \ + -DrepositoryId=some.id \ + -Dfile=path-to-your-artifact-jar \ + -DgroupId=your.groupId \ + -DartifactId=your-artifactId \ + -Dversion=version \ + -Dpackaging=jar \ + -DgeneratePom=false ++---+ \ No newline at end of file Added: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-timestamps-suffix.apt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-timestamps-suffix.apt?rev=415959&view=auto ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-timestamps-suffix.apt (added) +++ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/examples/deployfile/disabling-timestamps-suffix.apt Wed Jun 21 03:55:31 2006 @@ -0,0 +1,20 @@ + ---- + Maven 2 Deploy Plugin - Configurations + ------ + Allan Ramirez + ------ + June 2006 + ------ + +Disabling the timestamp suffixed to the deployed artifact + + By default, when a snapshot version of an artifact is deployed to a repository, a timestamp is suffixed to it. + To disable the addition of timestamp to the artifact, set the <<uniqueVersion>> parameter to <<<false>>>. + ++---+ +mvn deploy:deploy-file -Durl=file://C:\m2-repo \ + -DrepositoryId=some.id \ + -Dfile=your-artifact-1.0.jar \ + -DpomFile=your-pom.xml \ + -DuniqueVersion=false ++---+ \ No newline at end of file Added: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/faq.apt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/apt/faq.apt?rev=415959&view=auto ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/site/apt/faq.apt (added) +++ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/faq.apt Wed Jun 21 03:55:31 2006 @@ -0,0 +1,9 @@ + ------ + Maven 2 Deploy Plugin - Frequently Asked Questions + ------ + Allan Ramirez + ------ + June 2006 + ------ + + Copied: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/overview.apt (from r415248, maven/plugins/trunk/maven-deploy-plugin/src/site/apt/introduction.apt) URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/apt/overview.apt?p2=maven/plugins/trunk/maven-deploy-plugin/src/site/apt/overview.apt&p1=maven/plugins/trunk/maven-deploy-plugin/src/site/apt/introduction.apt&r1=415248&r2=415959&rev=415959&view=diff ============================================================================== (empty) Added: maven/plugins/trunk/maven-deploy-plugin/src/site/apt/usage.apt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/apt/usage.apt?rev=415959&view=auto ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/site/apt/usage.apt (added) +++ maven/plugins/trunk/maven-deploy-plugin/src/site/apt/usage.apt Wed Jun 21 03:55:31 2006 @@ -0,0 +1,127 @@ + ------ + Maven 2 Deploy Plugin - HOW-TO + ------ + Jerome Lacoste + John Casey + ------ + January 29 2006 + ------ + +How-to + +* Introduction + + The Deploy Plugin has two basic functions. In most project builds, the + <<<deploy>>> phase of the build lifecycle is implemented using the + <<<deploy:deploy>>> mojo. Also, artifacts which are not built using Maven can + be added to any remote repository using the <<<deploy:deploy-file>>> mojo. + +* The <<<deploy:deploy>>> Mojo + + In most cases, this mojo is invoked when you call the <<<deploy>>> phase of + the default build lifecycle. + + To enable this mojo to function, you must include a valid + <<<\<distributionManagement/\>>>> section POM, which at the minimum provides a + <<<\<repository/\>>>> defining the remote repository location for your + artifact. To separate snapshot artifacts from release artifacts, you can also + specify a <<<\<snapshotRepository/\>>>> location. Finally, to deploy a project + website, you must specify a <<<\<site/\>>>> section here as well. It's also + important to note that this section can be inherited, allowing you to specify + the deployment location one time for a set of related projects. + + If your repository is secured, you may also want to configure your + <<<settings.xml>>> file to define corresponding <<<\<server/\>>>> entries + which provides authentication information. Server entries are matched to the + different parts of the distributionManagement using their <<<\<id/\>>>> + elements. For example, your project may have a distributionManagement section + similar to the following: + ++---+ +[...] + <distributionManagement> + <repository> + <id>internal.repo</id> + <name>MyCo Internal Repository</name> + <url>scp://host.com/path/to/remote/repository</url> + </repository> + <snapshotRepository> + <id>internal.repo</id> + <name>MyCo Internal Snapshot Repository</name> + <url>scp://host.com/path/to/snapshot/repository</url> + </snapshotRespository> + </distributionManagement> +[...] ++---+ + + In this case, you can specify a server definition in your <<<settings.xml>>> + to provide authentication information for both of these repositories at once. + Your server section might look like this: + ++---+ +[...] + <server> + <id>internal.repo</id> + <username>maven</username> + <password>foobar</password> + </server> +[...] ++---+ + + Unfortunately, Maven doesn't currently support hashed or encrypted passwords + in the <<<settings.xml>>>. + + Once you've configured your repository deployment information correctly + deploying your project's artifact will only require invocation of the + <<<deploy>>> phase of the build: + ++---+ +mvn deploy ++---+ + + +* The <<<deploy:deploy-file>>> Mojo + + The <<<deploy:deploy-file>>> mojo is used primarily for deploying artifacts to + which were not built by Maven. The project's development team may or may not + provide a POM for the artifact, and in some cases you may want to deploy the + artifact to an internal remote repository. The deploy-file mojo provides + functionality covering all of these use cases, and offers a wide range of + configurability for generating a POM on-the-fly. Additionally, you can specify + what layout your repository uses. The full usage statement of the deploy-file + mojo can be described as: + ++---+ +mvn deploy:deploy-file -Durl=file://C:\m2-repo \ + -DrepositoryId=some.id \ + -Dfile=your-artifact-1.0.jar \ + [-DpomFile=your-pom.xml] \ + [-DgroupId=org.some.group] \ + [-DartifactId=your-artifact] \ + [-Dversion=1.0] \ + [-Dpackaging=jar] \ + [-Dclassifier=test] \ + [-DgeneratePom=true] \ + [-DgeneratePom.description="My Project Description"] \ + [-DrepositoryLayout=legacy] \ + [-DuniqueVersion=false] ++---+ + + If the following required information is not specified in some way, the goal + will fail: + + * the artifact file to deploy + + * the group, artifact, version and packaging of the file to deploy. These can + be taken from the specified pomFile, and overriden or specified using the + command line. When the pomFile contains a <parent> section, the parent's + groupId can be considered if the groupId is not specified further for the + current project or on the command line. + + * the repository information: the url to deploy to and the repositoryId + mapping to a server section in the settings.xml file. If you don't specify a + repositoryId, Maven will try to extract authentication information using the + id <<<'remote-repository'>>>. + + [] + Modified: maven/plugins/trunk/maven-deploy-plugin/src/site/site.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-deploy-plugin/src/site/site.xml?rev=415959&r1=415958&r2=415959&view=diff ============================================================================== --- maven/plugins/trunk/maven-deploy-plugin/src/site/site.xml (original) +++ maven/plugins/trunk/maven-deploy-plugin/src/site/site.xml Wed Jun 21 03:55:31 2006 @@ -33,11 +33,16 @@ <item name="Maven 2" href="http://maven.apache.org/maven2/"/> </links> - <menu name="Overview"> - <item name="Plugin Goals" href="index.html"/> - <item name="Introduction" href="introduction.html"/> - <item name="How to Use" href="howto.html"/> - <item name="Javadoc" href="apidocs/index.html"/> + <menu name="Plugin Overview"> + <item name="Overview" href="overview.html"/> + <item name="Usage" href="usage.html"/> + </menu> + <menu name="Examples for plugin Configuration"> + <item name="Disable generic pom" href="examples/deployfile/disabling-generic-pom.html"/> + <item name="Deploy with customed pom" href="examples/deployfile/deploying-with-customed-pom.html"/> + <item name="Deploy with classifier" href="examples/deployfile/deploying-with-classifiers.html"/> + <item name="Disable timestamps suffix" href="examples/deployfile/disabling-timestamps-suffix.html"/> + <item name="Deploy in legacy" href="examples/deployfile/deploying-in-legacy-layout.html"/> </menu> ${reports} </body>