Revision: 14829
          http://gate.svn.sourceforge.net/gate/?rev=14829&view=rev
Author:   ian_roberts
Date:     2011-12-21 15:23:00 +0000 (Wed, 21 Dec 2011)
Log Message:
-----------
Ant targets to push release versions of gate, gate-compiler-jdt and gate-asm to
Sonatype (and thence to Maven Central).

Modified Paths:
--------------
    gate/trunk/build/deploy/maven/build.xml
    gate/trunk/build/deploy/maven/gate-compiler-jdt-readme.txt
    gate/trunk/build/deploy/maven/gate-compiler-jdt.pom.xml
    gate/trunk/build/deploy/maven/sign-and-deploy.pom.xml

Property Changed:
----------------
    gate/trunk/build/deploy/maven/


Property changes on: gate/trunk/build/deploy/maven
___________________________________________________________________
Modified: svn:ignore
   - build

   + build
stage


Modified: gate/trunk/build/deploy/maven/build.xml
===================================================================
--- gate/trunk/build/deploy/maven/build.xml     2011-12-21 13:53:30 UTC (rev 
14828)
+++ gate/trunk/build/deploy/maven/build.xml     2011-12-21 15:23:00 UTC (rev 
14829)
@@ -49,4 +49,107 @@
             <pom refid="gate-core.pom"/>
         </artifact:deploy>
     </target>
+
+    <!--
+    Additional targets to publish new releases to sonatype staging
+   
+    For this to work you need an account on sonatype OSS, associated with the
+    uk.ac.gate groupId via a ticket on their JIRA, and a suitable GPG key in
+    the public GPG key servers.
+
+    You must create a file ~/.m2/settings.xml similar to the following (with
+    the correct GPG key settings and sonatype account inserted):
+
+    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0";
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
+                          http://maven.apache.org/xsd/settings-1.0.0.xsd";>
+
+      <profiles>
+        <profile>
+          <id>gate-release</id>
+          <properties>
+            <gate.gpg.keyname>my-gpg-key-identifier</gate.gpg.keyname>
+            <gate.gpg.passphrase>my-gpg-key-passphrase</gate.gpg.passphrase>
+          </properties>
+        </profile>
+      </profiles>
+
+      <servers>
+        <server>
+          <id>gate-oss</id>
+          <username>sonatype-username</username>
+          <password>sonatype-password</password>
+        </server>
+      </servers>
+    </settings>
+
+    With this in place, you can use the publish.gate, publish.gate-compiler-jdt
+    and publish.gate-asm targets to push releases of ${top}/bin/gate.jar,
+    ${top}/lib/gate-compiler-jdt.jar and ${top}/lib/gate-asm.jar respectively
+    to the Sonatype staging repository.  For JDT and ASM, you should manually
+    update the relevant .pom.xml file first with the correct version number.
+    -->
+
+    <property name="staging.dir" location="stage" />
+
+    <target name="stage.init">
+        <delete dir="${staging.dir}" />
+        <mkdir dir="${staging.dir}" />
+    </target>
+
+    <!-- stage a gate-core release.  The gate.version Ant property is assumed
+    to contain the version number to be published, and should *not* end in
+    -SNAPSHOT -->
+    <target name="stage.gate" depends="stage.init">
+        <property name="basename.to.stage" location="${staging.dir}/gate-core" 
/>
+        <copy tofile="${basename.to.stage}.pom.xml"
+              file="gate-core-SNAPSHOT.pom.template">
+            <filterset>
+                <filter token="gate.version" value="${gate.version}" />
+            </filterset>
+        </copy>
+        <copy tofile="${basename.to.stage}.jar" file="${top}/bin/gate.jar" />
+        <jar destfile="${basename.to.stage}-javadoc.jar" 
basedir="${top.dir}/doc/javadoc"/>
+        <jar destfile="${basename.to.stage}-sources.jar" 
basedir="${top.dir}/src"/>
+    </target>
+
+    <target name="stage.gate-compiler-jdt" depends="stage.init">
+        <property name="basename.to.stage" 
location="${staging.dir}/gate-compiler-jdt" />
+        <copy tofile="${basename.to.stage}.pom.xml"
+              file="gate-compiler-jdt.pom.xml" />
+        <copy tofile="${basename.to.stage}.jar"
+              file="${top}/lib/gate-compiler-jdt.jar" />
+        <jar destfile="${basename.to.stage}-javadoc.jar" basedir="." 
includes="gate-compiler-jdt-readme.txt"/>
+        <jar destfile="${basename.to.stage}-sources.jar" basedir="." 
includes="gate-compiler-jdt-readme.txt"/>
+    </target>
+
+    <target name="stage.gate-asm" depends="stage.init">
+        <property name="basename.to.stage" location="${staging.dir}/gate-asm" 
/>
+        <copy tofile="${basename.to.stage}.pom.xml"
+              file="gate-asm.pom.xml" />
+        <copy tofile="${basename.to.stage}.jar"
+              file="${top}/lib/gate-asm.jar" />
+        <jar destfile="${basename.to.stage}-javadoc.jar" basedir="." 
includes="gate-asm-readme.txt"/>
+        <jar destfile="${basename.to.stage}-sources.jar" basedir="." 
includes="gate-asm-readme.txt"/>
+    </target>
+
+    <!-- Generic target to publish a release of ${basename.to.stage} -->
+    <target name="publish.release">
+        <artifact:mvn pom="sign-and-deploy.pom.xml">
+            <arg value="-Pgate-release,publish-generic"/>
+            <arg value="-Dfile=${basename.to.stage}" />
+        </artifact:mvn>
+    </target>
+
+    <!-- publish a GATE release -->
+    <target name="publish.gate" depends="stage.gate, publish.release" />
+
+    <!-- publish a new version of gate-compiler-jdt -->
+    <target name="publish.gate-compiler-jdt"
+            depends="stage.gate-compiler-jdt, publish.release" />
+
+    <!-- publish a new version of gate-asm -->
+    <target name="publish.gate-asm"
+            depends="stage.gate-asm, publish.release" />
 </project>

