You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by ev...@apache.org on 2005/07/04 08:04:30 UTC

svn commit: r209016 - in /maven/components/trunk/sandbox/maven-ear-plugin: ./ src/main/java/org/apache/maven/plugin/ear/

Author: evenisse
Date: Sun Jul  3 23:04:27 2005
New Revision: 209016

URL: http://svn.apache.org/viewcvs?rev=209016&view=rev
Log:
Adding supports for encoding doctype/xschema declaration and the new provided scope.

Modified:
    maven/components/trunk/sandbox/maven-ear-plugin/pom.xml
    maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java
    maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/ApplicationXmlWriter.java
    maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java
    maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/GenerateApplicationXmlMojo.java

Modified: maven/components/trunk/sandbox/maven-ear-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-ear-plugin/pom.xml?rev=209016&r1=209015&r2=209016&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-ear-plugin/pom.xml (original)
+++ maven/components/trunk/sandbox/maven-ear-plugin/pom.xml Sun Jul  3 23:04:27 2005
@@ -8,12 +8,12 @@
   <artifactId>maven-ear-plugin</artifactId>
   <packaging>maven-plugin</packaging>
   <name>Maven Ear plugin</name>
-  <version>2.0-alpha-1-SNAPSHOT</version>
+  <version>2.0-beta-1-SNAPSHOT</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-archiver</artifactId>
-      <version>2.0-alpha-2</version>
+      <version>2.0-alpha-3</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
@@ -23,7 +23,7 @@
     <dependency>
       <groupId>plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>1.0-alpha-3</version>
+      <version>1.0.1-SNAPSHOT</version>
     </dependency>
   </dependencies>
 </model>

Modified: maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java?rev=209016&r1=209015&r2=209016&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java (original)
+++ maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/AbstractEarMojo.java Sun Jul  3 23:04:27 2005
@@ -72,7 +72,8 @@
             for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
             {
                 Artifact artifact = (Artifact) iter.next();
-                if ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+                if ( !Artifact.SCOPE_TEST.equals( artifact.getScope())  ||
+                    !Artifact.SCOPE_PROVIDED.equals( artifact.getScope()) )
                 {
                     EarModule module = EarModuleFactory.newEarModule( artifact );
                     modules.add( module );

Modified: maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/ApplicationXmlWriter.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/ApplicationXmlWriter.java?rev=209016&r1=209015&r2=209016&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/ApplicationXmlWriter.java (original)
+++ maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/ApplicationXmlWriter.java Sun Jul  3 23:04:27 2005
@@ -37,12 +37,21 @@
  */
 public final class ApplicationXmlWriter
 {
+    public static final String DOCTYPE_1_3 = "application PUBLIC\n" +
+        "\t\"-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN\"\n" +
+        "\t\"http://java.sun.com/dtd/application_1_3.dtd\"";
+
+    private static final String APPLICATION_ELEMENT = "application";
+
 
     private final String version;
 
-    public ApplicationXmlWriter( String version )
+    private final String encoding;
+
+    public ApplicationXmlWriter( String version, String encoding )
     {
         this.version = version;
+        this.encoding = encoding;
     }
 
     public void write( File destinationFile, List earModules, String displayName, String description )
@@ -59,10 +68,15 @@
                                           ex );
         }
 
-        // @todo Add DTD or XSchema reference based on version attribute
-
-        XMLWriter writer = new PrettyPrintXMLWriter( w );
-        writer.startElement( "application" );
+        XMLWriter writer = null;
+        if ( GenerateApplicationXmlMojo.VERSION_1_3.equals( version ) )
+        {
+            writer = initializeRootElementOneDotThree( w );
+        }
+        else if ( GenerateApplicationXmlMojo.VERSION_1_4.equals( version ) )
+        {
+            writer = initializeRootElementOneDotFour( w );
+        }
 
         if ( displayName != null )
         {
@@ -104,5 +118,24 @@
         {
             // TODO: warn
         }
+    }
+
+    private XMLWriter initializeRootElementOneDotThree( FileWriter w )
+    {
+        XMLWriter writer = new PrettyPrintXMLWriter( w, encoding, DOCTYPE_1_3 );
+        writer.startElement( APPLICATION_ELEMENT );
+        return writer;
+    }
+
+    private XMLWriter initializeRootElementOneDotFour( FileWriter w )
+    {
+        XMLWriter writer = new PrettyPrintXMLWriter( w, encoding, null );
+        writer.startElement( APPLICATION_ELEMENT );
+        writer.addAttribute( "xmlns", "http://java.sun.com/xml/ns/j2ee" );
+        writer.addAttribute( "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" );
+        writer.addAttribute( "xsi:schemaLocation",
+                             "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" );
+        writer.addAttribute( "version", "1.4" );
+        return writer;
     }
 }

