You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2019/11/25 15:43:11 UTC

svn commit: r1870390 - in /uima/build/trunk/uima-eclipse-update-site-removing: pom.xml readme.txt saved-pom-parts.xml subsiteMaintenance.xml subsiteSlicing.xml

Author: schor
Date: Mon Nov 25 15:43:11 2019
New Revision: 1870390

URL: http://svn.apache.org/viewvc?rev=1870390&view=rev
Log:
[UIMA-6157] add utility for removing things from eclipse update sites

Added:
    uima/build/trunk/uima-eclipse-update-site-removing/pom.xml
    uima/build/trunk/uima-eclipse-update-site-removing/readme.txt
    uima/build/trunk/uima-eclipse-update-site-removing/saved-pom-parts.xml
    uima/build/trunk/uima-eclipse-update-site-removing/subsiteMaintenance.xml
    uima/build/trunk/uima-eclipse-update-site-removing/subsiteSlicing.xml

Added: uima/build/trunk/uima-eclipse-update-site-removing/pom.xml
URL: http://svn.apache.org/viewvc/uima/build/trunk/uima-eclipse-update-site-removing/pom.xml?rev=1870390&view=auto
==============================================================================
--- uima/build/trunk/uima-eclipse-update-site-removing/pom.xml (added)
+++ uima/build/trunk/uima-eclipse-update-site-removing/pom.xml Mon Nov 25 15:43:11 2019
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.uima</groupId>
+    <artifactId>parent-pom</artifactId>
+    <version>10</version>
+    <relativePath>../parent-pom</relativePath>
+  </parent>
+
+  <artifactId>uima-eclipse-update-site-maintenance</artifactId>
+  <packaging>pom</packaging>
+  <version>1-SNAPSHOT</version>
+
+  <name>Apache UIMA Eclipse: ${project.artifactId}</name>
+  <description>UIMA Eclipse update site maintenance</description>
+  <url>${uimaWebsiteUrl}</url>
+
+  <scm>
+    <connection>
+      scm:svn:http://svn.apache.org/repos/asf/uima/build/trunk/uima-eclipse-update-site-maintenance
+    </connection>
+    <developerConnection>
+      scm:svn:https://svn.apache.org/repos/asf/uima/build/trunk/uima-eclipse-update-site-maintenance
+    </developerConnection>
+    <url>
+      http://svn.apache.org/viewvc/uima/build/trunk/uima-eclipse-update-site-maintenance
+    </url>
+  </scm>
+
+  <properties>
+    <uimaScmRoot>uimaj</uimaScmRoot>
+    <uimaScmProject>${project.artifactId}</uimaScmProject>
+    <distsvnroot>https://dist.apache.org/</distsvnroot>
+    
+  </properties>
+
+<profiles>
+                  <!-- ============================================= -->
+                  <!-- Slice off most recent version subsite         -->
+                  <!--   Needs 2 parameters:                         -->
+                  <!--     -Dsubsite=...                             -->
+                  <!--         name of the subsite: uimaj, ruta, etc.-->
+                  <!--   example                                     -->
+                  <!--     -Dsubsite=uimaj                           -->
+                  <!-- ============================================= -->
+
+  <profile>
+    <id>slice</id>
+    <properties>
+      <eclipseUpdateSite>${project.build.directory}/eclipse-update-site</eclipseUpdateSite>
+      <eclipseUpdateSlice>${eclipseUpdateSite}/${subsite}</eclipseUpdateSlice>
+    </properties>
+
+    <build>
+	    <plugins>
+	      <plugin>
+	        <artifactId>maven-antrun-plugin</artifactId>
+	        <executions>
+	          <execution>
+	            <id>SliceSubsite</id>
+	            <phase>test</phase>  
+	            <configuration>
+	              <target>
+	                <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" />
+	                
+	                <!-- if the property uima-maven-build-eclipse-home is set, use it, otherwise don't -->
+	                <condition property="eclipse.home" value="${uima-maven-build-eclipse-home}">
+	                  <not>
+	                    <equals arg1="${uima-maven-build-eclipse-home}" arg2="$${uima-maven-build-eclipse-home}" />
+	                  </not>
+	                </condition>
+	
+	                <property environment="envVar" />
+	                <condition property="eclipse.home" value="${envVar.ECLIPSE_HOME}">
+	                  <isset property="envVar.ECLIPSE_HOME" />
+	                </condition>
+	
+	                <fail unless="eclipse.home" message="********** Please set up and use an ant property eclipse.home set to an Eclipse installation at level 3.3 or later, e.g. c:/eclipses/3.3/eclipse" />
+	                                           
+	                <!-- We run an internal Ant this way in order to have the Ant impl have the special defined tasks for p2 -->
+	                
+	                <java jar="${eclipse-equinox-launcher}" fork="true" failonerror="true" maxmemory="256m">
+	                  <arg line="-application org.eclipse.ant.core.antRunner" />
+	                  <arg line="-f subsiteSlicing.xml" />
+	                  <arg line="-verbose" />
+	                  <arg line="-Dsubsite=${subsite}"/>
+	                </java>
+	                
+	                <!-- ============================================== -->
+	                <!--   If apache-release, do checksums and gpg sign -->
+	                <!-- ============================================== -->
+	                          
+	                <if>
+	                  <equals arg1="${isApacheRelease}" arg2="true" />
+	                  <then>
+	                    <echo message="Generating checksums for artifacts.jar and content.jar" />
+	                    <checksum algorithm="sha1" format="MD5SUM">
+	                      <fileset dir="${eclipseUpdateSlice}">
+	                        <include name="*.jar.pack.gz" />
+	                        <include name="*.jar" />
+	                      </fileset>
+	                    </checksum>
+	                    <checksum algorithm="md5" format="MD5SUM">
+	                      <fileset dir="${eclipseUpdateSlice}">
+	                        <include name="*.jar.pack.gz" />
+	                        <include name="*.jar" />
+	                      </fileset>
+	                    </checksum>
+	
+	                    <echo message="Generating gpg signatures for artifacts.jar and content.jar" />
+	                    <!-- gpg fails if sig file already exists, so delete it if it exists -->
+	                    <delete>
+	                      <fileset dir="${eclipseUpdateSlice}" includes="*.asc" />
+	                    </delete>
+	                    <apply executable="gpg" dir="${eclipseUpdateSlice}"> 
+	                      <arg value="--detach-sign" />
+	                      <arg value="--armor" />
+	                      <!-- batch flag needed to avoid gpg hang up -->
+	                      <arg value="--batch" />
+	                      <fileset dir="${eclipseUpdateSlice}">
+	                        <include name="*.jar" />
+	                        <include name="*.jar.pack.gz" />
+	                      </fileset>
+	                    </apply> 
+	                    
+	                  </then>                     
+	                </if>          
+	
+	              </target>
+	            </configuration>
+	            <goals>
+	              <goal>run</goal>
+	            </goals>
+	          </execution>
+	        </executions>
+	      </plugin>
+      </plugins>
+    </build>    
+  </profile>
+</profiles>
+
+</project>
\ No newline at end of file

