[Jpackage-commits] rpms/free/groovy10 groovy-1.0-jpp-depmap.xml, NONE, 1.1 groovy-1.0-maven_xml.patch, NONE, 1.1 groovy-1.0-project_xml.patch, NONE, 1.1 groovy-1.0-tck-build_xml.patch, NONE, 1.1 groovy-1.0.pom, NONE, 1.1 groovy.policy, NONE, 1.1 groovy10.spec, NONE, 1.1 pom-maven2jpp-depcat.xsl, NONE, 1.1 pom-maven2jpp-mapdeps.xsl, NONE, 1.1 pom-maven2jpp-newdepmap.xsl, NONE, 1.1

jpackage jpackage at ryu.zarb.org
Thu Dec 16 19:53:01 CET 2010


Update of /home/projects/jpackage/cvs/rpms/free/groovy10
In directory ryu.zarb.org:/tmp/p69LLSeWM2/rpms/free/groovy10

Added Files:
	groovy-1.0-jpp-depmap.xml groovy-1.0-maven_xml.patch 
	groovy-1.0-project_xml.patch groovy-1.0-tck-build_xml.patch 
	groovy-1.0.pom groovy.policy groovy10.spec 
	pom-maven2jpp-depcat.xsl pom-maven2jpp-mapdeps.xsl 
	pom-maven2jpp-newdepmap.xsl 
Log Message:
1.0-3.jpp6

--- NEW FILE: pom-maven2jpp-depcat.xsl ---
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/> 
 <xsl:strip-space elements="*"/> 
 <xsl:template match="*[name() != 'dependencies']|*/text()">
     <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="//dependencies">
  <xsl:for-each select="./dependency">
   <xsl:element name="dependency">
    <xsl:element name="maven">
     <xsl:choose>
      <xsl:when test="./groupId">
       <xsl:copy-of select="./groupId"/>
       <xsl:copy-of select="./artifactId"/>
      </xsl:when>
      <xsl:when test="./id">
       <xsl:choose>
        <xsl:when test="substring-before(./id/text(),':') != ''">
         <xsl:element name="groupId">
          <xsl:value-of select="substring-before(./id/text(),':')"/>
         </xsl:element>
         <xsl:element name="artifactId">
          <xsl:value-of select="substring-after(./id/text(),':')"/>
         </xsl:element>
        </xsl:when>
        <xsl:otherwise>
         <xsl:element name="groupId">
          <xsl:value-of select="./id/text()"/>
         </xsl:element>
         <xsl:element name="artifactId">
          <xsl:value-of select="./id/text()"/>
         </xsl:element>
        </xsl:otherwise>
       </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
ERROR
      </xsl:otherwise>
     </xsl:choose>
     <xsl:for-each select="./*">
      <xsl:if test="(name() != 'groupId') and (name() != 'artifactId') and (name() != 'id')">
       <xsl:copy-of select="."/>
      </xsl:if>
     </xsl:for-each>
    </xsl:element>
    <xsl:element name="jpp">
     <xsl:element name="groupId">JPP</xsl:element>
     <xsl:choose>
      <xsl:when test="./artifactId">
       <xsl:copy-of select="./artifactId"/>
      </xsl:when>
      <xsl:when test="./id">
       <xsl:choose>
        <xsl:when test="substring-after(./id/text(),':') != ''">
         <xsl:element name="artifactId">
          <xsl:value-of select="substring-after(./id/text(),':')"/>
         </xsl:element>
        </xsl:when>
        <xsl:otherwise>
         <xsl:element name="artifactId">
          <xsl:value-of select="./id/text()"/>
         </xsl:element>
        </xsl:otherwise>
       </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
ERROR
      </xsl:otherwise>
     </xsl:choose>
     <xsl:element name="jar">
      <xsl:choose>
       <xsl:when test="./artifactId">
        <xsl:value-of select="./artifactId/text()"/>
       </xsl:when>
       <xsl:when test="./id">
        <xsl:choose>
         <xsl:when test="substring-after(./id/text(),':') != ''">
          <xsl:value-of select="substring-after(./id/text(),':')"/>
         </xsl:when>
         <xsl:otherwise>
          <xsl:value-of select="./id/text()"/>
         </xsl:otherwise>
        </xsl:choose>
       </xsl:when>
       <xsl:otherwise>
ERROR
       </xsl:otherwise>
      </xsl:choose>
      <xsl:choose>
       <xsl:when test="./type">
        <xsl:choose>
         <xsl:when test="./type/text() = 'plugin'">.jar</xsl:when>
         <xsl:otherwise>.<xsl:value-of select="./type/text()"/></xsl:otherwise>
        </xsl:choose>
       </xsl:when>
       <xsl:otherwise>.jar</xsl:otherwise>
      </xsl:choose>
     </xsl:element>
     <xsl:for-each select="./*">
      <xsl:if test="(name() != 'groupId') and (name() != 'artifactId') and (name() != 'id')">
       <xsl:copy-of select="."/>
      </xsl:if>
     </xsl:for-each>
    </xsl:element>
   </xsl:element>
  </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>

--- NEW FILE: groovy.policy ---
/* Notes on the contents of this policy file:
 *
 * The following methods in groovy have privileged operations wrapping
 * setAccessible.  If these wrappers are not provided, most codebases below
 * must have the following grant: 
 * permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
 *  MetaMethod.createMetaMethod
 *  MetaMethod.invoke(Object Object[])
 *  ReflectionMetaMethod.invoke(Object Object[])
 *  DefaultGoovyMethods.dump(Object)
 */

/*
 * This keystore contains the public key of the pair used to sign GroovyTestJar.jar
 * See SecurityTest.testReadSignedJar()
 */
keystore "file:${user.dir}/security/groovykeys";

/*
 * ================= Codebases requiring java.security.AllPermission ===============
 * The following codebases require java.security.AllPermission.  They are considered trusted
 * for purposes of groovy security enforcement.  In a deployed groovy environment, these classes
 * would all be in a set of jars.  If these jars are signed, the grants could be strengthened to
 * by adding a signedBy clause to the grant.
 */
 
grant codeBase "file:${user.dir}/target/classes/-" {
	permission java.security.AllPermission;
};

grant codeBase "file:${user.dir}/target/test-classes/-" {
	permission java.security.AllPermission;
};

grant codeBase "file:${groovy.lib}/-" {
	permission java.security.AllPermission;
};

/*
 * When running from maven, this codebase is required.
 * If not running from maven, the codesource will not be found, but will not cause an error.
 */
