This is an automated email from the ASF dual-hosted git repository. rec pushed a commit to branch refactoring/UIMA-6443-Fresh-Eclipse-update-site-for-every-release in repository https://gitbox.apache.org/repos/asf/uima-uimaj.git
commit 40a7366813713a11a862779679047094d6e841dc Author: Richard Eckart de Castilho <[email protected]> AuthorDate: Wed May 4 09:48:59 2022 +0200 [UIMA-6443] Fresh Eclipse update site for every release - Towards building the update site and features using Tycho --- aggregate-uimaj-eclipse-plugins/pom.xml | 3 +- ...=> marker-file-identifying-eclipse-feature.off} | 0 uimaj-eclipse-feature-runtime/pom.xml | 35 ++- .../src/main/resources/feature.xml | 21 +- ...=> marker-file-identifying-eclipse-feature.off} | 0 uimaj-eclipse-feature-tools/pom.xml | 74 ++++- .../src/main/resources/feature.xml | 2 +- ...arker-file-identifying-eclipse-update-site-off} | 0 uimaj-eclipse-update-site/pom.xml | 345 +++++---------------- uimaj-parent/pom.xml | 1 + 10 files changed, 200 insertions(+), 281 deletions(-) diff --git a/aggregate-uimaj-eclipse-plugins/pom.xml b/aggregate-uimaj-eclipse-plugins/pom.xml index ff41e6de9..083abf1dd 100644 --- a/aggregate-uimaj-eclipse-plugins/pom.xml +++ b/aggregate-uimaj-eclipse-plugins/pom.xml @@ -44,9 +44,8 @@ <module>../uimaj-ep-cas-editor-ide</module> <module>../uimaj-ep-runtime</module> - <!-- remove because of Jenkins / versioning issues --> - <!-- see https://issues.apache.org/jira/browse/UIMA-2497 --> <module>../uimaj-eclipse-feature-tools</module> <module>../uimaj-eclipse-feature-runtime</module> + <module>../uimaj-eclipse-update-site</module> </modules> </project> diff --git a/uimaj-eclipse-feature-runtime/marker-file-identifying-eclipse-feature b/uimaj-eclipse-feature-runtime/marker-file-identifying-eclipse-feature.off similarity index 100% rename from uimaj-eclipse-feature-runtime/marker-file-identifying-eclipse-feature rename to uimaj-eclipse-feature-runtime/marker-file-identifying-eclipse-feature.off diff --git a/uimaj-eclipse-feature-runtime/pom.xml b/uimaj-eclipse-feature-runtime/pom.xml index ffa231231..4cdbcdd96 100644 --- a/uimaj-eclipse-feature-runtime/pom.xml +++ b/uimaj-eclipse-feature-runtime/pom.xml @@ -29,11 +29,44 @@ <relativePath>../uimaj-parent/pom.xml</relativePath> </parent> - <artifactId>uimaj-eclipse-feature-runtime</artifactId> + <artifactId>org.apache.uima.runtime.feature.group</artifactId> + <packaging>eclipse-feature</packaging> <name>Apache UIMA Eclipse: ${project.artifactId}</name> <description>UIMA Eclipse Plugin Feature that has the base UIMA runtime, referred to by other plugins that need UIMA framework code</description> <url>${uimaWebsiteUrl}</url> + + <properties> + <tycho.version>2.7.2</tycho.version> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-runtime</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-maven-plugin</artifactId> + <version>${tycho.version}</version> + <extensions>true</extensions> + </plugin> + + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <version>${tycho.version}</version> + <configuration> + <pomDependencies>consider</pomDependencies> + </configuration> + </plugin> + </plugins> + </build> </project> \ No newline at end of file diff --git a/uimaj-eclipse-feature-runtime/src/main/resources/feature.xml b/uimaj-eclipse-feature-runtime/src/main/resources/feature.xml index ffe2ad034..a649e1ebd 100644 --- a/uimaj-eclipse-feature-runtime/src/main/resources/feature.xml +++ b/uimaj-eclipse-feature-runtime/src/main/resources/feature.xml @@ -18,7 +18,7 @@ under the License. --> <feature - id="org.apache.uima.runtime" + id="org.apache.uima.runtime.feature.group" label="%featureName" version="${parsedVersion.osgiVersion}" provider-name="%providerName"> @@ -27,15 +27,23 @@ This feature packages the UIMA runtime libraries plugin. </description> - <copyright>%copyright</copyright> + <copyright> + %copyright + </copyright> - <license url="%licenseURL">%license</license> + <license url="%licenseURL"> + %license + </license> <url> - <!-- note: following url must end in slash per tip #1 at http://www.eclipse.org/articles/Article-Update/keeping-up-to-date.html --> <discovery label="UIMA Eclipse Plugins update site" url="http://www.apache.org/dist/uima/eclipse-update-site/"/> </url> + <requires> + <import plugin="org.slf4j.api"/> + <import plugin="org.eclipse.m2e.maven.runtime.slf4j.simple"/> + </requires> + <plugin id="org.apache.uima.runtime" download-size="0" @@ -43,9 +51,4 @@ version="${parsedVersion.osgiVersion}" unpack="false"/> - <requires> - <import plugin="org.slf4j.api"/> - <import plugin="org.eclipse.m2e.maven.runtime.slf4j.simple"/> - </requires> - </feature> diff --git a/uimaj-eclipse-feature-tools/marker-file-identifying-eclipse-feature b/uimaj-eclipse-feature-tools/marker-file-identifying-eclipse-feature.off similarity index 100% rename from uimaj-eclipse-feature-tools/marker-file-identifying-eclipse-feature rename to uimaj-eclipse-feature-tools/marker-file-identifying-eclipse-feature.off diff --git a/uimaj-eclipse-feature-tools/pom.xml b/uimaj-eclipse-feature-tools/pom.xml index 3582f3b69..94a7f1de5 100644 --- a/uimaj-eclipse-feature-tools/pom.xml +++ b/uimaj-eclipse-feature-tools/pom.xml @@ -29,9 +29,79 @@ <relativePath>../uimaj-parent/pom.xml</relativePath> </parent> - <artifactId>uimaj-eclipse-feature-tools</artifactId> - <packaging>jar</packaging> + <artifactId>org.apache.uima.tools.feature.group</artifactId> + <packaging>eclipse-feature</packaging> + <name>Apache UIMA Eclipse: ${project.artifactId}</name> <description>UIMA Eclipse Plugin Feature for base uima tooling</description> <url>${uimaWebsiteUrl}</url> + + <properties> + <tycho.version>2.7.2</tycho.version> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>org.apache.uima.runtime.feature.group</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-cas-editor</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-cas-editor-ide</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-configurator</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-debug</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-jcasgen</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-pear-packager</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-launcher</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-maven-plugin</artifactId> + <version>${tycho.version}</version> + <extensions>true</extensions> + </plugin> + + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <version>${tycho.version}</version> + <configuration> + <pomDependencies>consider</pomDependencies> + </configuration> + </plugin> + </plugins> + </build> + </project> \ No newline at end of file diff --git a/uimaj-eclipse-feature-tools/src/main/resources/feature.xml b/uimaj-eclipse-feature-tools/src/main/resources/feature.xml index 70c2d215c..56ebeb2a3 100644 --- a/uimaj-eclipse-feature-tools/src/main/resources/feature.xml +++ b/uimaj-eclipse-feature-tools/src/main/resources/feature.xml @@ -18,7 +18,7 @@ under the License. --> <feature - id="org.apache.uima.tools" + id="org.apache.uima.tools.feature.group" label="%featureName" version="${parsedVersion.osgiVersion}" provider-name="%providerName"> diff --git a/uimaj-eclipse-update-site/marker-file-identifying-eclipse-update-site b/uimaj-eclipse-update-site/marker-file-identifying-eclipse-update-site-off similarity index 100% rename from uimaj-eclipse-update-site/marker-file-identifying-eclipse-update-site rename to uimaj-eclipse-update-site/marker-file-identifying-eclipse-update-site-off diff --git a/uimaj-eclipse-update-site/pom.xml b/uimaj-eclipse-update-site/pom.xml index 9bcdf7b4d..ddc5aa9a6 100644 --- a/uimaj-eclipse-update-site/pom.xml +++ b/uimaj-eclipse-update-site/pom.xml @@ -25,13 +25,12 @@ <parent> <groupId>org.apache.uima</groupId> <artifactId>uimaj-parent</artifactId> - <version>3.2.0</version> + <version>3.3.0-SNAPSHOT</version> <relativePath /> </parent> <artifactId>uimaj-eclipse-update-site</artifactId> - <version>3.2.0</version> - <packaging>pom</packaging> + <packaging>eclipse-repository</packaging> <name>Apache UIMA Eclipse: ${project.artifactId}</name> <description>The UIMA Java SDK Eclipse update site</description> @@ -40,278 +39,92 @@ <properties> <eclipseUpdateSiteComponent>uimaj</eclipseUpdateSiteComponent> <eclipseUpdateSubSite>${project.build.directory}/eclipse-update-site-v3/${eclipseUpdateSiteComponent}</eclipseUpdateSubSite> - <dropPrevVersions>false</dropPrevVersions> + <tycho.version>2.7.2</tycho.version> </properties> + <dependencies> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>org.apache.uima.runtime.feature.group</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-eclipse-feature-tools</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <!-- + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-cas-editor</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-cas-editor-ide</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-configurator</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-debug</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-jcasgen</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-pear-packager</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-runtime</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-ep-launcher</artifactId> + <version>3.3.0-SNAPSHOT</version> + </dependency> + --> + </dependencies> + <build> <plugins> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>copy-new-plugins</id> - <goals> - <goal>copy</goal> - </goals> - <configuration> - <!-- =================================================================== - the PLUGINS - NOTE: rename to add org.apache.uima. and hyphen change to underscore in destination - to follow Eclipse conventions. Name must be the same as the ID for the - plugin or feature - ======================================================================= --> - <artifactItems> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-ep-cas-editor</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.caseditor_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-ep-cas-editor-ide</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.caseditor.ide_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-ep-configurator</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.desceditor_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-ep-debug</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.debug_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-ep-jcasgen</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.jcas.jcasgenp_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-ep-pear-packager</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.pear_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-ep-runtime</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.runtime_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-ep-launcher</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.launcher_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - </artifactItems> - <outputDirectory>${eusWork}/plugins</outputDirectory> - </configuration> - </execution> - <execution> - <id>copy-features</id> - <goals> - <goal>copy</goal> - </goals> - <configuration> - <!-- =================================================================== - the FEATURES - note: rename to add org.apache.uima. and - hyphen change to underscore in destination to follow - Eclipse conventions - Name must be the same as the ID for the plugin or feature - ======================================================================= --> - <artifactItems> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-eclipse-feature-runtime</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.runtime_${parsedVersion.osgiVersion}.jar</destFileName> - </artifactItem> - <artifactItem> - <groupId>org.apache.uima</groupId> - <artifactId>uimaj-eclipse-feature-tools</artifactId> - <version>${project.version}</version> - <destFileName>org.apache.uima.tools_${parsedVersion.osgiVersion}.jar </destFileName> - </artifactItem> - </artifactItems> - <outputDirectory>${eusWork}/features</outputDirectory> - </configuration> - </execution> - </executions> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-maven-plugin</artifactId> + <version>${tycho.version}</version> + <extensions>true</extensions> </plugin> <plugin> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - - <!-- ==================================================== --> - <!-- --> - <!-- P O S T JAR S I G N I N G by Digicert --> - <!-- --> - <!-- is not here, it was --> - <!-- moved to uima-wide parent pom 10/2018 --> - <!-- ==================================================== --> - - <execution> - <id>BuildUpdateSite-pack-svnget-buildMetadata-commit-to-dev</id> - <phase>package</phase> - <goals> - <goal>run</goal> - </goals> - <configuration combine.self="override"> - <target> - <taskdef classname="net.sf.antcontrib.logic.IfTask" name="if" /> - - <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" /> - <fail unless="uima-eclipse-jar-processor" - message="********** Please add to your settings.xml file the property uima-eclipse-jar-processor, point to this within an Eclipse installation at level 4.2 or later, e.g. \$\{uima-maven-build-eclipse-home\}/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.200.v20110808-1657.jar" /> - <!-- skip this when dropping previous versions --> - <if> - <equals arg1="${dropPrevVersions}" arg2="false" /> - <then> - <if> - <equals arg1="${isApacheRelease}" arg2="true" /> - <then> - - <echo>checking out eclipse update subsite ${eclipseUpdateSiteComponent} from - dist ...release...</echo> - <delete dir="${eclipseUpdateSubSite}" quiet="true" /> - <exec executable="svn" failonerror="true"> - <arg value="checkout" /> - <arg - value="${distsvnroot}repos/dist/release/uima/eclipse-update-site-v3/${eclipseUpdateSiteComponent}" /> - <arg value="${eclipseUpdateSubSite}" /> - </exec> - - <echo>Saving original content and artifacts for the site</echo> - <copy todir="${project.build.directory}/saved" failonerror="true"> - <fileset dir="${eclipseUpdateSubSite}" - includes="content.jar,artifacts.jar" /> - </copy> - - </then> - <else> - <echo>skipping checkout of current svn dist release (because not - apache-release)</echo> - <!-- https://issues.apache.org/jira/browse/UIMA-3501 --> - <delete dir="${eclipseUpdateSubSite}" quiet="true" /> - </else> - </if> - </then> - </if> - - <echo>Save conditioned Jars prior to signing, in case of redo</echo> - <echo>-------------------------------------------------------</echo> - <copy todir="${project.build.directory}/saved/features" failonerror="true"> - <fileset dir="${eusWork}/features" includes="*.jar" /> - </copy> - <copy todir="${project.build.directory}/saved/plugins" failonerror="true"> - <fileset dir="${eusWork}/plugins" includes="*.jar" /> - </copy> - - <echo>Generate the p2 metadata and publish new artifacts</echo> - <java fork="true" maxmemory="256m" jar="${eclipse-equinox-launcher}" - failonerror="true"> - <arg - line="-application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher" /> - <arg line="-metadataRepository file:///${eclipseUpdateSubSite}" /> - <arg line="-artifactRepository file:///${eclipseUpdateSubSite}" /> - <arg line="-source ${eusWork}" /> - <arg line="-configs ANY.ANY.ANY" /> - <arg line="-publishArtifacts" /> - <arg line="-compress" /> - <arg line="-append" /> - </java> - <echo>Augment p2 metadata with category information</echo> - <java fork="true" maxmemory="256m" jar="${eclipse-equinox-launcher}" - failonerror="true"> - <arg line="-application org.eclipse.equinox.p2.publisher.CategoryPublisher" /> - <arg line="-metadataRepository file:///${eclipseUpdateSubSite}" /> - <arg line="-categoryDefinition file:///${basedir}/category.xml" /> - <arg line="-categoryQualifier apache-uima" /> - <arg line="-compress" /> - </java> - <if> - <equals arg2="true" arg1="${isApacheRelease}" /> - <then> - <echo message="Generating checksums for new features and plugins" /> - <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM" - forceoverwrite="yes"> - <fileset dir="${eusWork}"> - <include name="**/*.gz" /> - <include name="**/*.jar" /> - </fileset> - </checksum> - - <echo message="Generating gpg signatures for new features and plugins" /> - <apply failonerror="true" dir="${eusWork}" executable="gpg"> - <arg value="--detach-sign" /> - <arg value="--armor" /> - <arg value="--batch" /> - <fileset dir="${eusWork}"> - <include name="**/*.jar" /> - </fileset> - </apply> - <echo message="Copying the checksums and signatures to the update subsite" /> - <copy todir="${eclipseUpdateSubSite}" failonerror="true"> - <fileset dir="${eusWork}"> - <include name="**/*.asc" /> - <include name="**/*.sha512" /> - </fileset> - </copy> - <echo - message="Clearing previous checksums and signatures for update artifacts.jar and content.jar" /> - <delete dir="${eclipseUpdateSubSite}"> - <include name="*.sha512" /> - <include name="*.asc" /> - </delete> - <echo - message="Generating checksums for updated artifacts.jar and content.jar" /> - <checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM" - forceoverwrite="yes"> - <fileset dir="${eclipseUpdateSubSite}"> - <include name="*.jar" /> - </fileset> - </checksum> - <echo message="Generating gpg signatures for artifacts.jar and content.jar" /> - <apply failonerror="true" dir="${eclipseUpdateSubSite}" executable="gpg"> - <arg value="--detach-sign" /> - <arg value="--armor" /> - <arg value="--batch" /> - <fileset dir="${eclipseUpdateSubSite}"> - <include name="*.jar" /> - </fileset> - </apply> - </then> - </if> - </target> - </configuration> - </execution> - </executions> + <groupId>org.eclipse.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <version>${tycho.version}</version> + <configuration> + <pomDependencies>consider</pomDependencies> + </configuration> </plugin> - + + <!-- + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-p2-repository-plugin</artifactId> + <version>${tycho.version}</version> + <configuration> + <includeAllDependencies>true</includeAllDependencies> + </configuration> + </plugin> + --> </plugins> </build> - </project> diff --git a/uimaj-parent/pom.xml b/uimaj-parent/pom.xml index 98cfa67bd..d5f3286e4 100644 --- a/uimaj-parent/pom.xml +++ b/uimaj-parent/pom.xml @@ -289,6 +289,7 @@ <!-- default configuration --> <configuration> <excludes combine.children="append"> + <exclude>**/.tycho-consumer-pom.xml</exclude> <!-- Eclipse launch files - no need for a license --> <exclude>**/run_configuration/*.launch</exclude> </excludes>