Added: uima/build/trunk/uima-eclipse-update-site-removing/readme.txt
URL: http://svn.apache.org/viewvc/uima/build/trunk/uima-eclipse-update-site-removing/readme.txt?rev=1870390&view=auto
==============================================================================
--- uima/build/trunk/uima-eclipse-update-site-removing/readme.txt (added)
+++ uima/build/trunk/uima-eclipse-update-site-removing/readme.txt Mon Nov 25 15:43:11 2019
@@ -0,0 +1,32 @@
+How to maintain the UIMA Eclipse update site
+
+The Eclipse update site is a composite update site.  The top level has subsites for
+  - UIMAJ SDK
+  - RUTA
+  - UIMA-AS
+  
+The update site only needs maintenance if the number of subsites changes.  Normally this is not the case.
+See the uima-eclipse-composite-update-site project's "buildCompositeRepository.xml" for details.
+
+Subsites need maintenance, for the following things:
+
+1) removing releases that were buggy and replaced, where there's no value in keeping those releases in the update site.
+2) slicing off a bunch of older releases from the main subsite, into an appropriately named archive for those.  This process
+creates two subsites
+  - the original, but with the sliced of versions removed and
+  - a new subsite with the removed versions.
+  
+  Once promoted to the Apache Mirror system, the new subsite is deleted.  This causes it to be removed from the 
+  Apache Mirror system, but it is kept in the apache archive.  
+  
+  When this is done, please document where the sliced off older releases went (the name of that update site) so people
+  wanting to install from there still can do that.
+  
+How to run
+----------
+
+1) update the POM: 
+  - change property subsite to "uimaj", "ruta", "uimaj-v3-pre-production", etc.
+  - if doing a "slice" operation, set the property "slice" to something like:
+    uimaj-2.4.0-2.9.0  indicating the subsite name and the versions included 
+2) update the subsiteMaintenance.xml to specify the maintenance tasks
\ No newline at end of file