grant codeBase "file:${maven.home}/-" {
	permission java.security.AllPermission;
};

/*
 * When running the junit plugin from within eclipse, this codebase is required.
 * If not running from eclipse, the codesource will not be found, but will not cause an error.
 */
grant codeBase "file:${user.dir}/../../plugins/-" {
	permission java.security.AllPermission;
};

/*
 * ================= Default codebases created by groovy. ===============
 * The following codebases are assigned when groovy parses a groovy script
 */

/* 
 * GroovyShell.parse(InputStream,...) is given a codebase of "groovy.shell" because no actual
 * codebase can be determined.  The other forms of parse(File) and parse(GroovyCodeSource) allow
 * for more control.  These permission should be set to control scripts that are passed into
 * the shell in the form of a string or other groovy code of unknown provenance.
 */
grant codeBase "file:/groovy/shell" {
	permission java.lang.RuntimePermission "accessDeclaredMembers";
};

/*
 * Similar to "file:/groovy/shell", but implying a direct call to GroovyClassLoader.parse() without
 * passing through GroovyShell.
 */
grant codeBase "file:/groovy/script" {
	permission java.lang.RuntimePermission "accessDeclaredMembers";
	//permission java.util.PropertyPermission "groovy.output.dir", "read";
};

/*
 * The TestSupport class has a loadClass method that takes a ClassNode and runs it
 * through defineClass() of the class loader.  The codebase for this operation is
 * set to "/groovy/testSupport".
 */
grant codeBase "file:/groovy/testSupport" {
	permission java.lang.RuntimePermission "accessDeclaredMembers";
};

/*
 * ================= SecurityTest codebases  ===============
 * The following grants are for individual security test cases where the
 * codebase is explicity specified (e.g. the script is a raw string rather
 * than read from a file).  Note that even though the codebases conform to
 * the file URL syntax, they are not physical files: they represent virtual
 * codebases.
 * The permission grant that is commented out is the permission that is 
 * expected to be missing by the test case.  It is here as a comment for
 * information.
 */
 
//Since a codebase is a URL, we can make use of the natural hierarchy permission implications
//to grant a 'global' accessDeclaredPermission here.
grant codeBase "file:/groovy/security/-" {
	permission java.lang.RuntimePermission "accessDeclaredMembers";
};

grant codeBase "file:/groovy/security/testForbiddenPackage" {
	//permission java.lang.RuntimePermission "accessClassInPackage.sun.*";
};

grant codeBase "file:/groovy/security/javax/print/deny" {
	//permission java.lang.RuntimePermission "accessClassInPackage.javax.print";
};

grant codeBase "file:/groovy/security/javax/print/allow" {
	permission java.lang.RuntimePermission "accessClassInPackage.javax.print";
};

/*
 * ================= .groovy script file codebases  ===============
 * The following grants are for individual security test cases.
 * The permission grant that is commented out is the permission that is 
 * expected to be missing by the test case.  It is here as a comment for
 * information.
 */
grant codeBase "file:${user.dir}/src/test/-" {
	// Required by most groovy scripts during execution because of the heavy use of reflection/
 	// introspection.  The groovy code could potentially be changed to eliminate this requirement
 	// by adding privileged operations in many places.
	permission java.lang.RuntimePermission "accessDeclaredMembers";

	// SHOULD NOT HAVE TO DO THIS! - Level.getLocalizedName() should have a doPrivileged block.
	// Any test that logs, will encounter this (although it will be masked by the method
	permission java.lang.RuntimePermission "accessClassInPackage.sun.util.logging.resources";
};

grant codeBase "file:${user.dir}/src/test/groovy/security/forbiddenCodeBase.gvy" {
	//The following grant is commented out so that the test case will throw an AccessControlException
	permission groovy.security.GroovyCodeSourcePermission "groovy/security/forbiddenCodeBase";
};

// Grant permission to .groovy files extracted from a signed jar that has been signedBy "Groovy"
grant signedBy "Groovy" {
	permission java.lang.RuntimePermission "accessDeclaredMembers";
	permission java.util.PropertyPermission "user.home", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/bugs/BadScriptNameBug.groovy" {
	permission java.util.PropertyPermission "java.class.path", "read";
	permission java.io.FilePermission "<<ALL FILES>>", "read";
	permission java.lang.RuntimePermission "createClassLoader";
};

grant codeBase "file:${user.dir}/src/test/groovy/ClosureListenerTest.groovy" {
	permission java.util.PropertyPermission "java.awt.headless", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/ClosureMethodTest.groovy" {
	permission java.io.FilePermission "${user.dir}${/}src${/}test${/}-", "read";
	permission java.util.PropertyPermission "file.encoding", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/GroovyMethodsTest.groovy" {
	permission java.util.PropertyPermission "*", "read,write";
};

grant codeBase "file:${user.dir}/src/test/groovy/ClosureWithDefaultParamTest.groovy" {
	permission java.io.FilePermission "src${/}test${/}-", "read";
	permission java.util.PropertyPermission "file.encoding", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/bugs/ConstructorBug.groovy" {
	permission java.lang.RuntimePermission "createClassLoader";
	permission java.io.FilePermission "src${/}test${/}groovy${/}bugs${/}TestBase.groovy", "read";
	permission java.io.FilePermission "src${/}test${/}groovy${/}bugs${/}TestDerived.groovy", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/bugs/ForAndSqlBug.groovy" {
	permission java.io.FilePermission "target${/}test-classes${/}*", "read, write";
};

grant codeBase "file:${user.dir}/src/test/groovy/bugs/ForLoopBug.groovy" {
	permission java.io.FilePermission "target${/}test-classes${/}*", "read, write";
	permission java.io.FilePermission "target${/}test-classes${/}*", "read, write";
};

grant codeBase "file:${user.dir}/src/test/groovy/bugs/Groovy303_Bug.groovy" {
	permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
};

grant codeBase "file:${user.dir}/src/test/groovy/script/ScriptTest.groovy" {
	permission java.io.FilePermission "src${/}test${/}groovy${/}-", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/script/EvalInScript.groovy" {
	permission java.io.FilePermission "src${/}test${/}groovy${/}script${/}HelloWorld.groovy", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/sql/PersonTest.groovy" {
	permission java.io.FilePermission "target${/}test-classes${/}groovy${/}sql${/}-", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/sql/SqlCompleteTest.groovy" {
	permission java.io.FilePermission "target${/}test-classes${/}groovy${/}sql${/}-", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/sql/SqlCompleteWithoutDataSourceTest.groovy" {
	permission java.util.PropertyPermission "axiondb.database.*", "read";
	permission java.util.PropertyPermission "org.apache.commons.logging.*", "read";
	permission java.util.PropertyPermission "org.axiondb.engine.*", "read";
	permission java.io.FilePermission "${groovy.lib}${/}axion${/}jars${/}axion-1.0-M3-dev.jar", "read";	
};

