Author: snicoll
Date: Sun Sep 25 01:32:41 2005
New Revision: 291392

URL: http://svn.apache.org/viewcvs?rev=291392&view=rev
Log:
* Moved maven-rar-plugin from the sandbox to maven-plugins
* MNG-854: Added javadoc and web site doco

Added:
    maven/components/trunk/maven-plugins/maven-rar-plugin/
      - copied from r291386, maven/components/trunk/sandbox/maven-rar-plugin/
    maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/
    maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/
    maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/howto.apt
    
maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/introduction.apt
    maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/site.xml
Modified:
    maven/components/trunk/maven-plugins/maven-rar-plugin/pom.xml
    
maven/components/trunk/maven-plugins/maven-rar-plugin/src/main/java/org/apache/maven/plugin/rar/RarMojo.java
    maven/components/trunk/maven-plugins/pom.xml

Modified: maven/components/trunk/maven-plugins/maven-rar-plugin/pom.xml
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-rar-plugin/pom.xml?rev=291392&r1=291386&r2=291392&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-rar-plugin/pom.xml (original)
+++ maven/components/trunk/maven-plugins/maven-rar-plugin/pom.xml Sun Sep 25 
01:32:41 2005
@@ -8,7 +8,7 @@
   <artifactId>maven-rar-plugin</artifactId>
   <packaging>maven-plugin</packaging>
   <name>Maven Rar plugin</name>
-  <version>2.0-beta-1-SNAPSHOT</version>
+  <version>2.0-beta-2-SNAPSHOT</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven</groupId>
@@ -17,8 +17,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-      <version>2.0-beta-1</version>
+      <artifactId>maven-project</artifactId>      
     </dependency>    
   </dependencies>
 </model>

Modified: 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/main/java/org/apache/maven/plugin/rar/RarMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-rar-plugin/src/main/java/org/apache/maven/plugin/rar/RarMojo.java?rev=291392&r1=291386&r2=291392&view=diff
==============================================================================
--- 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/main/java/org/apache/maven/plugin/rar/RarMojo.java
 (original)
+++ 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/main/java/org/apache/maven/plugin/rar/RarMojo.java
 Sun Sep 25 01:32:41 2005
@@ -58,7 +58,7 @@
      *
      * @parameter expression="${basedir}/src/rar/META-INF/ra.xml"
      */
-    private String raXmlLocation;
+    private String raXmlFile;
 
     /**
      * Specify if the generated jar file of this project should be
@@ -72,9 +72,8 @@
      * The location of the manifest file to be used within the rar file.
      *
      * @parameter expression="${basedir}/src/rar/META-INF/MANIFEST.MF"
-     * @TODO handle this field
      */