Added: uima/build/trunk/uima-eclipse-update-site-removing/saved-pom-parts.xml
URL: http://svn.apache.org/viewvc/uima/build/trunk/uima-eclipse-update-site-removing/saved-pom-parts.xml?rev=1870390&view=auto
==============================================================================
--- uima/build/trunk/uima-eclipse-update-site-removing/saved-pom-parts.xml (added)
+++ uima/build/trunk/uima-eclipse-update-site-removing/saved-pom-parts.xml Mon Nov 25 15:43:11 2019
@@ -0,0 +1,36 @@
+!<!-- The only reason to check out from SVN these 2 files and their signatures is to set things up
+                        so the release can be done via a svn switch (from dev to release) and then a commit 
+                        Because Jars are being released, it's unlikely there is any diff encoding that SVN can do -->
+                        
+                  <!-- =================================== -->
+                  <!-- SVN remote copy from release to dev -->
+                  <!--   and checkout                      -->
+                  <!-- =================================== -->
+                  <echo>copying svn dist release to dev for eclipse update subsite ${subsite} version ${project.version}</echo>
+                  <!--  
+                  <exec executable="svn">
+                    <arg value="delete" />
+                    <arg value="${distsvnroot}repos/dist/dev/uima/eclipse-update-site/${subsite}/${project.version}" />
+                    <arg value="- -force" /> 
+                    <arg value="-m" />
+                    <arg value="prepare for eclipse update subsite ${subsite} ${project.version} maintenance" />
+                  </exec> 
+  
+                  <exec executable="svn">
+                    <arg value="copy" />
+                    <arg value="${distsvnroot}repos/dist/release/uima/eclipse-update-site/${subsite}" />
+                    <arg value="${distsvnroot}repos/dist/dev/uima/eclipse-update-site/${subsite}/${project.version}" />
+                    <arg value="- -parents" />
+                    <arg value="-m" />
+                    <arg value="prepare for eclipse update subsite ${subsite} ${project.version} maintenance" />
+                  </exec> 
+  
+                  <delete dir="${eclipseUpdateSite}" quiet="false"/>
+                  <echo>checking out eclipse subsite ${subsite} from dist ...dev...</echo>                
+                  <exec executable="svn">
+                    <arg value="checkout" />
+                    <arg value="- -quiet" />
+                    <arg value="${distsvnroot}repos/dist/dev/uima/eclipse-update-site/${subsite}/${project.version}" />
+                    <arg value="${eclipseUpdateSubsite}" />
+                  </exec> 
+   --> 
\ No newline at end of file