grant codeBase "file:${user.dir}/src/test/groovy/sql/SqlTest.groovy" {
	permission java.io.FilePermission "target${/}test-classes${/}groovy${/}sql${/}-", "read";
};

grant codeBase "file:${user.dir}/src/test/groovy/util/AntTest.groovy" {
	permission java.security.AllPermission;
};

grant codeBase "file:${user.dir}/src/test/org/codehaus/groovy/classgen/MetaClassTest.groovy" {
	permission java.io.FilePermission "target${/}test-classes${/}-", "read";
};


--- NEW FILE: groovy-1.0-jpp-depmap.xml ---
<?xml version="1.0" encoding="utf-8"?>
<depset>
   <dependency>
      <maven>
         <groupId>ant</groupId>
         <artifactId>ant</artifactId>
         <version>1.6.5</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>ant</artifactId>
         <jar>ant.jar</jar>
         <version>1.6.5</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>ant</groupId>
         <artifactId>ant-junit</artifactId>
         <version>1.6.5</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>ant-junit</artifactId>
         <jar>ant/ant-junit.jar</jar>
         <version>1.6.5</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>ant</groupId>
         <artifactId>ant-launcher</artifactId>
         <version>1.6.5</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>ant-launcher</artifactId>
         <jar>ant-launcher.jar</jar>
         <version>1.6.5</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>antlr</groupId>
         <artifactId>antlr</artifactId>
         <version>2.7.5</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>antlr</artifactId>
         <jar>antlr.jar</jar>
         <version>2.7.5</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>asm</groupId>
         <artifactId>asm</artifactId>
         <version>2.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>asm</artifactId>
         <jar>asm2/asm2.jar</jar>
         <version>2.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>asm</groupId>
         <artifactId>asm-analysis</artifactId>
         <version>2.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>asm-analysis</artifactId>
         <jar>asm2/asm2-analysis.jar</jar>
         <version>2.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>asm</groupId>
         <artifactId>asm-attrs</artifactId>
         <version>2.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>asm-attrs</artifactId>
         <jar>asm2/asm2-attrs.jar</jar>
         <version>2.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>asm</groupId>
         <artifactId>asm-tree</artifactId>
         <version>2.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>asm-tree</artifactId>
         <jar>asm2/asm2-tree.jar</jar>
         <version>2.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>asm</groupId>
         <artifactId>asm-util</artifactId>
         <version>2.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>asm-util</artifactId>
         <jar>asm2/asm2-util.jar</jar>
         <version>2.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>axion</groupId>
         <artifactId>axion</artifactId>
         <version>1.0-M3-dev</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>axion</artifactId>
         <jar>axion.jar</jar>
         <version>1.0-M3-dev</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>bsf</groupId>
         <artifactId>bsf</artifactId>
         <version>2.4.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>bsf</artifactId>
         <jar>bsf.jar</jar>
         <version>2.4.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>cglib</groupId>
         <artifactId>cglib-nodep</artifactId>
         <version>2.1_3</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>cglib-nodep</artifactId>
         <jar>cglib-nodep.jar</jar>
         <version>2.1_3</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>commons-lang</groupId>
         <artifactId>commons-lang</artifactId>
         <version>2.1</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>commons-lang</artifactId>
         <jar>commons-lang.jar</jar>
         <version>2.1</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>commons-cli</groupId>
         <artifactId>commons-cli</artifactId>
         <version>1.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>commons-cli</artifactId>
         <jar>commons-cli.jar</jar>
         <version>1.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>commons-collections</groupId>
         <artifactId>commons-collections</artifactId>
         <version>3.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>commons-collections</artifactId>
         <jar>commons-collections.jar</jar>
         <version>3.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>commons-httpclient</groupId>
         <artifactId>commons-httpclient</artifactId>
         <version>3.0.1</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>commons-httpclient</artifactId>
         <jar>commons-httpclient.jar</jar>
         <version>3.0.1</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>commons-logging</groupId>
         <artifactId>commons-logging</artifactId>
         <version>1.0.4</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>commons-logging</artifactId>
         <jar>commons-logging.jar</jar>
         <version>1.0.4</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>commons-primitives</groupId>
         <artifactId>commons-primitives</artifactId>
         <version>1.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>commons-primitives</artifactId>
         <jar>commons-primitives.jar</jar>
         <version>1.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>com.tonicsystems</groupId>
         <artifactId>jarjar</artifactId>
         <version>0.6</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>jarjar</artifactId>
         <jar>jarjar.jar</jar>
         <version>0.6</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>jmock</groupId>
         <artifactId>jmock</artifactId>
         <version>1.1.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>jmock</artifactId>
         <jar>jmock.jar</jar>
         <version>1.1.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>jmock</groupId>
         <artifactId>jmock-cglib</artifactId>
         <version>1.1.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>jmock-cglib</artifactId>
         <jar>jmock-cglib.jar</jar>
         <version>1.1.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>javax.servlet</groupId>
         <artifactId>jsp-api</artifactId>
         <version>2.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>jsp-api</artifactId>
         <jar>tomcat5-jsp-2.0-api.jar</jar>
         <version>2.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>junit</artifactId>
         <jar>junit.jar</jar>
         <version>3.8.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>mockobjects</groupId>
         <artifactId>mockobjects-core</artifactId>
         <version>0.09</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>mockobjects-core</artifactId>
         <jar>mockobjects-core.jar</jar>
         <version>0.09</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>mx4j</groupId>
         <artifactId>mx4j</artifactId>
         <version>3.0.1</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>mx4j</artifactId>
         <jar>mx4j/mx4j.jar</jar>
         <version>3.0.1</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>nekohtml</groupId>
         <artifactId>nekohtml</artifactId>
         <version>0.9.5</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>nekohtml</artifactId>
         <jar>nekohtml.jar</jar>
         <version>0.9.5</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>openejb</groupId>
         <artifactId>openejb-loader</artifactId>
         <version>1.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>openejb-loader</artifactId>
         <jar>openejb1/loader.jar</jar>
         <version>1.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>qdox</groupId>
         <artifactId>qdox</artifactId>
         <version>1.5</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>qdox</artifactId>
         <jar>qdox.jar</jar>
         <version>1.5</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>radeox</groupId>
         <artifactId>radeox</artifactId>
         <version>0.9</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>radeox</artifactId>
         <jar>radeox.jar</jar>
         <version>0.9</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>radeox</groupId>
         <artifactId>radeox-oro</artifactId>
         <version>0.9</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>radeox-oro</artifactId>
         <jar>oro.jar</jar>
         <version>2.0.8</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>regexp</groupId>
         <artifactId>regexp</artifactId>
         <version>1.3</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>regexp</artifactId>
         <jar>regexp.jar</jar>
         <version>1.3</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>javax.servlet</groupId>
         <artifactId>servlet-api</artifactId>
         <version>2.4</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>servlet-api</artifactId>
         <jar>tomcat5-servlet-2.4-api.jar</jar>
         <version>2.4</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>xerces</groupId>
         <artifactId>xerces</artifactId>
         <version>2.4.0</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>xerces</artifactId>
         <jar>xerces-j2.jar</jar>
         <version>2.4.0</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>xml-apis</groupId>
         <artifactId>xml-apis</artifactId>
         <version>1.0.b2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>xml-apis</artifactId>
         <jar>xml-commons-jaxp-1.3-apis.jar</jar>
         <version>1.0.b2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>xpp3</groupId>
         <artifactId>xpp3</artifactId>
         <version>1.1.3.4.O</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>xpp3</artifactId>
         <jar>xpp3.jar</jar>
         <version>1.1.3.4.O</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>xstream</groupId>
         <artifactId>xstream</artifactId>
         <version>1.2</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>xstream</artifactId>
         <jar>xstream.jar</jar>
         <version>1.2</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>maven</groupId>
         <artifactId>maven-xdoc-plugin</artifactId>
         <version>1.11</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>maven-xdoc-plugin</artifactId>
         <jar>maven-plugins/maven-xdoc-plugin.jar</jar>
         <version>1.11</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>maven</groupId>
         <artifactId>maven</artifactId>
         <version>1.1</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>maven</artifactId>
         <jar>maven.jar</jar>
         <version>1.1</version>
      </jpp>
   </dependency>
   <dependency>
      <maven>
         <groupId>velocity</groupId>
         <artifactId>velocity</artifactId>
         <version>1.4</version>
      </maven>
      <jpp>
         <groupId>JPP</groupId>
         <artifactId>velocity</artifactId>
         <jar>velocity.jar</jar>
         <version>1.4</version>
      </jpp>
   </dependency>