-    private String manifestLocation;
+    private String manifestFile;
 
     /**
      * Directory that resources are copied to during the build.
@@ -127,8 +126,8 @@
     {
         getLog().debug( " ======= RarMojo settings =======" );
         getLog().debug( "rarSourceDirectory[" + rarSourceDirectory + "]" );
-        getLog().debug( "manifestLocation[" + manifestLocation + "]" );
-        getLog().debug( "raXmlLocation[" + raXmlLocation + "]" );
+        getLog().debug( "manifestFile[" + manifestFile + "]" );
+        getLog().debug( "raXmlFile[" + raXmlFile + "]" );
         getLog().debug( "workDirectory[" + workDirectory + "]" );
         getLog().debug( "outputDirectory[" + outputDirectory + "]" );
         getLog().debug( "finalName[" + finalName + "]" );
@@ -185,6 +184,16 @@
             throw new MojoExecutionException( "Error copying RAR resources", e 
);
         }
 
+        // Include custom manifest if necessary
+        try
+        {
+            includeCustomRaXmlFile();
+        }
+        catch ( IOException e )
+        {
+            throw new MojoExecutionException( "Error copying ra.xml file", e );
+        }
+
         // Check if connector deployment descriptor is there
         File ddFile = new File( getBuildDir(), RA_XML_URI );
         if ( !ddFile.exists() )
@@ -199,6 +208,9 @@
             MavenArchiver archiver = new MavenArchiver();
             archiver.setOutputFile( rarFile );
 
+            // Include custom manifest if necessary
+            includeCustomManifestFile();
+
             archiver.getArchiver().addDirectory( getBuildDir() );
             archiver.createArchive( project, archive );
         }
@@ -206,8 +218,6 @@
         {
             throw new MojoExecutionException( "Error assembling RAR", e );
         }
-
-
     }
 
     protected File getBuildDir()
@@ -217,5 +227,33 @@
             buildDir = new File( workDirectory );
         }
         return buildDir;
+    }
+
+    private void includeCustomManifestFile()
+    {
+        File customManifestFile = new File( manifestFile );
+        if ( !customManifestFile.exists() )
+        {
+            getLog().info( "Could not find manifest file: " + manifestFile +" 
- Generating one");
+        }
+        else
+        {
+            getLog().info( "Including custom manifest file[" + 
customManifestFile + "]" );
+            archive.setManifestFile( customManifestFile );
+        }
+    }
+
+    private void includeCustomRaXmlFile()
+        throws IOException
+    {
+        if (raXmlFile == null || raXmlFile.trim().length() == 0) {
+
+        }
+        File raXml = new File(raXmlFile );
+        if (raXml.exists()) {
+            getLog().info( "Using ra.xml "+ raXmlFile);
+            File metaInfDir = new File(getBuildDir(), "META-INF");
+            FileUtils.copyFileToDirectory( raXml, metaInfDir);
+        }
     }
 }

Added: 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/howto.apt
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/howto.apt?rev=291392&view=auto
==============================================================================
--- 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/howto.apt 
(added)
+++ 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/howto.apt 
Sun Sep 25 01:32:41 2005
@@ -0,0 +1,53 @@
+ ------
+ Maven 2 Rar Plugin: configuration examples
+ ------
+ Stephane Nicoll
+ <[EMAIL PROTECTED]>
+ ------
+ September 25, 2005
+
+Introduction
+
+  The RAR plugin allows to package resource adapter archive. Invoking this 
plugin
+  will actually compile and generate an archive for the connector's compiled
+  classes.
+
+  By default, the generated JAR file is included in the RAR file. This behavior
+  is controlled by the <includeJar> property. For instance, to exclude the 
generated
+  JAR file from the RAR, configure your project as follows:
+
++--------
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-rar-plugin</artifactId>
+        <configuration>
+           <includeJar>false</includeJar>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
++---------
+
+
+   It is also possible to specify a custom location for the ra.xml file. For
+   instance to use the file located in src/resources/ra.xml, configure your
+   project as follows:
+
++--------
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-rar-plugin</artifactId>
+        <configuration>
+           <raXmlFile>src/resources/ra.xml</raXmlFile>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
++---------
+
+
+

Added: 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/introduction.apt
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/introduction.apt?rev=291392&view=auto
==============================================================================
--- 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/introduction.apt
 (added)
+++ 
maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/apt/introduction.apt
 Sun Sep 25 01:32:41 2005
@@ -0,0 +1,16 @@
+ ------
+ Maven 2 Rar Plugin
+ ------
+ Stephane Nicoll
+ <[EMAIL PROTECTED]>
+ ------
+ September 25, 2005
+
+Introduction
+
+  This plugin generates Resource adapter archive (RAR) file.
+
+  The full description of goals is available {{{index.html}here}}.
+
+
+

Added: maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/site.xml
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/site.xml?rev=291392&view=auto
==============================================================================
--- maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/site.xml 
(added)
+++ maven/components/trunk/maven-plugins/maven-rar-plugin/src/site/site.xml Sun 
Sep 25 01:32:41 2005
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed 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 name="Maven Rar Plugin">
+  <bannerLeft>
+    <name>Maven Rar 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="Introduction" href="introduction.html"/>
+      <item name="How to Use" href="howto.html"/>
+    </menu>
+    ${reports}
+  </body>
+</project>

Modified: maven/components/trunk/maven-plugins/pom.xml
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/pom.xml?rev=291392&r1=291391&r2=291392&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/pom.xml (original)
+++ maven/components/trunk/maven-plugins/pom.xml Sun Sep 25 01:32:41 2005
@@ -166,6 +166,7 @@
     <module>maven-pmd-plugin</module>
     <module>maven-projecthelp-plugin</module>
     <module>maven-project-info-reports-plugin</module>
+    <module>maven-rar-plugin</module>
     <module>maven-release-plugin</module>
     <module>maven-resources-plugin</module>
     <module>maven-site-plugin</module>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to