Modified: maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java?rev=209016&r1=209015&r2=209016&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java (original)
+++ maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/EarMojo.java Sun Jul  3 23:04:27 2005
@@ -29,7 +29,7 @@
 import java.util.List;
 
 /**
- * The Ear Mojo.
+ * Builds J2EE Enteprise Archive (EAR) files.
  *
  * @author <a href="stephane.nicoll@gmail.com">Stephane Nicoll</a>
  * @version $Id $
@@ -77,7 +77,7 @@
      *
      * @parameter alias="earName" expression="${project.build.finalName}"
      * @required
-     * @readonly
+     * @readonly     
      */
     private String finalName;
 

Modified: maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/GenerateApplicationXmlMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/GenerateApplicationXmlMojo.java?rev=209016&r1=209015&r2=209016&view=diff
==============================================================================
--- maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/GenerateApplicationXmlMojo.java (original)
+++ maven/components/trunk/sandbox/maven-ear-plugin/src/main/java/org/apache/maven/plugin/ear/GenerateApplicationXmlMojo.java Sun Jul  3 23:04:27 2005
@@ -23,8 +23,7 @@
 import java.io.IOException;
 
 /**
- * A <tt>Mojo</tt> used to build the <tt>application.xml</tt> file
- * if necessary.
+ * A Mojo used to build the application.xml file.
  *
  * @author <a href="stephane.nicoll@gmail.com">Stephane Nicoll</a>
  * @version $Id $
@@ -44,14 +43,15 @@
     public static final String UTF_8 = "UTF-8";
 
     /**
-     * Inserts the doctype header depending on the specified version.
+     * The version of the application.xml to generate. Valid values
+     * are 1.3 and 1.4.
      *
      * @parameter expression="${maven.ear.appxml.version}"
      */
     private String version = VERSION_1_3;
 
     /**
-     * Display name of the application to be used when <tt>application.xml</tt>
+     * Display name of the application to be used when application.xml
      * file is autogenerated.
      *
      * @parameter expression="${project.artifactId}"
@@ -59,22 +59,22 @@
     private String displayName = null;
 
     /**
-     * The description in generated <tt>application.xml</tt>.
+     * Description of the application to be used when application.xml
+     * file is autogenerated.
      *
      * @parameter
      */
     private String description = null;
 
     /**
-     * Character encoding for the auto-generated <tt>application.xml</tt> file.
+     * Character encoding for the auto-generated application.xml file.
      *
      * @parameter
-     * @TODO handle this field
      */
     private String encoding = UTF_8;
 
     /**
-     * Directory where the <tt>application.xml</tt> file will be auto-generated.
+     * Directory where the application.xml file will be auto-generated.
      *
      * @parameter expression="${project.build.directory}"
      */
@@ -90,6 +90,11 @@
         getLog().debug( "encoding[" + encoding + "]" );
         getLog().debug( "generatedDescriptorLocation[" + generatedDescriptorLocation + "]" );
 
+        if ( !version.equals( VERSION_1_3 ) && version.equals( VERSION_1_4 ) )
+        {
+            throw new MojoExecutionException( "Invalid version[" + version + "]" );
+        }
+
         // Generate deployment descriptor
         try
         {
@@ -124,7 +129,7 @@
             descriptor.createNewFile();
         }
 
-        ApplicationXmlWriter writer = new ApplicationXmlWriter( version );
+        ApplicationXmlWriter writer = new ApplicationXmlWriter( version, encoding );
         try
         {
             writer.write( descriptor, getModules(), displayName, description );



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org