</depset>

--- NEW FILE: pom-maven2jpp-newdepmap.xsl ---
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:saxon="http://icl.com/saxon"
	extension-element-prefixes="saxon">
 <xsl:output method="xml" indent="yes" omit-xml-declaration="no"/> 
 <xsl:strip-space elements="*"/> 
 <xsl:template match="/" >
  <xsl:element name="depset">
   <saxon:group select="//dependency" group-by="./maven/artifactId">
    <xsl:sort select="./maven/artifactId"/>
    <xsl:element name="dependency">
     <xsl:element name="maven">
      <xsl:copy-of select="./maven/*[name() != 'properties']"/>
     </xsl:element>
     <xsl:element name="jpp">
      <xsl:copy-of select="./jpp/*[name() != 'properties']"/>
     </xsl:element>
    </xsl:element>
    <saxon:item/>
   </saxon:group>
  </xsl:element>
 </xsl:template>
</xsl:stylesheet>

--- NEW FILE: groovy-1.0-tck-build_xml.patch ---
--- src/tck/build.xml.sav	2005-09-15 15:24:20.000000000 +0200
+++ src/tck/build.xml	2007-07-09 16:59:38.000000000 +0200
@@ -125,11 +125,20 @@
   <target name="compile" depends="init" description="compile java and groovy sources">
     <mkdir dir="${build.classes.dir}" />
 
+<!--
     <groovyc destdir="${build.classes.dir}"
              srcdir="${src.dir}"
              listfiles="true">
         <classpath refid="project.classpath"/>
     </groovyc>
+-->
+    <java classname="org.codehaus.groovy.ant.Groovyc" fork="true" failonerror="true">
+        <classpath refid="project.classpath"/>
+        <arg value="${build.classes.dir}"/>
+        <arg value="${src.dir}"/>
+        <arg value="true"/>
+    </java>
+
 
     <javac srcdir="${src.dir}"
            destdir="${build.classes.dir}"