Modified: gate/trunk/build/deploy/maven/gate-compiler-jdt-readme.txt
===================================================================
--- gate/trunk/build/deploy/maven/gate-compiler-jdt-readme.txt  2011-12-21 
13:53:30 UTC (rev 14828)
+++ gate/trunk/build/deploy/maven/gate-compiler-jdt-readme.txt  2011-12-21 
15:23:00 UTC (rev 14829)
@@ -1,5 +1,5 @@
-gate-compiler-jdt.jar contains a copy of the Eclipse JDT compiler (originally
-obtained as jasper-compiler-jdt.jar from Apache Tomcat), moved into an
+gate-compiler-jdt.jar contains a copy of the Eclipse JDT compiler
+(org.eclipse.jdt.core.compiler:ecj:3.7.1 in Maven central), moved into an
 alternative package using Jar Jar Links (http://code.google.com/p/jarjar/).
 The following is the Eclipse Public License, under which the original JDT
 compiler is distributed.

Modified: gate/trunk/build/deploy/maven/gate-compiler-jdt.pom.xml
===================================================================
--- gate/trunk/build/deploy/maven/gate-compiler-jdt.pom.xml     2011-12-21 
13:53:30 UTC (rev 14828)
+++ gate/trunk/build/deploy/maven/gate-compiler-jdt.pom.xml     2011-12-21 
15:23:00 UTC (rev 14829)
@@ -3,9 +3,9 @@
   <groupId>uk.ac.gate</groupId>
   <artifactId>gate-compiler-jdt</artifactId>
   <packaging>jar</packaging>
-  <name>Repackaged version of the Eclipse/Tomcat JDT compiler for GATE</name>
-  <version>1</version>
-  <description>Repackaged version of the Eclipse/Tomcat JDT compiler for 
GATE</description>
+  <name>Repackaged version of the Eclipse JDT compiler for GATE</name>
+  <version>3.7.1</version>
+  <description>Repackaged version of the Eclipse JDT compiler for 
GATE</description>
   <url>http://gate.ac.uk</url>
   <scm>
     <url>http://gate.svn.sourceforge.net/viewvc/gate/gate</url>
@@ -25,4 +25,4 @@
       <distribution>repo</distribution>
     </license>
   </licenses>
-</project>
\ No newline at end of file
+</project>

Modified: gate/trunk/build/deploy/maven/sign-and-deploy.pom.xml
===================================================================
--- gate/trunk/build/deploy/maven/sign-and-deploy.pom.xml       2011-12-21 
13:53:30 UTC (rev 14828)
+++ gate/trunk/build/deploy/maven/sign-and-deploy.pom.xml       2011-12-21 
15:23:00 UTC (rev 14829)
@@ -8,142 +8,9 @@
   <url>http://gate.ac.uk</url>
   <properties>
     
<oss.release.repo>https://oss.sonatype.org/service/local/staging/deploy/maven2</oss.release.repo>
-    
<oss.snapshot.repo>https://oss.sonatype.org/content/repositories/snapshots</oss.snapshot.repo>
   </properties>
   <profiles>
     <profile>
-      <id>publish-gate-asm</id>
-      <build>
-       <defaultGoal>verify</defaultGoal>
-       <plugins>
-         <plugin>
-           <groupId>org.apache.maven.plugins</groupId>
-           <artifactId>maven-gpg-plugin</artifactId>
-           <version>1.1</version>
-           <executions>
-             <execution>
-               <id>gate-asm</id>
-               <phase>verify</phase>
-               <goals>
-                 <goal>sign-and-deploy-file</goal>
-               </goals>
-               <configuration>
-                 <file>../../../lib/gate-asm.jar</file>
-                 <repositoryId>gate-oss</repositoryId>
-                 <url>${oss.release.repo}</url>
-                 <pomFile>gate-asm.pom.xml</pomFile>
-                 <keyname>${gate.gpg.keyname}</keyname>
-                 <passphrase>${gate.gpg.passphrase}</passphrase>
-               </configuration>
-             </execution>
-             <execution>
-               <id>gate-asm-javadoc</id>
-               <phase>verify</phase>
-               <goals>
-                 <goal>sign-and-deploy-file</goal>
-               </goals>
-               <configuration>
-                 <file>gate-asm-javadoc.jar</file>
-                 <classifier>javadoc</classifier>
-                 <repositoryId>gate-oss</repositoryId>
-                 <url>${oss.release.repo}</url>
-                 <pomFile>gate-asm.pom.xml</pomFile>
-                 <keyname>${gate.gpg.keyname}</keyname>
-                 <passphrase>${gate.gpg.passphrase}</passphrase>
-               </configuration>
-             </execution>
-             <execution>
-               <id>gate-asm-sources</id>
-               <phase>verify</phase>
-               <goals>
-                 <goal>sign-and-deploy-file</goal>
-               </goals>
-               <configuration>
-                 <file>gate-asm-sources.jar</file>
-                 <classifier>sources</classifier>
-                 <repositoryId>gate-oss</repositoryId>
-                 <url>${oss.release.repo}</url>
-                 <pomFile>gate-asm.pom.xml</pomFile>
-                 <keyname>${gate.gpg.keyname}</keyname>
-                 <passphrase>${gate.gpg.passphrase}</passphrase>
-               </configuration>
-             </execution>
-           </executions>
-         </plugin>
-       </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>publish-gate-compiler-jdt</id>
-      <build>
-       <defaultGoal>verify</defaultGoal>
-       <plugins>
-         <plugin>
-           <groupId>org.apache.maven.plugins</groupId>
-           <artifactId>maven-gpg-plugin</artifactId>
-           <version>1.1</version>
-           <executions>
-             <execution>
-               <id>gate-asm</id>
-               <phase>verify</phase>
-               <goals>
-                 <goal>sign-and-deploy-file</goal>
-               </goals>
-               <configuration>
-                 <file>../../../lib/gate-compiler-jdt.jar</file>
-                 <repositoryId>gate-oss</repositoryId>
-                 <url>${oss.release.repo}</url>
-                 <pomFile>gate-compiler-jdt.pom.xml</pomFile>
-                 <keyname>${gate.gpg.keyname}</keyname>
-                 <passphrase>${gate.gpg.passphrase}</passphrase>
-               </configuration>
-             </execution>
-             <execution>
-               <id>gate-compiler-jdt-javadoc</id>
-               <phase>verify</phase>
-               <goals>
-                 <goal>sign-and-deploy-file</goal>
-               </goals>
-               <configuration>
-                 <file>gate-compiler-jdt-javadoc.jar</file>
-                 <classifier>javadoc</classifier>
-                 <repositoryId>gate-oss</repositoryId>
-                 <url>${oss.release.repo}</url>
-                 <pomFile>gate-compiler-jdt.pom.xml</pomFile>
-                 <keyname>${gate.gpg.keyname}</keyname>
-                 <passphrase>${gate.gpg.passphrase}</passphrase>
-               </configuration>
-             </execution>
-             <execution>
-               <id>gate-compiler-jdt-sources</id>
-               <phase>verify</phase>
-               <goals>
-                 <goal>sign-and-deploy-file</goal>
-               </goals>
-               <configuration>
-                 <file>gate-compiler-jdt-sources.jar</file>
-                 <classifier>sources</classifier>
-                 <repositoryId>gate-oss</repositoryId>
-                 <url>${oss.release.repo}</url>
-                 <pomFile>gate-compiler-jdt.pom.xml</pomFile>
-                 <keyname>${gate.gpg.keyname}</keyname>
-                 <passphrase>${gate.gpg.passphrase}</passphrase>
-               </configuration>
-             </execution>
-           </executions>
-         </plugin>
-       </plugins>
-      </build>
-    </profile>
-    <profile>
-      <!-- use this with publish-generic -->
-      <id>gate-6.0</id>
-      <properties>
-       <pom>gate-core.6.0.pom.xml</pom>
-       <file>/users/benson/x/gate6/stage/gate-core</file>
-      </properties>
-    </profile>
-    <profile>
       <id>publish-generic</id>
       <build>
        <defaultGoal>verify</defaultGoal>
@@ -163,7 +30,7 @@
                  <file>${file}.jar</file>
                  <repositoryId>gate-oss</repositoryId>
                  <url>${oss.release.repo}</url>
-                 <pomFile>${pom}</pomFile>
+                 <pomFile>${file}.pom.xml</pomFile>
                  <keyname>${gate.gpg.keyname}</keyname>
                  <passphrase>${gate.gpg.passphrase}</passphrase>
                </configuration>
@@ -179,7 +46,7 @@
                  <classifier>javadoc</classifier>
                  <repositoryId>gate-oss</repositoryId>
                  <url>${oss.release.repo}</url>
-                 <pomFile>${pom}</pomFile>
+                 <pomFile>${file}.pom.xml</pomFile>
                  <keyname>${gate.gpg.keyname}</keyname>
                  <passphrase>${gate.gpg.passphrase}</passphrase>
                </configuration>
@@ -195,7 +62,7 @@
                  <classifier>sources</classifier>
                  <repositoryId>gate-oss</repositoryId>
                  <url>${oss.release.repo}</url>
-                 <pomFile>${pom}</pomFile>
+                 <pomFile>${file}.pom.xml</pomFile>
                  <keyname>${gate.gpg.keyname}</keyname>
                  <passphrase>${gate.gpg.passphrase}</passphrase>
                </configuration>
@@ -206,4 +73,4 @@
       </build>
     </profile>
   </profiles>
-</project>
\ No newline at end of file
+</project>

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to