[jspc] Initial import (#960720)

Peter MacKinnon pmackinn at fedoraproject.org
Mon Jun 24 13:45:23 UTC 2013


commit e450742fc8cd70dfbc214dd54a18d1a33741ec74
Author: Peter MacKinnon <pmackinn at redhat.com>
Date:   Mon Jun 24 09:44:23 2013 -0400

    Initial import (#960720)

 .gitignore         |    1 +
 jspc-mp-plugin.xml |  681 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 jspc.spec          |  269 +++++++++++++++++++++
 sources            |    1 +
 4 files changed, 952 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..0c41039 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jspc-2.0-alpha-3-src-svn.tar.gz
diff --git a/jspc-mp-plugin.xml b/jspc-mp-plugin.xml
new file mode 100644
index 0000000..03d3267
--- /dev/null
+++ b/jspc-mp-plugin.xml
@@ -0,0 +1,681 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Generated by maven-plugin-tools 3.1 on 2013-05-30 -->
+
+<plugin>
+  <name>JSPC Maven Plugin</name>
+  <description>Support to pre-compile your JSPs for your web applications.</description>
+  <groupId>org.codehaus.mojo.jspc</groupId>
+  <artifactId>jspc-maven-plugin</artifactId>
+  <version>2.0-alpha-3</version>
+  <goalPrefix>jspc</goalPrefix>
+  <isolatedRealm>false</isolatedRealm>
+  <inheritedByDefault>true</inheritedByDefault>
+  <mojos>
+    <mojo>
+      <goal>compile</goal>
+      <description>Compile JSPs.</description>
+      <requiresDependencyResolution>compile</requiresDependencyResolution>
+      <requiresDirectInvocation>false</requiresDirectInvocation>
+      <requiresProject>true</requiresProject>
+      <requiresReports>false</requiresReports>
+      <aggregator>false</aggregator>
+      <requiresOnline>false</requiresOnline>
+      <inheritedByDefault>true</inheritedByDefault>
+      <phase>process-classes</phase>
+      <implementation>org.codehaus.mojo.jspc.CompileMojo</implementation>
+      <language>java</language>
+      <instantiationStrategy>per-lookup</instantiationStrategy>
+      <executionStrategy>once-per-session</executionStrategy>
+      <threadSafe>false</threadSafe>
+      <parameters>
+        <parameter>
+          <name>classpathElements</name>
+          <type>java.util.List</type>
+          <required>true</required>
+          <editable>false</editable>
+          <description>Project classpath.</description>
+        </parameter>
+        <parameter>
+          <name>compile</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Sets if you want to compile the JSP classes.</description>
+        </parameter>
+        <parameter>
+          <name>filtering</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Provides filtering of the generated web.xml text.</description>
+        </parameter>
+        <parameter>
+          <name>includeInProject</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Set this to false if you don&apos;t want to include the compiled JSPs
+in your web.xml nor add the generated sources to your project&apos;s
+source roots.</description>
+        </parameter>
+        <parameter>
+          <name>injectString</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The string to look for in the web.xml to replace with the web fragment
+contents
+
+If not defined, fragment will be appended before the &amp;lt;/webapp&amp;gt; tag
+which is fine for servlet 2.4 and greater.  If using this parameter its
+recommanded to use Strings such as
+&amp;lt;!-- [INSERT FRAGMENT HERE] --&amp;gt;
+
+Be aware the &amp;lt; and &amp;gt; are for your pom verbatim.</description>
+        </parameter>
+        <parameter>
+          <name>inputWebXml</name>
+          <type>java.io.File</type>
+          <required>true</required>
+          <editable>true</editable>
+          <description>The path and location of the original web.xml file.</description>
+        </parameter>
+        <parameter>
+          <name>javaEncoding</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Character encoding.</description>
+        </parameter>
+        <parameter>
+          <name>listErrors</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>List Errors option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>outputWebXml</name>
+          <type>java.io.File</type>
+          <required>true</required>
+          <editable>true</editable>
+          <description>The final path and file name of the web.xml.</description>
+        </parameter>
+        <parameter>
+          <name>packageName</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The package in which the jsp files will be contained.</description>
+        </parameter>
+        <parameter>
+          <name>project</name>
+          <type>org.apache.maven.project.MavenProject</type>
+          <required>true</required>
+          <editable>false</editable>
+          <description></description>
+        </parameter>
+        <parameter>
+          <name>showSuccess</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Show Success option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>smapDumped</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Set Smap Dumped option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>smapSupressed</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Set Smap Supressed option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>source</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Provide source compatibility with specified release.</description>
+        </parameter>
+        <parameter>
+          <name>sources</name>
+          <type>org.apache.maven.shared.model.fileset.FileSet</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The sources of the webapp.  Default is &lt;tt&gt;${basedir}/src/main/webapp&lt;/tt&gt;.</description>
+        </parameter>
+        <parameter>
+          <name>target</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Generate class files for specific VM version.</description>
+        </parameter>
+        <parameter>
+          <name>trimSpaces</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Removes the spaces from the generated JSP files.</description>
+        </parameter>
+        <parameter>
+          <name>validateXml</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Validate XML option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>verbose</name>
+          <type>int</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Verbose level option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>webFragmentFile</name>
+          <type>java.io.File</type>
+          <required>true</required>
+          <editable>true</editable>
+          <description>The path and location to the web fragment file.</description>
+        </parameter>
+        <parameter>
+          <name>workingDirectory</name>
+          <type>java.lang.String</type>
+          <required>true</required>
+          <editable>true</editable>
+          <description>The working directory to create the generated java source files.</description>
+        </parameter>
+      </parameters>
+      <configuration>
+        <classpathElements implementation="java.util.List">${project.compileClasspathElements}</classpathElements>
+        <compile implementation="boolean" default-value="true"/>
+        <filtering implementation="boolean" default-value="true"/>
+        <includeInProject implementation="boolean" default-value="true"/>
+        <injectString implementation="java.lang.String" default-value="&lt;/web-app&gt;"/>
+        <inputWebXml implementation="java.io.File">${basedir}/src/main/webapp/WEB-INF/web.xml</inputWebXml>
+        <listErrors implementation="boolean" default-value="true"/>
+        <outputWebXml implementation="java.io.File">${project.build.directory}/jspweb.xml</outputWebXml>
+        <packageName implementation="java.lang.String" default-value="jsp"/>
+        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
+        <showSuccess implementation="boolean" default-value="true"/>
+        <smapDumped implementation="boolean" default-value="false"/>
+        <smapSupressed implementation="boolean" default-value="false"/>
+        <trimSpaces implementation="boolean" default-value="true"/>
+        <validateXml implementation="boolean" default-value="false"/>
+        <verbose implementation="int" default-value="0"/>
+        <webFragmentFile implementation="java.io.File">${project.build.directory}/web-fragment.xml</webFragmentFile>
+        <workingDirectory implementation="java.lang.String">${project.build.directory}/jsp-source</workingDirectory>
+      </configuration>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.mojo.jspc.compiler.JspCompiler</role>
+          <field-name>jspCompiler</field-name>
+        </requirement>
+      </requirements>
+    </mojo>
+    <mojo>
+      <goal>testCompile</goal>
+      <description>Compile test JSPs.</description>
+      <requiresDependencyResolution>test</requiresDependencyResolution>
+      <requiresDirectInvocation>false</requiresDirectInvocation>
+      <requiresProject>true</requiresProject>
+      <requiresReports>false</requiresReports>
+      <aggregator>false</aggregator>
+      <requiresOnline>false</requiresOnline>
+      <inheritedByDefault>true</inheritedByDefault>
+      <phase>process-classes</phase>
+      <executePhase>test-compile</executePhase>
+      <implementation>org.codehaus.mojo.jspc.TestCompileMojo</implementation>
+      <language>java</language>
+      <instantiationStrategy>per-lookup</instantiationStrategy>
+      <executionStrategy>once-per-session</executionStrategy>
+      <threadSafe>false</threadSafe>
+      <parameters>
+        <parameter>
+          <name>classpathElements</name>
+          <type>java.util.List</type>
+          <required>true</required>
+          <editable>false</editable>
+          <description>Project classpath.</description>
+        </parameter>
+        <parameter>
+          <name>compile</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Sets if you want to compile the JSP classes.</description>
+        </parameter>
+        <parameter>
+          <name>filtering</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Provides filtering of the generated web.xml text.</description>
+        </parameter>
+        <parameter>
+          <name>includeInProject</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Set this to false if you don&apos;t want to include the compiled JSPs
+in your web.xml nor add the generated sources to your project&apos;s
+source roots.</description>
+        </parameter>
+        <parameter>
+          <name>injectString</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The string to look for in the web.xml to replace with the web fragment
+contents
+
+If not defined, fragment will be appended before the &amp;lt;/webapp&amp;gt; tag
+which is fine for servlet 2.4 and greater.  If using this parameter its
+recommanded to use Strings such as
+&amp;lt;!-- [INSERT FRAGMENT HERE] --&amp;gt;
+
+Be aware the &amp;lt; and &amp;gt; are for your pom verbatim.</description>
+        </parameter>
+        <parameter>
+          <name>inputWebXml</name>
+          <type>java.io.File</type>
+          <required>true</required>
+          <editable>true</editable>
+          <description>The path and location of the original web.xml file.</description>
+        </parameter>
+        <parameter>
+          <name>javaEncoding</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Character encoding.</description>
+        </parameter>
+        <parameter>
+          <name>listErrors</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>List Errors option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>outputWebXml</name>
+          <type>java.io.File</type>
+          <required>true</required>
+          <editable>true</editable>
+          <description>The final path and file name of the web.xml.</description>
+        </parameter>
+        <parameter>
+          <name>packageName</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The package in which the jsp files will be contained.</description>
+        </parameter>
+        <parameter>
+          <name>project</name>
+          <type>org.apache.maven.project.MavenProject</type>
+          <required>true</required>
+          <editable>false</editable>
+          <description></description>
+        </parameter>
+        <parameter>
+          <name>showSuccess</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Show Success option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>smapDumped</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Set Smap Dumped option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>smapSupressed</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Set Smap Supressed option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>source</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Provide source compatibility with specified release.</description>
+        </parameter>
+        <parameter>
+          <name>sources</name>
+          <type>org.apache.maven.shared.model.fileset.FileSet</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The sources of the webapp.  Default is &lt;tt&gt;${basedir}/src/main/webapp&lt;/tt&gt;.</description>
+        </parameter>
+        <parameter>
+          <name>target</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Generate class files for specific VM version.</description>
+        </parameter>
+        <parameter>
+          <name>trimSpaces</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Removes the spaces from the generated JSP files.</description>
+        </parameter>
+        <parameter>
+          <name>validateXml</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Validate XML option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>verbose</name>
+          <type>int</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>Verbose level option for JcpC.</description>
+        </parameter>
+        <parameter>
+          <name>webFragmentFile</name>
+          <type>java.io.File</type>
+          <required>true</required>
+          <editable>true</editable>
+          <description>The path and location to the web fragment file.</description>
+        </parameter>
+        <parameter>
+          <name>workingDirectory</name>
+          <type>java.lang.String</type>
+          <required>true</required>
+          <editable>true</editable>
+          <description>The working directory to create the generated java source files.</description>
+        </parameter>
+      </parameters>
+      <configuration>
+        <classpathElements implementation="java.util.List">${project.testClasspathElements}</classpathElements>
+        <compile implementation="boolean" default-value="true"/>
+        <filtering implementation="boolean" default-value="true"/>
+        <includeInProject implementation="boolean" default-value="true"/>
+        <injectString implementation="java.lang.String" default-value="&lt;/web-app&gt;"/>
+        <inputWebXml implementation="java.io.File">${basedir}/src/main/webapp/WEB-INF/web.xml</inputWebXml>
+        <listErrors implementation="boolean" default-value="true"/>
+        <outputWebXml implementation="java.io.File">${project.build.directory}/jspweb.xml</outputWebXml>
+        <packageName implementation="java.lang.String" default-value="jsp"/>
+        <project implementation="org.apache.maven.project.MavenProject">${project}</project>
+        <showSuccess implementation="boolean" default-value="true"/>
+        <smapDumped implementation="boolean" default-value="false"/>
+        <smapSupressed implementation="boolean" default-value="false"/>
+        <trimSpaces implementation="boolean" default-value="true"/>
+        <validateXml implementation="boolean" default-value="false"/>
+        <verbose implementation="int" default-value="0"/>
+        <webFragmentFile implementation="java.io.File">${project.build.directory}/web-fragment.xml</webFragmentFile>
+        <workingDirectory implementation="java.lang.String">${project.build.directory}/jsp-source</workingDirectory>
+      </configuration>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.mojo.jspc.compiler.JspCompiler</role>
+          <field-name>jspCompiler</field-name>
+        </requirement>
+      </requirements>
+    </mojo>
+    <mojo>
+      <goal>help</goal>
+      <description>Display help information on jspc-maven-plugin.&lt;br/&gt;
+Call &lt;code&gt;mvn jspc:help -Ddetail=true -Dgoal=&amp;lt;goal-name&amp;gt;&lt;/code&gt; to display parameter details.</description>
+      <requiresDirectInvocation>false</requiresDirectInvocation>
+      <requiresProject>false</requiresProject>
+      <requiresReports>false</requiresReports>
+      <aggregator>false</aggregator>
+      <requiresOnline>false</requiresOnline>
+      <inheritedByDefault>true</inheritedByDefault>
+      <implementation>org.codehaus.mojo.jspc.HelpMojo</implementation>
+      <language>java</language>
+      <instantiationStrategy>per-lookup</instantiationStrategy>
+      <executionStrategy>once-per-session</executionStrategy>
+      <threadSafe>true</threadSafe>
+      <parameters>
+        <parameter>
+          <name>detail</name>
+          <type>boolean</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>If &lt;code&gt;true&lt;/code&gt;, display all settable properties for each goal.</description>
+        </parameter>
+        <parameter>
+          <name>goal</name>
+          <type>java.lang.String</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The name of the goal for which to show help. If unspecified, all goals will be displayed.</description>
+        </parameter>
+        <parameter>
+          <name>indentSize</name>
+          <type>int</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The number of spaces per indentation level, should be positive.</description>
+        </parameter>
+        <parameter>
+          <name>lineLength</name>
+          <type>int</type>
+          <required>false</required>
+          <editable>true</editable>
+          <description>The maximum length of a display line, should be positive.</description>
+        </parameter>
+      </parameters>
+      <configuration>
+        <detail implementation="boolean" default-value="false">${detail}</detail>
+        <goal implementation="java.lang.String">${goal}</goal>
+        <indentSize implementation="int" default-value="2">${indentSize}</indentSize>
+        <lineLength implementation="int" default-value="80">${lineLength}</lineLength>
+      </configuration>
+    </mojo>
+  </mojos>
+  <dependencies>
+    <dependency>
+      <groupId>org.codehaus.mojo.jspc</groupId>
+      <artifactId>jspc-compiler-api</artifactId>
+      <type>jar</type>
+      <version>2.0-alpha-3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.gmaven</groupId>
+      <artifactId>gmaven-mojo</artifactId>
+      <type>jar</type>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.gmaven.runtime</groupId>
+      <artifactId>gmaven-runtime-api</artifactId>
+      <type>jar</type>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.gmaven.feature</groupId>
+      <artifactId>gmaven-feature-api</artifactId>
+      <type>jar</type>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.gmaven.runtime</groupId>
+      <artifactId>gmaven-runtime-1.5</artifactId>
+      <type>jar</type>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <type>jar</type>
+      <version>1.5.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.gmaven.feature</groupId>
+      <artifactId>gmaven-feature-support</artifactId>
+      <type>jar</type>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.gmaven.runtime</groupId>
+      <artifactId>gmaven-runtime-support</artifactId>
+      <type>jar</type>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.sonatype.gshell</groupId>
+      <artifactId>gshell-io</artifactId>
+      <type>jar</type>
+      <version>2.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.sonatype.gossip</groupId>
+      <artifactId>gossip</artifactId>
+      <type>jar</type>
+      <version>1.3</version>
+    </dependency>
+    <dependency>
+      <groupId>com.thoughtworks.qdox</groupId>
+      <artifactId>qdox</artifactId>
+      <type>jar</type>
+      <version>1.12</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.groovy</groupId>
+      <artifactId>groovy-all-minimal</artifactId>
+      <type>jar</type>
+      <version>1.5.8</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant</artifactId>
+      <type>jar</type>
+      <version>1.8.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant-launcher</artifactId>
+      <type>jar</type>
+      <version>1.8.2</version>
+    </dependency>
+    <dependency>
+      <groupId>jline</groupId>
+      <artifactId>jline</artifactId>
+      <type>jar</type>
+      <version>0.9.94</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+      <type>jar</type>
+      <version>2.0.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-settings</artifactId>
+      <type>jar</type>
+      <version>2.0.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-profile</artifactId>
+      <type>jar</type>
+      <version>2.0.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-model</artifactId>
+      <type>jar</type>
+      <version>2.0.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact-manager</artifactId>
+      <type>jar</type>
+      <version>2.0.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-repository-metadata</artifactId>
+      <type>jar</type>
+      <version>2.0.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-registry</artifactId>
+      <type>jar</type>
+      <version>2.0.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-interpolation</artifactId>
+      <type>jar</type>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+      <type>jar</type>
+      <version>2.0.10</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <type>jar</type>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>file-management</artifactId>
+      <type>jar</type>
+      <version>1.2.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-shared-io</artifactId>
+      <type>jar</type>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-provider-api</artifactId>
+      <type>jar</type>
+      <version>1.0-alpha-6</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <type>jar</type>
+      <version>1.5.6</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-container-default</artifactId>
+      <type>jar</type>
+      <version>1.0-alpha-9</version>
+    </dependency>
+    <dependency>
+      <groupId>classworlds</groupId>
+      <artifactId>classworlds</artifactId>
+      <type>jar</type>
+      <version>1.1-alpha-2</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <type>jar</type>
+      <version>2.6</version>
+    </dependency>
+  </dependencies>
+</plugin>
\ No newline at end of file
diff --git a/jspc.spec b/jspc.spec
new file mode 100644
index 0000000..d5179b3
--- /dev/null
+++ b/jspc.spec
@@ -0,0 +1,269 @@
+%global namedreltag  -alpha-3
+%global namedversion %{version}%{?namedreltag}
+%global dotreltag    %(echo %{namedreltag} | tr - .)
+
+Name:          jspc
+Version:       2.0
+Release:       0.5%{dotreltag}%{?dist}
+Summary:       Compile JSPs under Maven
+Group:         Development/Libraries
+License:       ASL 2.0
+Url:           http://mojo.codehaus.org/jspc/
+# svn export https://svn.codehaus.org/mojo/tags/jspc-2.0-alpha-3 jspc
+# tar czf jspc-2.0-alpha-3-src-svn.tar.gz jspc
+Source0:       %{name}-%{namedversion}-src-svn.tar.gz
+Source1:       jspc-mp-plugin.xml
+
+BuildRequires: java-devel
+#BuildRequires: jpackage-utils
+# TODO: migrate to xmvn beyond F18
+BuildRequires: maven-local
+
+BuildRequires: apache-resource-bundles
+BuildRequires: ant
+BuildRequires: fusesource-pom
+BuildRequires: gmaven
+BuildRequires: mvn(commons-lang:commons-lang)
+#BuildRequires: mvn(org.codehaus.gmaven:gmaven-mojo)
+BuildRequires: mvn(org.apache.maven.shared:file-management)
+BuildRequires: plexus-container-default
+BuildRequires: tomcat
+
+BuildRequires: maven-enforcer-plugin
+BuildRequires: maven-invoker-plugin
+BuildRequires: maven-plugin-cobertura
+BuildRequires: maven-plugin-plugin
+BuildRequires: maven-remote-resources-plugin
+BuildRequires: maven-install-plugin
+
+#BuildRequires: maven-compiler-plugin
+#BuildRequires: maven-javadoc-plugin
+#BuildRequires: maven-release-plugin
+#BuildRequires: maven-surefire-plugin
+
+Requires:      java
+#Requires:      jpackage-utils
+BuildArch:     noarch
+
+%description
+The Codehaus is a collaborative environment for building open source
+projects with a strong emphasis on modern languages, focused on
+quality components that meet real world needs.
+
+Provides support to precompile your JSPs and have them included into
+your WAR file. Version 2 of the JSP compilation support includes a
+pluggable JSP compiler implementation, which currently allows different
+versions of the Tomcat Jasper compiler to be used as needed.
+
+%package compilers
+Group:         Development/Libraries
+Summary:       JSPC Compilers
+#Requires:      jpackage-utils
+Requires:      %{name} = %{version}-%{release}
+
+%description compilers
+%{summary}.
+
+%package compiler-tomcat6
+Group:         Development/Libraries
+Summary:       JSPC Compiler for Tomcat6
+#Requires:      jpackage-utils
+Requires:      tomcat
+#Requires:      tomcat-lib
+Requires:      %{name}-compilers = %{version}-%{release}
+
+%description compiler-tomcat6
+%{summary}.
+
+%package -n jspc-maven-plugin
+Group:         Development/Libraries
+Summary:       JSPC Maven Plugin
+#Requires:      jpackage-utils
+Requires:      %{name}-compiler-tomcat6 = %{version}-%{release}
+#Requires:      slf4j
+Requires:      mvn(commons-lang:commons-lang)
+Requires:      mvn(org.codehaus.gmaven:gmaven-mojo)
+Requires:      mvn(org.apache.maven.shared:file-management)
+
+%description -n jspc-maven-plugin
+%{summary}.
+
+%package javadoc
+Group:         Documentation
+Summary:       Javadoc for %{name}
+#Requires:      jpackage-utils
+
+%description javadoc
+This package contains javadoc for %{name}.
+
+%prep
+%setup -q -n %{name}
+
+for d in LICENSE ; do
+  iconv -f iso8859-1 -t utf-8 $d.txt > $d.txt.conv && mv -f $d.txt.conv $d.txt
+  sed -i 's/\r//' $d.txt
+done
+
+# fix up gmaven namespace change in src
+sed -i 's|import org.codehaus.groovy.maven|import org.codehaus.gmaven|' \
+  jspc-maven-plugin/src/main/groovy/org/codehaus/mojo/jspc/CompilationMojoSupport.groovy
+
+# fix up gmaven namespace change in poms
+sed -i 's|<groupId>org.codehaus.groovy.maven</groupId>|<groupId>org.codehaus.gmaven</groupId>|' pom.xml
+sed -i 's|<groupId>org.codehaus.groovy.maven</groupId>|<groupId>org.codehaus.gmaven</groupId>|' jspc-maven-plugin/pom.xml
+
+# plexus-maven-plugin superceded by plexus-component-metadata
+sed -i 's|<artifactId>plexus-maven-plugin</artifactId>|<artifactId>plexus-component-metadata</artifactId>|' pom.xml
+
+# no tomcat5
+%pom_disable_module jspc-compiler-tomcat5 jspc-compilers/pom.xml
+
+# fix up tomcat6 pom to point to TC7 refs
+%pom_add_dep org.codehaus.gmaven.runtime:gmaven-runtime-1.8:1.4 jspc-compilers/jspc-compiler-tomcat6/pom.xml
+# switch jasper-jdt dep to ecj dep
+%pom_remove_dep org.apache.tomcat:jasper-jdt jspc-compilers/jspc-compiler-tomcat6/pom.xml
+%pom_add_dep org.eclipse.jdt.core.compiler:ecj:3.1.1 jspc-compilers/jspc-compiler-tomcat6/pom.xml
+sed -i 's|<artifactId>jasper</artifactId>|<artifactId>tomcat-jasper</artifactId>|' jspc-compilers/jspc-compiler-tomcat6/pom.xml
+sed -i 's|<artifactId>jasper-el</artifactId>|<artifactId>tomcat-jasper-el</artifactId>|' jspc-compilers/jspc-compiler-tomcat6/pom.xml
+sed -i 's|<artifactId>jasper-jdt</artifactId>|<artifactId>tomcat-jasper-jdt</artifactId>|' jspc-compilers/jspc-compiler-tomcat6/pom.xml
+%pom_remove_dep org.apache.tomcat:juli jspc-compilers/jspc-compiler-tomcat6/pom.xml
+%pom_remove_dep org.apache.tomcat:servlet-api jspc-compilers/jspc-compiler-tomcat6/pom.xml
+%pom_remove_dep org.apache.tomcat:jsp-api jspc-compilers/jspc-compiler-tomcat6/pom.xml
+%pom_remove_dep org.apache.tomcat:el-api jspc-compilers/jspc-compiler-tomcat6/pom.xml
+%pom_remove_dep org.apache.tomcat:annotations-api jspc-compilers/jspc-compiler-tomcat6/pom.xml
+
+# drop plexus-maven-plugin and add plexus-component-metadata and appropriate config
+%pom_remove_plugin org.codehaus.plexus:plexus-maven-plugin jspc-compilers/pom.xml
+%pom_add_plugin org.codehaus.plexus:plexus-component-metadata jspc-compilers/pom.xml "
+                <configuration>
+                  <descriptors>
+                    <descriptor>target/classes/META-INF/plexus/components.xml</descriptor>
+                  </descriptors>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>create-component-descriptor</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>generate-metadata</goal>
+                        </goals>
+                    </execution>
+                </executions>
+"
+
+# be quiet about missing help mojo descriptors
+%pom_xpath_inject "pom:build/pom:plugins/pom:plugin[pom:artifactId[./text()='maven-plugin-plugin']]" "
+                <configuration>
+                  <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
+                </configuration>
+" jspc-maven-plugin/pom.xml
+
+# fix up source, target config in compiler plugin
+%pom_remove_plugin org.apache.maven.plugins:maven-compiler-plugin pom.xml
+%pom_add_plugin org.apache.maven.plugins:maven-compiler-plugin pom.xml "
+                <configuration>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                </configuration>
+"
+
+# fix up source config in javadoc plugin
+%pom_remove_plugin org.apache.maven.plugins:maven-javadoc-plugin pom.xml
+%pom_add_plugin org.apache.maven.plugins:maven-javadoc-plugin pom.xml "
+                <configuration>
+                    <source>1.7</source>
+                </configuration>
+"
+
+# remove wagon-webdav
+%pom_xpath_remove "pom:build/pom:extensions"
+
+%build
+
+mvn-rpmbuild \
+  -Dgmaven.runtime=1.8 \
+  install javadoc:aggregate
+
+# http://jira.codehaus.org/browse/GMAVEN-68
+# gmaven-runtime 1.8 doesn't generate plugin descriptor
+# files from javadoc, so we have to load in an existing
+# one derived from mvn and g-r 1.6
+mkdir -p META-INF/maven/
+cp %{SOURCE1} META-INF/maven/plugin.xml
+jar uf  %{name}-maven-plugin/target/%{name}-maven-plugin-2.0-alpha-3.jar META-INF/maven/plugin.xml
+
+%install
+
+mkdir -p %{buildroot}%{_mavenpomdir}
+install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom
+%add_maven_depmap JPP.%{name}-%{name}.pom
+
+mkdir -p %{buildroot}%{_javadir}/%{name}
+
+install -m 644 %{name}-compiler-api/target/%{name}-compiler-api-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/%{name}-compiler-api.jar
+install -pm 644 %{name}-compiler-api/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-compiler-api.pom
+%add_maven_depmap JPP.%{name}-%{name}-compiler-api.pom %{name}/%{name}-compiler-api.jar
+
+install -pm 644 %{name}-compilers/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-compilers.pom
+%add_maven_depmap JPP.%{name}-%{name}-compilers.pom
+
+install -m 644 %{name}-compilers/%{name}-compiler-tomcat6/target/%{name}-compiler-tomcat6-%{namedversion}.jar \
+  %{buildroot}%{_javadir}/%{name}/%{name}-compiler-tomcat6.jar
+install -pm 644 %{name}-compilers/%{name}-compiler-tomcat6/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-compiler-tomcat6.pom
+%add_maven_depmap JPP.%{name}-%{name}-compiler-tomcat6.pom %{name}/%{name}-compiler-tomcat6.jar
+
+install -m 644 %{name}-maven-plugin/target/%{name}-maven-plugin-%{namedversion}.jar %{buildroot}%{_javadir}/%{name}/%{name}-maven-plugin.jar
+install -pm 644 %{name}-maven-plugin/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-maven-plugin.pom
+%add_maven_depmap JPP.%{name}-%{name}-maven-plugin.pom %{name}/%{name}-maven-plugin.jar
+
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
+
+%files
+%dir %{_javadir}/%{name}
+%{_javadir}/%{name}/%{name}-compiler-api.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}.pom
+%{_mavenpomdir}/JPP.%{name}-%{name}-compiler-api.pom
+%{_mavendepmapfragdir}/%{name}
+%doc LICENSE.txt
+
+%files compilers
+%dir %{_javadir}/%{name}
+%{_mavenpomdir}/JPP.%{name}-%{name}-compilers.pom
+%{_mavendepmapfragdir}/%{name}
+%doc LICENSE.txt
+
+%files compiler-tomcat6
+%dir %{_javadir}/%{name}
+%{_javadir}/%{name}/%{name}-compiler-tomcat6.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-compiler-tomcat6.pom
+%{_mavendepmapfragdir}/%{name}
+%doc LICENSE.txt
+
+%files maven-plugin
+%dir %{_javadir}/%{name}
+%{_javadir}/%{name}/%{name}-maven-plugin.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-maven-plugin.pom
+%{_mavendepmapfragdir}/%{name}
+%doc LICENSE.txt
+
+%files javadoc
+%{_javadocdir}/%{name}
+%doc LICENSE.txt
+
+%changelog
+* Tue Jun 11 2013 Peter MacKinnon <pmackinn at redhat.com> 2.0-0.5.alpha.3
+- Removed tomcat-lib requires
+- TODO: migrate to xmvn beyond F18
+
+* Tue Jun 11 2013 Peter MacKinnon <pmackinn at redhat.com> 2.0-0.4.alpha.3
+- Reinstated missing maven-install-plugin
+
+* Thu May 30 2013 Peter MacKinnon <pmackinn at redhat.com> 2.0-0.3.alpha.3
+- Updates from peer review
+
+* Tue May 07 2013 Peter MacKinnon <pmackinn at redhat.com> 2.0-0.2.alpha.3
+- Re-org sub-package dependencies
+
+* Fri Apr 05 2013 Peter MacKinnon <pmackinn at redhat.com> 2.0-0.1.alpha.3
+- Initial rpm
diff --git a/sources b/sources
index e69de29..1ce6bbf 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+4d81a1c2654e3b0495d25ecffd8bf02a  jspc-2.0-alpha-3-src-svn.tar.gz


More information about the scm-commits mailing list