--- NEW FILE: groovy-1.0.pom ---
<?xml version="1.0" encoding="UTF-8"?><project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>groovy</groupId>
  <artifactId>groovy</artifactId>
  <name>groovy</name>
  <version>1.0</version>
  <description>a powerful and dynamic scripting language for the JVM</description>
  <url>http://groovy.codehaus.org/</url>
  <issueManagement>
    <url>http://jira.codehaus.org/browse/GROOVY</url>
  </issueManagement>
  <inceptionYear>2003</inceptionYear>
  <mailingLists>
    <mailingList>
      <name>Groovy JSR Discussion List</name>
      <subscribe>jsr-subscribe at groovy.codehaus.org</subscribe>
      <unsubscribe>http://xircles.codehaus.org/manage_email</unsubscribe>
      <archive>http://dir.gmane.org/gmane.comp.lang.groovy.jsr</archive>
    </mailingList>
    <mailingList>
      <name>Groovy Developer List</name>
      <subscribe>dev-subscribe at groovy.codehaus.org</subscribe>
      <unsubscribe>http://xircles.codehaus.org/manage_email</unsubscribe>
      <archive>http://dir.gmane.org/gmane.comp.lang.groovy.devel</archive>
    </mailingList>
    <mailingList>
      <name>Groovy User List</name>
      <subscribe>user-subscribe at groovy.codehaus.org</subscribe>
      <unsubscribe>http://xircles.codehaus.org/manage_email</unsubscribe>
      <archive>http://dir.gmane.org/gmane.comp.lang.groovy.user</archive>
    </mailingList>
    <mailingList>
      <name>Groovy SCM List</name>
      <subscribe>scm-subscribe at groovy.codehaus.org</subscribe>
      <unsubscribe>http://xircles.codehaus.org/manage_email</unsubscribe>
      <archive>http://archive.groovy.codehaus.org/scm/</archive>
    </mailingList>
  </mailingLists>
  <developers>
    <developer>
      <id>glaforge</id>
      <name>Guillaume Laforge</name>
      <email></email>
      <organization>Octo Technology</organization>
      <roles>
        <role>Project Manager</role>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>bob</id>
      <name>bob mcwhirter</name>
      <email>bob at werken.com</email>
      <organization>The Werken Company</organization>
      <roles>
        <role>Founder</role>
      </roles>
    </developer>
    <developer>
      <id>jstrachan</id>
      <name>James Strachan</name>
      <email>james at coredevelopers.com</email>
      <organization>Core Developers Network</organization>
      <roles>
        <role>Founder</role>
      </roles>
    </developer>
    <developer>
      <id>joe</id>
      <name>Joe Walnes</name>
      <email></email>
      <organization>ThoughtWorks</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>skizz</id>
      <name>Chris Stevenson</name>
      <email></email>
      <organization>ThoughtWorks</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>jamiemc</id>
      <name>Jamie McCrindle</name>
      <email></email>
      <organization>Three</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>mattf</id>
      <name>Matt Foemmel</name>
      <email></email>
      <organization>ThoughtWorks</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>spullara</id>
      <name>Sam Pullara</name>
      <email>sam at sampullara.com</email>
      <organization></organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>kasper</id>
      <name>Kasper Nielsen</name>
      <email></email>
      <organization></organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>travis</id>
      <name>Travis Kay</name>
      <email></email>
      <organization></organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>zohar</id>
      <name>Zohar Melamed</name>
      <email></email>
      <organization></organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>jwilson</id>
      <name>John Wilson</name>
      <email>tug at wilson.co.uk</email>
      <organization>The Wilson Partnership</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>cpoirier</id>
      <name>Chris Poirier</name>
      <email>cpoirier at dreaming.org</email>
      <organization></organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>ckl</id>
      <name>Christiaan ten Klooster</name>
      <email>ckl at dacelo.nl</email>
      <organization>Dacelo WebDevelopment</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>goetze</id>
      <name>Steve Goetze</name>
      <email>goetze at dovetail.com</email>
      <organization>Dovetailed Technologies, LLC</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>bran</id>
      <name>Bing Ran</name>
      <email>b55r at sina.com</email>
      <organization>Leadingcare</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>jez</id>
      <name>Jeremy Rayner</name>
      <email>jeremy.rayner at gmail.com</email>
      <organization>javanicus</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>jstump</id>
      <name>John Stump</name>
      <email>johnstump2 at yahoo.com</email>
      <organization></organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>blackdrag</id>
      <name>Jochen Theodorou</name>
      <email>blackdrag at gmx.org</email>
      <organization></organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>russel</id>
      <name>Russel Winder</name>
      <email>russel at itzinteractive.com</email>
      <organization>It'z Interactive Ltd</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>phk</id>
      <name>Pilho Kim</name>
      <email>phkim at cluecom.co.kr</email>
      <organization></organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>cstein</id>
      <name>Christian Stein</name>
      <email>sormuras at gmx.de</email>
      <organization>CTSR.de</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>mittie</id>
      <name>Dierk Koenig</name>
      <email>dierk.koenig at canoo.com</email>
      <organization>Canoo Engineering AG</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <id>paulk</id>
      <name>Paul King</name>
      <email>paulk at asert.com.au</email>
      <organization>ASERT, Australia</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
  </developers>
  <contributors>
    <contributor>
      <name>Joern Eyrich</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Robert Kuzelj</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Rod Cope</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Yuri Schimke</name>
      <email></email>
    </contributor>
    <contributor>
      <name>James Birchfield</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Robert Fuller</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Sergey Udovenko</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Hallvard Traetteberg</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Peter Reilly</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Brian McCallister</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Richard Monson-Haefel</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Brian Larson</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Artur Biesiadowski</name>
      <email>abies at pg.gda.pl</email>
    </contributor>
    <contributor>
      <name>Ivan Z. Ganza</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Arjun Nayyar</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Mark Chu-Carroll</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Mark Turansky</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Jean-Louis Berliet</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Graham Miller</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Marc Palmer</name>
      <email></email>
    </contributor>
    <contributor>
      <name>Tugdual Grall</name>
      <email></email>
    </contributor>
  </contributors>
  <scm>
    <connection>scm:svn:http://svn.codehaus.org/groovy/groovy-core</connection>
    <developerConnection>scm:svn:https://${maven.username}@svn.codehaus.org/groovy/groovy-core</developerConnection>
    <url>http://svn.groovy.codehaus.org/</url>
  </scm>
  <organization>
    <name>The Codehaus</name>
    <url>http://codehaus.org</url>
  </organization>
  <dependencies>
    <dependency>
      <groupId>antlr</groupId>
      <artifactId>antlr</artifactId>
      <version>2.7.5</version>
    </dependency>
    <dependency>
      <groupId>asm</groupId>
      <artifactId>asm</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>xerces</groupId>
      <artifactId>xerces</artifactId>
      <version>2.4.0</version>
    </dependency>
    <dependency>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
      <version>1.0.b2</version>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>ant</groupId>
      <artifactId>ant</artifactId>
      <version>1.6.5</version>
    </dependency>
    <dependency>
      <groupId>ant</groupId>
      <artifactId>ant-junit</artifactId>
      <version>1.6.5</version>
    </dependency>
    <dependency>
      <groupId>ant</groupId>
      <artifactId>ant-launcher</artifactId>
      <version>1.6.5</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.2</version>
    </dependency>
    <dependency>
      <groupId>jmock</groupId>
      <artifactId>jmock</artifactId>
      <version>1.1.0</version>
    </dependency>
    <dependency>
      <groupId>jmock</groupId>
      <artifactId>jmock-cglib</artifactId>
      <version>1.1.0</version>
    </dependency>
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib-nodep</artifactId>
      <version>2.1_3</version>
    </dependency>
    <dependency>
      <groupId>asm</groupId>
      <artifactId>asm-util</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>asm</groupId>
      <artifactId>asm-attrs</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>asm</groupId>
      <artifactId>asm-analysis</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>asm</groupId>
      <artifactId>asm-tree</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>bsf</groupId>
      <artifactId>bsf</artifactId>
      <version>2.4.0</version>
    </dependency>
    <dependency>
      <groupId>mx4j</groupId>
      <artifactId>mx4j</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>mockobjects</groupId>
      <artifactId>mockobjects-core</artifactId>
      <version>0.09</version>
    </dependency>
    <dependency>
      <groupId>openejb</groupId>
      <artifactId>openejb-loader</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>axion</groupId>
      <artifactId>axion</artifactId>
      <version>1.0-M3-dev</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.0.4</version>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2</version>
    </dependency>
    <dependency>
      <groupId>commons-primitives</groupId>
      <artifactId>commons-primitives</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>regexp</groupId>
      <artifactId>regexp</artifactId>
      <version>1.3</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.4</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
    </dependency>
    <dependency>
      <groupId>radeox</groupId>
      <artifactId>radeox</artifactId>
      <version>0.9</version>
    </dependency>
    <dependency>
      <groupId>radeox</groupId>
      <artifactId>radeox-oro</artifactId>
      <version>0.9</version>
    </dependency>
    <dependency>
      <groupId>nekohtml</groupId>
      <artifactId>nekohtml</artifactId>
      <version>0.9.5</version>
    </dependency>
    <dependency>
      <groupId>qdox</groupId>
      <artifactId>qdox</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>commons-httpclient</groupId>
      <artifactId>commons-httpclient</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>xstream</groupId>
      <artifactId>xstream</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>xpp3</groupId>
      <artifactId>xpp3</artifactId>
      <version>1.1.3.4.O</version>
    </dependency>
    <dependency>
      <groupId>com.tonicsystems</groupId>
      <artifactId>jarjar</artifactId>
      <version>0.6</version>
    </dependency>
  </dependencies>
