Author: mperham
Date: Sat Jul  8 13:02:46 2006
New Revision: 420184

URL: http://svn.apache.org/viewvc?rev=420184&view=rev
Log:
PR: MINSTALL-24, MINSTALL-27
Add classifier support so you can install sources, javadoc, etc
Documentation revision to clean up verbage, add site.xml, etc

Added:
    
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/custom-pom-installation.apt
      - copied, changed from r420179, 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/customed-pom-installation.apt
    maven/plugins/trunk/maven-install-plugin/src/site/site.xml   (with props)
    
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/
    
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/plugin-config.xml
   (with props)
    
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/target/
    
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/target/maven-install-test-1.0-SNAPSHOT.jar
Removed:
    
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/customed-pom-installation.apt
Modified:
    
maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java
    
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/generic-pom-generation.apt
    
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/installingChecksums.apt
    
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/updateReleaseInfo.apt
    maven/plugins/trunk/maven-install-plugin/src/site/apt/index.apt
    maven/plugins/trunk/maven-install-plugin/src/site/apt/usage.apt
    
maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallFileMojoTest.java

Modified: 
maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java?rev=420184&r1=420183&r2=420184&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-install-plugin/src/main/java/org/apache/maven/plugin/install/InstallFileMojo.java
 Sat Jul  8 13:02:46 2006
