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


Reply via email to