</project>
--- NEW FILE: groovy-1.0-project_xml.patch ---
--- project.xml.sav	2006-12-30 19:42:47.000000000 +0100
+++ project.xml	2007-07-09 23:48:59.000000000 +0200
@@ -720,6 +720,32 @@
       <version>0.6</version>
     </dependency>
 
+    <!-- used to build docs -->
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>maven</groupId>
+      <artifactId>maven-xdoc-plugin</artifactId>
+      <version>1.11</version>
+      <type>plugin</type>
+    </dependency>
+
+    <dependency>
+      <groupId>maven</groupId>
+      <artifactId>maven</artifactId>
+      <version>1.1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>velocity</groupId>
+      <artifactId>velocity</artifactId>
+      <version>1.4</version>
+    </dependency>
+
     <!-- prepare for EMMA
     <dependency>
             <id>emma</id>

--- NEW FILE: groovy10.spec ---
# Copyright (c) 2000-2008, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

%define section free
%define oname groovy

Name:           groovy10
Summary:        Groovy scripting language
Url:            http://groovy.codehaus.org/
Version:        1.0
Release:        3%{?dist}
Epoch:          0
License:        BSD/Apache-style Software License
Group:          Development/Libraries/Java
Source0:        groovy-1.0.tar.gz
# svn export http://svn.codehaus.org/groovy/tags/GROOVY_1_0/ groovy-1.0

Source1:        pom-maven2jpp-depcat.xsl
Source2:        pom-maven2jpp-newdepmap.xsl
Source3:        pom-maven2jpp-mapdeps.xsl
Source4:        groovy-1.0-jpp-depmap.xml
Source5:        groovy.policy
Source6:        http://repo1.maven.org/maven2/groovy/groovy/1.0/groovy-1.0.pom
Patch0:         groovy-1.0-maven_xml.patch
Patch1:         groovy-1.0-tck-build_xml.patch
Patch2:         groovy-1.0-project_xml.patch

BuildRequires:  jpackage-utils >= 0:1.7.5
BuildRequires:  java-devel >= 0:1.6.0
BuildRequires:  ant >= 0:1.7.1
BuildRequires:  ant-junit
BuildRequires:  antlr
BuildRequires:  junit
BuildRequires:  maven >= 0:1.1
BuildRequires:  maven-plugins-base
BuildRequires:  maven-plugin-antlr
BuildRequires:  maven-plugin-license
BuildRequires:  maven-plugin-test
BuildRequires:  maven-plugin-xdoc
BuildRequires:  saxon
BuildRequires:  saxon-scripts

BuildRequires:  asm2 >= 0:2.2
BuildRequires:  axion
BuildRequires:  bsf
BuildRequires:  cglib >= 0:2.1.3
BuildRequires:  apache-commons-lang
BuildRequires:  apache-commons-cli
BuildRequires:  apache-commons-codec
BuildRequires:  apache-commons-collections
BuildRequires:  apache-commons-httpclient
BuildRequires:  apache-commons-logging
BuildRequires:  apache-commons-primitives
BuildRequires:  jakarta-oro
BuildRequires:  jarjar
BuildRequires:  jmock
BuildRequires:  junit
BuildRequires:  mockobjects
BuildRequires:  nekohtml
BuildRequires:  openejb1
BuildRequires:  qdox
BuildRequires:  radeox
BuildRequires:  regexp
BuildRequires:  jsp_2_0_api
BuildRequires:  servlet_2_4_api
BuildRequires:  velocity
BuildRequires:  xpp3
BuildRequires:  xstream

#
Requires:       java >= 0:1.6.0
Requires:       ant >= 0:1.7.1
Requires:       ant-junit
Requires:       antlr
Requires:       asm2
Requires:       axion
Requires:       bsf
Requires:       cglib
Requires:       apache-commons-cli
Requires:       apache-commons-codec
Requires:       apache-commons-collections
Requires:       apache-commons-httpclient
Requires:       apache-commons-logging
Requires:       apache-commons-primitives
Requires:       jakarta-oro
Requires:       jarjar
Requires:       jmock
Requires:       junit
Requires:       mockobjects
Requires:       nekohtml
Requires:       openejb1
Requires:       qdox
Requires:       radeox
Requires:       regexp
Requires:       jsp_2_0_api
Requires:       servlet_2_4_api
Requires:       xpp3
Requires:       xstream

Requires(post):    jpackage-utils >= 0:1.7.5
Requires(postun):  jpackage-utils >= 0:1.7.5
BuildArch:      noarch
Provides:       groovy = %{epoch}:%{version}-%{release}
Obsoletes:      groovy < %{epoch}:%{version}-%{release}

BuildRoot:      %{_tmppath}/%{name}-%{version}-buildroot

%description
Groovy is a new agile dynamic language for the JVM 
combining lots of great features from languages like 
Python, Ruby and Smalltalk and making them available 
to the Java developers using a Java-like syntax.
Groovy is designed to help you get things done on the 
Java platform in a quicker, more concise and fun way - 
bringing the power of Python and Ruby inside the Java 
platform. 
Groovy can be used as an alternative compiler to javac 
to generate standard Java bytecode to be used by any 
Java project or it can be used dynamically as an 
alternative language such as for scripting Java objects, 
templating or writing unit test cases.


%package javadoc
Summary:        Javadoc for %{name}
Group:          Development/Documentation

%description javadoc
Javadoc for %{name}.