@@ -78,6 +78,14 @@
     protected String packaging;
 
     /**
+     * Classifier type of the artifact to be installed.  For example, 
"sources" or "javadoc".
+     * Defaults to none which means this is the project's main jar.
+     *
+     * @parameter expression="${classifier}"
+     */
+    protected String classifier;
+
+    /**
      * The file to be deployed
      *
      * @parameter expression="${file}"
@@ -130,7 +138,8 @@
             }
         }
 
-        Artifact artifact = artifactFactory.createArtifact( groupId, 
artifactId, version, null, packaging );
+        Artifact artifact = artifactFactory.createArtifactWithClassifier(
+                groupId, artifactId, version, packaging, classifier );
 
         // TODO: check if it exists first, and default to true if not
         if ( generatePom )

Copied: 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/custom-pom-installation.apt
 (from r420179, 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/customed-pom-installation.apt)
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/custom-pom-installation.apt?p2=maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/custom-pom-installation.apt&p1=maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/customed-pom-installation.apt&r1=420179&r2=420184&rev=420184&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/customed-pom-installation.apt
 (original)
+++ 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/custom-pom-installation.apt
 Sat Jul  8 13:02:46 2006
@@ -1,17 +1,16 @@
   ----
-  Maven 2 Install Plugin - Installing artifact with a customed Pom
+  Maven 2 Install Plugin - Installing an artifact with a customized POM
   ------
   Allan Ramirez
   ------
   June 2006
   ------
 
-Install an artifact with a customed POM
+Install an artifact with a custom POM
 
-  The install plugin also has a feature that allows a pom to be included
-  during the installation of a 3rd party artifact. This can be done by
-  setting the value of the <<pomFile>> parameter to the path of the
-  customed POM.
+  The install plugin can include a pre-built custom POM with the artifact
+  in the local repository.  Just set the value of the <<pomFile>> parameter 
+  to the path of the custom POM.
 
 +---+
 mvn install:install-file  -Dfile=path-to-your-artifact-jar \
@@ -20,4 +19,4 @@
                           -Dversion=version \
                           -Dpackaging=jar \
                           -DpomFile=path-to-pom
-+---+
\ No newline at end of file
++---+

Modified: 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/generic-pom-generation.apt
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/generic-pom-generation.apt?rev=420184&r1=420183&r2=420184&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/generic-pom-generation.apt
 (original)
+++ 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/generic-pom-generation.apt
 Sat Jul  8 13:02:46 2006
@@ -1,5 +1,5 @@
   ----
-  Maven 2 Install Plugin - Generic Pom Generation
+  Maven 2 Install Plugin - Generic POM Generation
   ------
   Allan Ramirez
   ------
@@ -8,12 +8,12 @@
 
 Generate a generic POM
 
-  By default there is no pom included in installing a 3rd party artifact.
-  Although the user may specify the pom but there are still times that the
-  artifact doesn't have poms such as the SUN jars. The install plugin has
-  the capability of creating a generic POM for this kind of artifacts which
-  contains minimum pom elements such as groupId, artifactId, version, 
packaging.
-  It can be activated by setting the <<generatePom>> parameter to <<true>>.
+  There are times when you do not have a POM for a 3rd party artifact.
+  For instance, when installing a proprietary or commercial JAR into a 
repository.
+  The install plugin can create a generic POM in this case which
+  contains the minimal set of POM elements required by Maven, such as groupId,
+  artifactId, version, packaging.  You tell Maven to generate a POM by setting 
the 
+  <<generatePom>> parameter to <<true>>.
 
 +---+
 mvn install:install-file  -Dfile=path-to-your-artifact-jar \
@@ -22,4 +22,4 @@
                           -Dversion=version \
                           -Dpackaging=jar \
                           -DgeneratePom=true
-+---+
\ No newline at end of file
++---+

Modified: 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/installingChecksums.apt
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/installingChecksums.apt?rev=420184&r1=420183&r2=420184&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/installingChecksums.apt
 (original)
+++ 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/installingChecksums.apt
 Sat Jul  8 13:02:46 2006
@@ -8,19 +8,19 @@
 
 Creating artifact checksums
 
-  The install plugin has the feature of creating the checksums(MD5, SHA-1)
-  of the artifacts during installation. Checksums are cryptographic hash
-  functions used for checking the integrity of the files. This can be
+  The install plugin can create integrity checksums (MD5, SHA-1)
+  for the artifacts during installation. Checksums are cryptographic hash
+  functions and are used to check the integrity of the associated file. This 
can be
   activated by setting the <<createChecksum>> parameter to <<true>>.
 
-  In <<<install:install>>> mojo.
+  In the <<<install:install>>> mojo.
 
 +---+
 mvn install -DcreateChecksum=true
 +---+
 
 
-  Can also be done in <<<install:install-file>>> goal.
+  In the <<<install:install-file>>> goal.
 
 +---+
 mvn install:install-file  -Dfile=path-to-your-artifact-jar \

Modified: 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/updateReleaseInfo.apt
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/updateReleaseInfo.apt?rev=420184&r1=420183&r2=420184&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/updateReleaseInfo.apt
 (original)
+++ 
maven/plugins/trunk/maven-install-plugin/src/site/apt/examples/updateReleaseInfo.apt
 Sat Jul  8 13:02:46 2006
@@ -8,5 +8,4 @@
 
 Update the release information of a project
 
-  
-
+  TODO

Modified: maven/plugins/trunk/maven-install-plugin/src/site/apt/index.apt
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/site/apt/index.apt?rev=420184&r1=420183&r2=420184&view=diff
==============================================================================
--- maven/plugins/trunk/maven-install-plugin/src/site/apt/index.apt (original)
+++ maven/plugins/trunk/maven-install-plugin/src/site/apt/index.apt Sat Jul  8 
13:02:46 2006
@@ -8,29 +8,28 @@
 
 Maven 2 Install Plugin - Introduction
 
-  Local Repository is the local cached of a remote repository where
-  all artifacts needed for the build are stored. By default, it is located at
-  the user home directory (~/.m2/repository) and can be configured in the
-  <<<settings.xml>>> at \<localRepository\> element.
-
-  The install plugin is used during the install phase, to place or add the
-  artifact(s) to the local repository correctly. The install plugin uses
-  the information in the POM(groupId, artifactId, version) to determine
-  the installation path of the artifact in order for maven to picked
-  it up correctly.
+  The Local Repository is the local cache where
+  all artifacts needed for the build are stored. By default, it is located 
within
+  the user's home directory (~/.m2/repository) but the location can be 
configured in 
+  <<<~/.m2/settings.xml>>> using the \<localRepository\> element.
+
+  The install plugin is used during the install phase to add 
+  artifact(s) to the local repository. The install plugin uses
+  the information in the POM (groupId, artifactId, version) to determine
+  the proper location for the artifact within the local repository.
 
 * Goals Overview
 
   The install plugin has 2 goals:
 
-  * {{{index.html}install:install}} is used to automatically install the
-    artifact in the local repository, its pom and the attached artifacts
-    produced by a particular project.
-
-  * {{{index.html}install:install-file}} is mostly used to install a single
-    or 3rd party artifact along with its pom. In that case the artifact
-    information can be taken from an optionally specified pomFile, but can
-    be completed/overriden using the command line.
+  * {{{install-mojo.html}install:install}} is used to automatically install the
+    main project artifact (the jar, war or ear), its pom and any attached 
artifacts
+    (sources, javadoc, etc) produced by a particular project.
+
+  * {{{install-file-mojo.html}install:install-file}} is mostly used to install 
an externally
+    created artifact into the local repository, along with its pom. In that 
case 
+       the project information can be taken from an optionally specified 
pomFile, but can
+    be given using command line parameters.
 
 * Usage
 
@@ -39,4 +38,4 @@
 
 * Examples
 
-  Sample use-cases for the plugin are available under the Examples menu
\ No newline at end of file
+  Sample use-cases for the plugin are available under the Examples menu.

Modified: maven/plugins/trunk/maven-install-plugin/src/site/apt/usage.apt
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/site/apt/usage.apt?rev=420184&r1=420183&r2=420184&view=diff
==============================================================================
--- maven/plugins/trunk/maven-install-plugin/src/site/apt/usage.apt (original)
+++ maven/plugins/trunk/maven-install-plugin/src/site/apt/usage.apt Sat Jul  8 
13:02:46 2006
@@ -10,9 +10,9 @@
 
 * The <<<install:install>>> Mojo
 
-  In most cases, install:install goal doesnt need any configurations, it
-  needs the project's POM(where information are retrieved) and its artifact 
file
-  then invoked the <<<install>>> phase of the default build lifecycle.
+  In most cases, install:install goal doesnt need any configuration, it
+  needs the project's POM and the artifact file to be installed during the 
+  <<<install>>> phase of the default build lifecycle.
 
 +---+
 mvn install
@@ -21,9 +21,9 @@
 * The <<<install:install-file>>> Mojo
 
   The <<<install:install-file>>> mojo is used primarily for installing 
artifacts to
-  which were not built by Maven. The project's development team may or may not
-  provide a POM for the artifact. The full usage statement of the install-file
-  mojo can be described as:
+  the local repository which were not built by Maven. The project's 
development team 
+  may or may not provide a POM for the artifact. Here's a complete example of 
the
+  install-file mojo:
 
 +---+
 mvn install:install-file -Dfile=your-artifact-1.0.jar \
@@ -32,6 +32,7 @@
                          [-DartifactId=your-artifact] \
                          [-Dversion=1.0] \
                          [-Dpackaging=jar] \
+                         [-Dclassifier=sources] \
                          [-DgeneratePom=true]
                          [-DcreateChecksum=true]
 +---+
@@ -42,4 +43,7 @@
     groupId can be considered if the groupId is not specified further for the
     current project or on the command line.
 
+  * the classifier parameter can be used to install secondary artifacts for a 
project,
+    like a javadoc or sources jar.  If not given, Maven assumes the file is 
the main
+       artifact for the project.
 

Added: maven/plugins/trunk/maven-install-plugin/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/site/site.xml?rev=420184&view=auto
==============================================================================
--- maven/plugins/trunk/maven-install-plugin/src/site/site.xml (added)
+++ maven/plugins/trunk/maven-install-plugin/src/site/site.xml Sat Jul  8 
13:02:46 2006
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<project name="Maven PMD Plugin">
+  <bannerLeft>
+    <name>Maven Install Plugin</name>
+    <src>http://maven.apache.org/images/apache-maven-project.png</src>
+    <href>http://maven.apache.org/</href>
+  </bannerLeft>
+  <bannerRight>
+    <src>http://maven.apache.org/images/maven-small.gif</src>
+  </bannerRight>
+  <body>
+    <links>
+      <item name="Maven 2" href="http://maven.apache.org/maven2/"/>
+    </links>
+
+    <menu name="Overview">
+      <item name="Overview" href="index.html"/>
+      <item name="Usage" href="usage.html"/>
+      <item name="FAQ" href="faq.html"/>
+    </menu>
+
+    <menu name="Examples">
+      <item name="Custom POM" href="examples/custom-pom-installation.html"/>
+      <item name="Generic POM" href="examples/generic-pom-generation.html"/>
+      <item name="Installing Checksums" 
href="examples/installingChecksums.html"/>
+      <item name="Updating Release Info" 
href="examples/updateReleaseInfo.html"/>
+    </menu>
+    ${reports}
+  </body>
+</project>

Propchange: maven/plugins/trunk/maven-install-plugin/src/site/site.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallFileMojoTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallFileMojoTest.java?rev=420184&r1=420183&r2=420184&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallFileMojoTest.java
 (original)
+++ 
maven/plugins/trunk/maven-install-plugin/src/test/java/org/apache/maven/plugin/install/InstallFileMojoTest.java
 Sat Jul  8 13:02:46 2006
@@ -43,6 +43,8 @@
     
     private String packaging;
     
+    private String classifier;
+
     private File file;
     
     private final String LOCAL_REPO = "target/local-repo/";
@@ -88,6 +90,30 @@
         assertTrue( installedArtifact.exists() );
     }
     
+    public void testInstallFileWithClassifier()
+        throws Exception
+    {
+        File testPom = new File( getBasedir(),
+                                 
"target/test-classes/unit/install-file-with-classifier/plugin-config.xml" );
+
+        InstallFileMojo mojo = ( InstallFileMojo ) lookupMojo( "install-file", 
testPom );
+
+        assertNotNull( mojo );
+
+        assignValuesForParameter( mojo );
+
+        assertNotNull( classifier );
+
+        mojo.execute();
+
+        File installedArtifact = new File( getBasedir(), LOCAL_REPO +
+                                           groupId + "/" + artifactId + "/" +
+                                           version + "/" + artifactId + "-" +
+                                           version + "-" + classifier + "." + 
packaging );
+
+        assertTrue( installedArtifact.exists() );
+    }
+
     public void testInstallFileWithGeneratePom()
         throws Exception
     {
@@ -245,6 +271,8 @@
         
         this.packaging  = ( String ) getVariableValueFromObject( obj, 
"packaging" );
         
+        this.classifier  = ( String ) getVariableValueFromObject( obj, 
"classifier" );
+
         this.file = ( File ) getVariableValueFromObject( obj, "file" );
     }
     

Added: 
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/plugin-config.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/plugin-config.xml?rev=420184&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/plugin-config.xml
 (added)
+++ 
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/plugin-config.xml
 Sat Jul  8 13:02:46 2006
@@ -0,0 +1,18 @@
+<project>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-install-plugin</artifactId>
+               <configuration>
+                 <groupId>org.apache.maven.test</groupId>
+                 <artifactId>maven-install-file-test</artifactId>
+                 <version>1.0-SNAPSHOT</version>
+                 <packaging>jar</packaging>
+      <classifier>sources</classifier>
+                 
<file>${basedir}/src/test/resources/unit/install-file-with-classifier/target/maven-install-test-1.0-SNAPSHOT.jar</file>
+                 <localRepository>${localRepository}</localRepository>
+               </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: 
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/plugin-config.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/target/maven-install-test-1.0-SNAPSHOT.jar
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-install-plugin/src/test/resources/unit/install-file-with-classifier/target/maven-install-test-1.0-SNAPSHOT.jar?rev=420184&view=auto
==============================================================================
Binary files /tmp/tmp81ephk and /tmp/tmpEPwK1q differ


Reply via email to