[jboss-cvs] JBossAS SVN: r107436 - in projects/jboss-jca/trunk: validator and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 5 09:47:30 EDT 2010
Author: jeff.zhang
Date: 2010-08-05 09:47:29 -0400 (Thu, 05 Aug 2010)
New Revision: 107436
Added:
projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/
projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/ValidatorMojo.java
projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/package.html
projects/jboss-jca/trunk/validator/src/main/resources/plugin.xml
projects/jboss-jca/trunk/validator/src/main/resources/pom.xml
Modified:
projects/jboss-jca/trunk/build.xml
projects/jboss-jca/trunk/ivy.xml
projects/jboss-jca/trunk/validator/.classpath
projects/jboss-jca/trunk/validator/build.xml
Log:
[JBJCA-298] Maven plugin for validate tool
Modified: projects/jboss-jca/trunk/build.xml
===================================================================
--- projects/jboss-jca/trunk/build.xml 2010-08-05 10:11:50 UTC (rev 107435)
+++ projects/jboss-jca/trunk/build.xml 2010-08-05 13:47:29 UTC (rev 107436)
@@ -127,6 +127,7 @@
<property name="version.jetty.glassfish" value="2.1.v20100127"/>
<property name="version.jasper" value="glassfish_2.1.0.v201004190952"/>
<property name="version.junit" value="4.8.1"/>
+ <property name="version.maven" value="2.2.1"/>
<property name="version.slf4j" value="1.5.6"/>
<property name="version.stax" value="1.0.1"/>
<property name="version.transaction.api" value="1.0.1.GA"/>
Modified: projects/jboss-jca/trunk/ivy.xml
===================================================================
--- projects/jboss-jca/trunk/ivy.xml 2010-08-05 10:11:50 UTC (rev 107435)
+++ projects/jboss-jca/trunk/ivy.xml 2010-08-05 13:47:29 UTC (rev 107436)
@@ -30,7 +30,7 @@
<repository name="jboss" url="http://repository.jboss.org"/>
</info>
- <configurations defaultconfmapping="common->default;sjc->default;embedded->default;arquillian->default;jetty->default;test->default;ironjacamar-codegenerator->default;ironjacamar-common-api->default;ironjacamar-common-impl->default;ironjacamar-core-api->default;ironjacamar-core-impl->default;ironjacamar-core-spi->default;ironjacamar-deployers-fungal->default;ironjacamar-embedded->default;ironjacamar-embedded-arquillian->default;ironjacamar-spec-api->default;ironjacamar-validator->default;ironjacamar-validator-ant->default;ironjacamar-validator-cli->default">
+ <configurations defaultconfmapping="common->default;sjc->default;embedded->default;arquillian->default;jetty->default;test->default;ironjacamar-codegenerator->default;ironjacamar-common-api->default;ironjacamar-common-impl->default;ironjacamar-core-api->default;ironjacamar-core-impl->default;ironjacamar-core-spi->default;ironjacamar-deployers-fungal->default;ironjacamar-embedded->default;ironjacamar-embedded-arquillian->default;ironjacamar-spec-api->default;ironjacamar-validator->default;ironjacamar-validator-ant->default;ironjacamar-validator-cli->default;ironjacamar-validator-maven->default">
<conf name="common" transitive="false"/>
<conf name="sjc" transitive="false"/>
<conf name="embedded" transitive="false"/>
@@ -51,6 +51,7 @@
<conf name="ironjacamar-validator" transitive="false"/>
<conf name="ironjacamar-validator-ant" transitive="false"/>
<conf name="ironjacamar-validator-cli" transitive="false"/>
+ <conf name="ironjacamar-validator-maven" transitive="false"/>
</configurations>
<publications>
@@ -67,6 +68,7 @@
<artifact name="ironjacamar-validator" type="jar" url="http://repository.jboss.org"/>
<artifact name="ironjacamar-validator-cli" type="jar" url="http://repository.jboss.org"/>
<artifact name="ironjacamar-validator-ant" type="jar" url="http://repository.jboss.org"/>
+ <artifact name="ironjacamar-validator-maven" type="jar" url="http://repository.jboss.org"/>
</publications>
<dependencies>
@@ -84,6 +86,7 @@
<dependency org="log4j" name="log4j" rev="${version.apache-log4j}" conf="common"/>
<dependency org="org.apache" name="jasper" rev="${version.jasper}" conf="jetty"/>
<dependency org="org.apache.ant" name="ant" rev="${version.ant}" conf="common,ironjacamar-validator-ant"/>
+ <dependency org="org.apache.maven" name="maven-plugin-api" rev="${version.maven}" conf="common,ironjacamar-validator-maven"/>
<dependency org="org.eclipse.jdt.core.compiler" name="ecj" rev="${version.eclipse.ecj}" conf="jetty"/>
<dependency org="org.eclipse.jetty" name="jetty-continuation" rev="${version.jetty}" conf="jetty"/>
<dependency org="org.eclipse.jetty" name="jetty-http" rev="${version.jetty}" conf="jetty"/>
Modified: projects/jboss-jca/trunk/validator/.classpath
===================================================================
--- projects/jboss-jca/trunk/validator/.classpath 2010-08-05 10:11:50 UTC (rev 107435)
+++ projects/jboss-jca/trunk/validator/.classpath 2010-08-05 13:47:29 UTC (rev 107436)
@@ -8,8 +8,8 @@
<classpathentry combineaccessrules="false" kind="src" path="/jboss-jca-api"/>
<classpathentry combineaccessrules="false" kind="src" path="/jboss-jca-common"/>
<classpathentry kind="var" path="JBJCA_LIB/sjc/fungal.jar"/>
- <classpathentry kind="var" path="JBJCA_LIB/common/jboss-metadata-rar.jar"/>
<classpathentry kind="var" path="JBJCA_LIB/common/ant.jar"/>
+ <classpathentry kind="var" path="JBJCA_LIB/common/maven-plugin-api.jar"/>
<classpathentry kind="var" path="JBJCA_LIB/common/jboss-logging-spi.jar"/>
<classpathentry kind="var" path="JBJCA_LIB/test/junit.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/jboss-jca-embedded"/>
Modified: projects/jboss-jca/trunk/validator/build.xml
===================================================================
--- projects/jboss-jca/trunk/validator/build.xml 2010-08-05 10:11:50 UTC (rev 107435)
+++ projects/jboss-jca/trunk/validator/build.xml 2010-08-05 13:47:29 UTC (rev 107436)
@@ -64,13 +64,19 @@
includes="**/*.properties"/>
</copy>
+ <mkdir dir="${build.validator.dir}/jars/validator/META-INF/maven" />
+ <copy todir="${build.validator.dir}/jars/validator/META-INF/maven">
+ <fileset dir="src/main/resources/"
+ includes="plugin.xml"/>
+ </copy>
+
<jar destfile="${target.dir}/${name}-validator.jar"
basedir="${build.validator.dir}/jars/validator"
index="true"
indexMetaInf="true"
update="true"
level="9"
- excludes="**/cli/**, **/ant/**">
+ excludes="**/cli/**, **/ant/**, **/maven/**, META-INF/**">
<manifest>
<attribute name="Implementation-Title" value="IronJacamar Validator"/>
<attribute name="Implementation-Version" value="${major}.${minor}.${patch}.${type}"/>
@@ -103,7 +109,7 @@
indexMetaInf="true"
update="true"
level="9"
- includes="**/ant/**">
+ includes="**/ant/**">
<manifest>
<attribute name="Implementation-Title" value="IronJacamar Validator Ant support"/>
<attribute name="Implementation-Version" value="${major}.${minor}.${patch}.${type}"/>
@@ -112,6 +118,22 @@
<attribute name="Class-Path" value="${name}-validator.jar"/>
</manifest>
</jar>
+
+ <jar destfile="${target.dir}/${name}-validator-maven.jar"
+ basedir="${build.validator.dir}/jars/validator"
+ index="true"
+ indexMetaInf="true"
+ update="true"
+ level="9"
+ includes="**/maven/**, META-INF/**">
+ <manifest>
+ <attribute name="Implementation-Title" value="IronJacamar Validator Maven support"/>
+ <attribute name="Implementation-Version" value="${major}.${minor}.${patch}.${type}"/>
+ <attribute name="Implementation-Vendor" value="The IronJacamar project (http://www.jboss.org/ironjacamar)"/>
+ <attribute name="Implementation-Vendor-Id" value="org.jboss"/>
+ <attribute name="Class-Path" value="${name}-validator.jar"/>
+ </manifest>
+ </jar>
</target>
<!-- =================================
@@ -278,13 +300,28 @@
</manifest>
</jar>
+ <jar destfile="${target.dir}/${name}-validator-maven-sources.jar"
+ basedir="src/main/java"
+ index="true"
+ indexMetaInf="true"
+ update="true"
+ level="9"
+ includes="**/validator/maven/**">
+ <manifest>
+ <attribute name="Implementation-Title" value="IronJacamar Validator Maven - Sources"/>
+ <attribute name="Implementation-Version" value="${major}.${minor}.${patch}.${type}"/>
+ <attribute name="Implementation-Vendor" value="The IronJacamar project (http://www.jboss.org/ironjacamar)"/>
+ <attribute name="Implementation-Vendor-Id" value="org.jboss"/>
+ </manifest>
+ </jar>
+
<jar destfile="${target.dir}/${name}-validator-sources.jar"
basedir="src/main/java"
index="true"
indexMetaInf="true"
update="true"
level="9"
- excludes="**/validator/ant/**,**/validator/cli/**">
+ excludes="**/validator/ant/**,**/validator/cli/**,**/validator/maven/**">
<manifest>
<attribute name="Implementation-Title" value="IronJacamar Validator - Sources"/>
<attribute name="Implementation-Version" value="${major}.${minor}.${patch}.${type}"/>
@@ -347,6 +384,45 @@
</manifest>
</jar>
+ <mkdir dir="${build.validator.dir}/docs/maven"/>
+ <javadoc destdir="${build.validator.dir}/docs/maven"
+ doclet="org.jboss.apiviz.APIviz"
+ docletpathref="sjc.lib.path.id"
+ author="true"
+ version="true"
+ windowtitle="IronJacamar Validator - Maven"
+ doctitle="IronJacamar Validator - Maven"
+ use="true"
+ additionalparam="-author -version"
+ classpath="${build.validator.dir}"
+ classpathref="sjc.lib.path.id"
+ bottom="Copyright © 2008 Red Hat Middleware LLC (http://www.jboss.com/)">
+
+ <packageset dir="src/main/java" defaultexcludes="yes">
+ <include name="**/validator/maven/**"/>
+ </packageset>
+
+ <link offline="true" href="http://java.sun.com/j2se/5/docs/api/" packagelistLoc="${java.home}/../docs/api"/>
+ </javadoc>
+ <copy todir="${build.validator.dir}/docs/maven" overwrite="true">
+ <fileset dir="${tools.dir}/api"/>
+ </copy>
+
+ <jar destfile="${target.dir}/${name}-validator-maven-javadoc.jar"
+ basedir="${build.validator.dir}/docs/maven"
+ index="true"
+ indexMetaInf="true"
+ update="true"
+ level="9">
+ <manifest>
+ <attribute name="Implementation-Title" value="IronJacamar Validator Maven - JavaDoc"/>
+ <attribute name="Implementation-Version" value="${major}.${minor}.${patch}.${type}"/>
+ <attribute name="Implementation-Vendor" value="The IronJacamar project (http://www.jboss.org/ironjacamar)"/>
+ <attribute name="Implementation-Vendor-Id" value="org.jboss"/>
+ </manifest>
+ </jar>
+
+
<mkdir dir="${build.validator.dir}/docs/impl"/>
<javadoc destdir="${build.validator.dir}/docs/impl"
doclet="org.jboss.apiviz.APIviz"
Added: projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/ValidatorMojo.java
===================================================================
--- projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/ValidatorMojo.java (rev 0)
+++ projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/ValidatorMojo.java 2010-08-05 13:47:29 UTC (rev 107436)
@@ -0,0 +1,144 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.validator.maven;
+
+import org.jboss.jca.validator.Validation;
+
+import java.io.File;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+
+/**
+ * A ValidatorMojo.
+ *
+ * @author Jeff Zhang
+ * @version $Revision: $
+ */
+public class ValidatorMojo extends AbstractMojo
+{
+ /** output directory */
+ private String outputDir;
+
+ /** file need to be validated */
+ private File rarFile;
+
+ /** classpath */
+ private String[] classpath;
+
+
+ /**
+ * Constructor
+ */
+ public ValidatorMojo()
+ {
+ outputDir = ".";
+ }
+
+ /**
+ * Execute
+ *
+ * @exception MojoExecutionException Thrown if the plugin cant be executed
+ * @exception MojoFailureException Thrown if there is an error
+ */
+ @Override
+ public void execute() throws MojoExecutionException, MojoFailureException
+ {
+ ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Thread.currentThread().setContextClassLoader(ValidatorMojo.class.getClassLoader());
+
+ Validation.validate(getRarFile().toURI().toURL(),
+ getOutputDir(), getClasspath());
+ }
+ catch (Throwable t)
+ {
+ t.printStackTrace();
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader(oldCL);
+ }
+ }
+
+ /**
+ * Get the output directory.
+ *
+ * @return the outputDir.
+ */
+ public String getOutputDir()
+ {
+ return outputDir;
+ }
+
+ /**
+ * Set the output directory.
+ *
+ * @param outputDir The outputDir to set.
+ */
+ public void setOutputDir(String outputDir)
+ {
+ this.outputDir = outputDir;
+ }
+
+ /**
+ * Get the rarFile.
+ *
+ * @return the rarFile.
+ */
+ public File getRarFile()
+ {
+ return rarFile;
+ }
+
+ /**
+ * Set the rarFile.
+ *
+ * @param rarFile The rarFile to set.
+ */
+ public void setRarFile(File rarFile)
+ {
+ this.rarFile = rarFile;
+ }
+
+ /**
+ * Set the classpath.
+ *
+ * @param classpath The classpath to set.
+ */
+ public void setClasspath(String[] classpath)
+ {
+ this.classpath = classpath;
+ }
+
+ /**
+ * Get the classpath.
+ *
+ * @return the classpath.
+ */
+ public String[] getClasspath()
+ {
+ return classpath;
+ }
+}
Added: projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/package.html
===================================================================
--- projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/package.html (rev 0)
+++ projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/maven/package.html 2010-08-05 13:47:29 UTC (rev 107436)
@@ -0,0 +1,3 @@
+<body>
+This package contains the specification validator maven mojo
+</body>
Added: projects/jboss-jca/trunk/validator/src/main/resources/plugin.xml
===================================================================
--- projects/jboss-jca/trunk/validator/src/main/resources/plugin.xml (rev 0)
+++ projects/jboss-jca/trunk/validator/src/main/resources/plugin.xml 2010-08-05 13:47:29 UTC (rev 107436)
@@ -0,0 +1,54 @@
+<plugin>
+ <description></description>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-validator-maven</artifactId>
+ <version>1.0.0.Beta2</version>
+ <goalPrefix>ironjacamar</goalPrefix>
+ <isolatedRealm>false</isolatedRealm>
+ <inheritedByDefault>true</inheritedByDefault>
+ <mojos>
+ <mojo>
+ <goal>validate</goal>
+ <description>Validate rar package file.</description>
+ <requiresDirectInvocation>false</requiresDirectInvocation>
+ <requiresProject>false</requiresProject>
+ <requiresReports>false</requiresReports>
+ <aggregator>false</aggregator>
+ <requiresOnline>false</requiresOnline>
+ <inheritedByDefault>true</inheritedByDefault>
+ <phase>package</phase>
+ <implementation>org.jboss.jca.validator.maven.ValidatorMojo</implementation>
+ <language>java</language>
+ <instantiationStrategy>per-lookup</instantiationStrategy>
+ <executionStrategy>once-per-session</executionStrategy>
+ <parameters>
+ <parameter>
+ <name>outputDir</name>
+ <type>java.lang.String</type>
+ <required>true</required>
+ <editable>true</editable>
+ <description>The output directory.</description>
+ </parameter>
+ <parameter>
+ <name>rarFile</name>
+ <type>java.io.File</type>
+ <required>true</required>
+ <editable>true</editable>
+ <description>The rar filename to be validated.</description>
+ </parameter>
+ <parameter>
+ <name>classpath</name>
+ <type>java.lang.String[]</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>The classpath.</description>
+ </parameter>
+ </parameters>
+ </mojo>
+ </mojos>
+ <dependencies>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-validator</artifactId>
+ <version>1.0.0.Beta1</version>
+ </dependencies>
+</plugin>
\ No newline at end of file
Added: projects/jboss-jca/trunk/validator/src/main/resources/pom.xml
===================================================================
--- projects/jboss-jca/trunk/validator/src/main/resources/pom.xml (rev 0)
+++ projects/jboss-jca/trunk/validator/src/main/resources/pom.xml 2010-08-05 13:47:29 UTC (rev 107436)
@@ -0,0 +1,31 @@
+<build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.ironjacamar</groupId>
+ <artifactId>ironjacamar-validator-maven</artifactId>
+ <!-- The version of the plugin you want to use -->
+ <version>1.0.0.Beta2</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>validate</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <!-- output directory-->
+ <outputDir>.</outputDir>
+
+ <!-- rar filename -->
+ <rarFile>ra16.rar</rarFile>
+
+ <!-- optional classpath
+ <classpath>
+ <param>classpath1</param>
+ <param>classpath2</param>
+ </classpath>
+ -->
+ </configuration>
+ </plugin>
+ </plugins>
+</build>
More information about the jboss-cvs-commits
mailing list