%prep
%setup -q -n groovy-1.0
chmod -R go=u-w *
find . -name "*.jar" -exec rm -f {} \;

export DEPCAT=$(pwd)/groovy-1.0-depcat.new.xml
echo '<?xml version="1.0" standalone="yes"?>' > $DEPCAT
echo '<depset>' >> $DEPCAT
for p in project.xml groovy-core/project.xml; do
    pushd $(dirname $p)
    /usr/bin/saxon project.xml %{SOURCE1} >> $DEPCAT
    popd
done
echo >> $DEPCAT
echo '</depset>' >> $DEPCAT
/usr/bin/saxon $DEPCAT %{SOURCE2} > groovy-1.0-depmap.new.xml


%patch0 -b .sav
%patch1 -b .sav
%patch2 -b .sav

sed -i -e 's|^PROGNAME|GROOVY_HOME=/usr/share/groovy-1.0; PROGNAME|' src/bin/startGroovy

# doesn't make real sense in Java 6
rm -rf groovy-core/src/main/groovy/sql/
rm -rf src/main/groovy/sql/
rm -rf src/test/groovy/sql/
rm groovy-core/src/test/groovy/bugs/ForAndSqlBug.groovy
rm src/test/groovy/bugs/ForAndSqlBug.groovy


%build
for p in project.xml groovy-core/project.xml; do
    pushd $(dirname $p)
    cp project.xml project.xml.orig
    /usr/bin/saxon -o project.xml project.xml.orig %{SOURCE3} map=%{SOURCE4}
    popd
done

maven -e \
      -Dmaven.repo.remote=file:/usr/share/maven/repository \
      -Dmaven.home.local=$(pwd)/.maven \
      generate
export MAVEN_OPTS="-Xmx512m"
maven -e \
      -Dmaven.repo.remote=file:/usr/share/maven/repository \
      -Dmaven.home.local=$(pwd)/.maven \
      -Dmaven.test.failure.ignore=true \
      -Dmaven.test.error.ignore=true \
      java:compile