Added: uima/build/trunk/uima-eclipse-update-site-removing/subsiteMaintenance.xml
URL: http://svn.apache.org/viewvc/uima/build/trunk/uima-eclipse-update-site-removing/subsiteMaintenance.xml?rev=1870390&view=auto
==============================================================================
--- uima/build/trunk/uima-eclipse-update-site-removing/subsiteMaintenance.xml (added)
+++ uima/build/trunk/uima-eclipse-update-site-removing/subsiteMaintenance.xml Mon Nov 25 15:43:11 2019
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<project name="subsiteMaintenance" basedir="." default="subsiteMaintenance">
+	<target name="subsiteMaintenance">
+		<echo>starting ${basedir}</echo>	
+		
+		
+		<!-- ========================================== -->
+    <!--   maintenance to remove installable units  -->
+    <!--     (versions of features/plugins)         -->
+		<!--   set the next 2 properties                -->
+    <!-- ========================================== -->
+
+		<property name="subsite" value="uimaj"/>
+	  <property name="version" value="2.4.0"/>
+   	<!--
+    <p2.remove.iu>
+    	<repository location="target/eclipse-update-site/${subsite}"/>
+ 
+     
+      <iu id='org.apache.uima.runtime.feature.group' version='${version}'/>
+      <iu id="org.apache.uima.tools.feature.group"   version='${version}'/>
+ 
+      <iu id='org.apache.uima.tools.feature.jar'     version='${version}'/>
+    	<iu id='org.apache.uima.runtime.feature.jar'   version='${version}'/>
+
+    	<iu	id='org.apache.uima.desceditor'            version='${version}'/>
+      <iu id='org.apache.uima.pear'                  version='${version}'/>
+      <iu id='org.apache.uima.caseditor.ide'         version='${version}'/>
+      <iu id='org.apache.uima.launcher'              version='${version}'/>
+      <iu id='org.apache.uima.caseditor'             version='${version}'/>
+      <iu id='org.apache.uima.debug'                 version='${version}'/>
+      <iu id='org.apache.uima.jcas.jcasgenp'         version='${version}'/>
+      <iu id='org.apache.uima.runtime'               version='${version}'/>       
+ 
+    </p2.remove.iu>	
+   
+    <delete>
+       <fileset dir="target/eclipse-update-site/uimaj">
+         <include name="**/*_${version}.jar*.asc"/>
+         <include name="**/*_${version}.jar*.md5"/>
+         <include name="**/*_${version}.jar*.sha1"/>
+       </fileset>
+    </delete>
+		-->
+		
+    <!-- ========================================== -->
+    <!--   maintenance to slice out a number of     -->
+    <!--     versions for archiving                 -->
+    <!--   set the next 2 properties                -->
+    <!-- ========================================== -->
+
+    <property name="slice" value="uimaj-2.4.0"/>
+
+		<p2.mirror source="target/eclipse-update-site/${subsite}" verbose='true'>
+			<destination location="target/eclipse-update-site/${slice}"/>
+			<slicingoptions followStrict='true' includeOptional='false' includeNonGreedy='false'/>
+      <iu id='org.apache.uima.runtime.feature.group' version='${version}'/>
+      <iu id="org.apache.uima.tools.feature.group"   version='${version}'/>
+			
+		</p2.mirror>	
+		<echo>done</echo>
+	</target>
+</project>
\ No newline at end of file

Added: uima/build/trunk/uima-eclipse-update-site-removing/subsiteSlicing.xml
URL: http://svn.apache.org/viewvc/uima/build/trunk/uima-eclipse-update-site-removing/subsiteSlicing.xml?rev=1870390&view=auto
==============================================================================
--- uima/build/trunk/uima-eclipse-update-site-removing/subsiteSlicing.xml (added)
+++ uima/build/trunk/uima-eclipse-update-site-removing/subsiteSlicing.xml Mon Nov 25 15:43:11 2019
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<project name="subsiteSlicing" basedir="." default="subsiteSlicing">
+	<target name="subsiteSlicing">
+    <property name="eclipseUpdateSlice" value="target/eclipse-update-site/${subsite}"/>
+
+		<echo>starting Eclipse update site slicing for ${subsite}</echo>
+		
+    <!-- ============================================== -->
+    <!--   maintenance to slice out most recent version -->
+		<!--                                                -->
+    <!--   change iu's below to the feature groups      -->
+    <!--   appropriate to your subsite                  -->
+    <!--                                                -->
+    <!-- ============================================== -->
+
+		<delete dir="${eclipseUpdateSlice}" quiet="false"/>
+		
+		<!-- don't use raw='false' because all it does is change timestamps and uuids -->
+		<p2.mirror source="https://dist.apache.org/repos/dist/release/uima/eclipse-update-site/${subsite}" verbose='true'>
+			<destination location="${eclipseUpdateSlice}"/>
+			<slicingoptions followStrict='true' includeOptional='false' includeNonGreedy='false'/>
+			
+			<!-- insert the name of all features -->
+      <iu id='org.apache.uima.runtime.feature.group'/>
+      <iu id='org.apache.uima.tools.feature.group'/>
+			
+		</p2.mirror>	
+		
+		<delete dir="${eclipseUpdateSlice}/.blobstore" quiet="false"/>
+		<echo>done</echo>
+	</target>
+</project>
\ No newline at end of file