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="[EMAIL PROTECTED]">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="[EMAIL PROTECTED]">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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]