%{_jvmdir}/java/bin/javac -d target/classes -classpath $(build-classpath commons-cli antlr):target/classes groovy-core/src/main/org/codehaus/groovy/antlr/java/*.java
maven -e \
      -Dmaven.repo.remote=file:/usr/share/maven/repository \
      -Dmaven.home.local=$(pwd)/.maven \
      -Dmaven.test.failure.ignore=true \
      -Dmaven.test.error.ignore=true \
      groovy:make-install javadoc:generate 

# delete DOS files
rm target/install/bin/*.bat

%install
rm -rf $RPM_BUILD_ROOT
find . -name "*.sav" -exec rm {} \;
# jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 target/install/lib/%{oname}-%{version}.jar \
        $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
install -m 644 target/install/lib/%{oname}-starter.jar \
        $RPM_BUILD_ROOT%{_javadir}/%{name}-starter-%{version}.jar
install -m 644 target/install/embeddable/%{oname}-all-%{version}.jar \
        $RPM_BUILD_ROOT%{_javadir}/%{name}-all-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)
%add_to_maven_depmap groovy groovy %{version} JPP %{name}
%add_to_maven_depmap groovy groovy-all %{version} JPP %{name}-all

# pom
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms
install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}.pom

# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr target/docs/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink

# bin
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
install -m 755 target/install/bin/* $RPM_BUILD_ROOT%{_bindir}

# conf
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/conf
install -m 644 target/install/conf/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/conf

# lib
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/embeddable
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/embeddable
ln -sf %{javadir}/groovy-all.jar
popd

# lib
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/lib
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/lib
build-jar-repository . \
ant \
ant/ant-junit \
ant-launcher \
antlr \
asm2/asm2-analysis \
asm2/asm2-attrs \
asm2/asm2 \
asm2/asm2-tree \
asm2/asm2-util \
axion \
bsf \
cglib-nodep \
commons-cli \
commons-codec \
commons-collections \
commons-httpclient \
commons-logging \
commons-primitives \
jarjar \
jmock-cglib \
jmock \
junit \
openejb1/loader \
mockobjects-core \
nekohtml \
oro \
qdox \
radeox \
regexp \
jsp_2_0_api \
servlet_2_4_api \
xpp3 \
xstream \


ln -sf %{_javadir}/groovy.jar
ln -sf %{_javadir}/groovy-starter.jar
popd

%clean
rm -rf $RPM_BUILD_ROOT

%preun
if [ "$1" = "0" ]; then
  rm %{_datadir}/%{name}-%{version}/lib/*.jar
fi

%pre
rm -f %{_datadir}/%{name}-%{version}/lib/*

%post
rebuild-jar-repository %{_datadir}/%{name}-%{version}/lib
%update_maven_depmap

%postun
%update_maven_depmap

%files
%defattr(-,root,root)
%doc LICENSE.txt
%{_javadir}/*
%attr(755, root, root) %{_bindir}/*
%{_datadir}/%{name}-%{version}
%{_datadir}/maven2/poms/*
%{_mavendepmapfragdir}/*

%files javadoc
%defattr(-,root,root)
%doc %{_javadocdir}/%{name}*

%changelog
* Wed Dec 16 2010 Ralph Apel <r.apel at r-apel.de> 0:1.0-3
- First JPP-6 release as groovy10
- groovy.sql.* dropped for Java 6
- Dropped xerces, xml-commons-apis, mx4j (B)Rs

* Mon Apr 21 2008 Ralph Apel <r.apel at r-apel.de> 0:1.0-2jpp
- Force inclusion of org.codehaus.groovy.antlr.java.*
- Add pom
- Verify build in mock

* Tue Jul 10 2007 Ralph Apel <r.apel at r-apel.de> 0:1.0-1jpp
- Upgrade to 1.0 final

* Wed Jun 07 2006 Fernando Nasser <fnasser at redhat.com> 0:1.0-0.b10.2jpp
- First JPP 1.7 build

* Tue Mar 15 2005 Ralph Apel <r.apel at r-apel.de> 0:1.0-0.b10.1jpp
- upgrade to 1.0-0.b10
- set runtime dependencies to asm, classworlds, commons-cli
- assure $HOME/.groovy/lib exists at startup
- activate user-specific library loading in *-classworlds.conf

* Sat Mar 12 2005 Ralph Apel <r.apel at r-apel.de> 0:1.0-0.b7.3jpp
- reduce runtime dependencies to asm, classworlds

* Tue Feb 01 2005 Ralph Apel <r.apel at r-apel.de> 0:1.0-0.b7.2jpp
- Process project.xml files with saxon
- Don't tamper with $HOME
- Don't use build-jar-repository; explicitly ln -sf $(build-classpath ...)

* Wed Dec 08 2004 Ralph Apel <r.apel at r-apel.de> 0:1.0-0.b7.1jpp
- First release

--- NEW FILE: groovy-1.0-maven_xml.patch ---
--- maven.xml.sav	2006-10-22 09:55:08.000000000 +0200
+++ maven.xml	2007-07-09 18:43:13.000000000 +0200
@@ -21,9 +21,11 @@
        />
   </goal>
 
+<!--
   <preGoal name="java:compile">
     <attainGoal name="generate"/>
   </preGoal>
+-->
 
   <postGoal name="dist:prepare-src-filesystem">
     <!-- lets zap the build.xml -->
@@ -41,14 +43,16 @@
     <delete file="${basedir}/src/main/org/codehaus/groovy/antlr/parser/GroovyTokenTypes.java"/>
     <delete file="${basedir}/src/main/org/codehaus/groovy/antlr/parser/GroovyTokenTypes.txt"/>
 
-<!--    <attainGoal name="antlr:generate"/> -->
+    <attainGoal name="antlr:generate"/>
 
+<!--
     <mkdir dir="${maven.antlr.target.dir}/org/codehaus/groovy/antlr/parser"/>
 
     <antlr target="${maven.antlr.src.dir}/${maven.antlr.grammars}"
            outputdirectory="${maven.antlr.target.dir}/org/codehaus/groovy/antlr/parser">
       <classpath refid="maven.dependency.classpath"/>
     </antlr>
+-->
 
 
   </goal>
@@ -293,9 +297,17 @@
       </fileset>
     </copy>
 
+<!--
     <groovyc destdir="${basedir}/target/classes" srcdir="${basedir}/target/classes" listfiles="true">
       <classpath refid="test.classpath"/>
     </groovyc>
+-->
+    <java classname="org.codehaus.groovy.ant.Groovyc" fork="no" failsonerror="true">
+        <classpath refid="test.classpath"/>
+        <arg value="${basedir}/target/classes"/>
+        <arg value="${basedir}/target/classes"/>
+        <arg value="true"/>
+    </java>
 
   </goal>
 
@@ -341,9 +353,17 @@
     </touch>
     -->
 
+<!--
     <groovyc destdir="${basedir}/target/test-classes" srcdir="${basedir}/target/test-classes" listfiles="true">
       <classpath refid="test.classpath"/>
     </groovyc>
+-->
+    <java classname="org.codehaus.groovy.ant.Groovyc" fork="no" failsonerror="true">
+        <classpath refid="test.classpath"/>
+        <arg value="${basedir}/target/test-classes"/>
+        <arg value="${basedir}/target/test-classes"/>
+        <arg value="true"/>
+    </java>
 
       <!-- Re compile java, so that UberTests are now built -->
       <javac srcdir="${basedir}/src/test"
@@ -614,7 +634,7 @@
 		</fileset>
 	</copy>
 	<mkdir dir="${groovy.install.staging.dest}/embeddable"/>
-	<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${groovy.install.staging.dest}/lib/jarjar-0.6.jar"/>
+	<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="${groovy.install.staging.dest}/lib/jarjar.jar"/>
 	<jarjar jarfile="${groovy.install.staging.dest}/embeddable/groovy-all-${pom.currentVersion}.jar" 
                                                         manifest="${groovy.embeddable.working.dir}/META-INF/MANIFEST.MF">
 		<fileset dir="${groovy.embeddable.working.dir}"/>

--- NEW FILE: pom-maven2jpp-mapdeps.xsl ---
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="map" /> 
 <xsl:output method="xml" indent="yes" omit-xml-declaration="no"/> 
 <xsl:strip-space elements="*"/> 
 <xsl:template match="/project" >
  <xsl:element name="project">
   <xsl:copy-of select="child::*[not(self::dependencies)]"/>
   <xsl:if test="not(./dependencies)">
    <xsl:element name="dependencies">
     <xsl:for-each select="document($map)//add/dependency">
       <xsl:copy-of select="."/>
     </xsl:for-each>
    </xsl:element>
   </xsl:if>
   <xsl:apply-templates select="dependencies"/>
  </xsl:element>
 </xsl:template>
 <xsl:template match="dependencies" >
  <xsl:element name="dependencies">
   <xsl:for-each select="dependency">
    <xsl:if test="./artifactId">
     <xsl:call-template name="replace">
      <xsl:with-param name="artifact" select="./artifactId/text()"/>
     </xsl:call-template>
    </xsl:if>
    <xsl:if test="./id">
     <xsl:choose>
      <xsl:when test="substring-after(./id/text(),':') != ''">
       <xsl:call-template name="replace">
        <xsl:with-param name="artifact" select="substring-after(./id/text(),':')"/>
       </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
       <xsl:call-template name="replace">
        <xsl:with-param name="artifact" select="./id/text()"/>
       </xsl:call-template>
      </xsl:otherwise>
     </xsl:choose>
    </xsl:if>
   </xsl:for-each>
   <xsl:for-each select="document($map)//add/dependency">
    <xsl:copy-of select="."/>
   </xsl:for-each>
  </xsl:element>
 </xsl:template>
 <xsl:template name="replace">
  <xsl:param name="artifact"/>
  <xsl:variable name="this" select="."/>
  <xsl:element name="dependency">
   <xsl:choose>
    <xsl:when test="document($map)//dependency/maven[./artifactId/text() = $artifact]">
     <xsl:for-each select="document($map)//dependency/maven[./artifactId/text() = $artifact][1]">
      <xsl:copy-of select="../jpp/*"/>
      <xsl:copy-of select="$this/properties"/>
     </xsl:for-each>
    </xsl:when>
    <xsl:otherwise>
     <xsl:copy-of select="./*"/>
    </xsl:otherwise>
   </xsl:choose>
  </xsl:element>
  <xsl:if test="document($map)//dependency/maven[./artifactId/text() = $artifact]">
   <xsl:for-each select="document($map)//dependency/maven[./artifactId/text() = $artifact][1]">
    <xsl:for-each select="../add/dependency">
     <xsl:element name="dependency">
      <xsl:copy-of select="./*"/>
      <xsl:copy-of select="$this/properties"/>
     </xsl:element>
    </xsl:for-each>
   </xsl:for-each>
  </xsl:if>
 </xsl:template>
</xsl:stylesheet>




More information about the JPackage-commits mailing list