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