Author: schor Date: Fri Dec 1 16:55:45 2017 New Revision: 1816888 URL: http://svn.apache.org/viewvc?rev=1816888&view=rev Log: [UIMA-5612] update the build for signed eclipse update site
Modified: uima/build/trunk/parent-pom/pom.xml Modified: uima/build/trunk/parent-pom/pom.xml URL: http://svn.apache.org/viewvc/uima/build/trunk/parent-pom/pom.xml?rev=1816888&r1=1816887&r2=1816888&view=diff ============================================================================== --- uima/build/trunk/parent-pom/pom.xml (original) +++ uima/build/trunk/parent-pom/pom.xml Fri Dec 1 16:55:45 2017 @@ -1791,12 +1791,16 @@ Copyright (c) 2003, 2006 IBM Corporation <arg line="-outputDir ${eusWork}/plugins" /> <arg line="${toBePacked}" /> </java> - - <!-- copy also the original unpacked jars to the subsite in the plugins dir --> - <copy todir="${eusWork}/plugins" failonerror="true"> - <fileset dir="${toBePacked}" /> - </copy> + <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> + <!--FAILED EXPERIMENT: COMMENTED OUT manually publish - eusWork to subsite rename to follow Eclipse conventions @@ -1931,6 +1935,180 @@ Copyright (c) 2003, 2006 IBM Corporation </target> </configuration> </execution> + + <!-- ================================================= --> + <!-- Rerun pack,publish and sign after jar-signing --> + <!-- Has NO GOAL or PHASE, so doesn't run normally --> + <!-- run using mvn --> + <!-- antrun:run@make-subsite-after-signing --> + <!-- ================================================= --> + + <execution> + <id>make-subsite-after-signing</id> + <configuration> + <target> + <taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" /> + + <!-- =================================== --> + <!-- Check we can access build tools --> + <!-- =================================== --> + <!-- 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> + + <echo>deleting previous version of packed files from work</echo> + <echo>---------------------------------------------------</echo> + <delete verbose="true"> + <fileset dir="${eusWork}/plugins" includes="*.pack.gz" /> + </delete> + + <echo> </echo> + <echo>Compressing signed plugin Jars in eus-work using pack200 - this may take a minute or 2</echo> + <echo>======================================================================================</echo> + <java jar="${uima-eclipse-jar-processor}" fork="true" failonerror="true" maxmemory="256m"> + <arg line="-pack" /> + <arg line="-verbose" /> + <!-- only pack the plugins. The publisher won't copy packed "features", + they are tiny anyways --> + <arg line="-outputDir ${eusWork}/plugins" /> + <arg line="${eusWork}/plugins" /> + </java> + + <echo> </echo> + <echo>Resetting the content and artifacts for the site</echo> + <echo>------------------------------------------------</echo> + + <!-- This is needed because the previous pre-build step already + updated the content and artifacts jar with the new versions --> + + <delete verbose="true"> + <fileset dir="${eclipseUpdateSubSite}" includes="content.jar,artifacts.jar" /> + </delete> + <copy todir="${eclipseUpdateSubSite}" failonerror="false"> + <fileset dir="${project.build.directory}/saved" includes="content.jar,artifacts.jar" /> + </copy> + + <echo> </echo> + <echo>Generate the p2 metadata and publish new artifacts</echo> + <echo>--------------------------------------------------</echo> + <!-- Append is needed because category info is incremental with each additional release --> + <!-- publishArtifacts is needed to generate p2 metadata for the pack.gz forms --> + <!-- - tried and failed: using ANT to copy artifacts to the target - doesn't update metadata + for pack.gz form ! if you don't publish artifacts + - doesn't update artifacts.jar + - deleting SNAPSHOT jars in the eclipse update subsite + - fails because the previous metadata has info about those jars + and that isn't deleted, and continues to be used + --> + <java jar="${eclipse-equinox-launcher}" fork="true" failonerror="true" maxmemory="256m"> + <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="-reusePack200Files" /> + <arg line="-compress" /> + <arg line="-append" /> + </java> + + <echo>Augment p2 metadata with category information</echo> + <echo>---------------------------------------------</echo> + <java jar="${eclipse-equinox-launcher}" fork="true" failonerror="true" maxmemory="256m"> + <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> + + + <echo> </echo> + <echo>Clearing previous checksums and signatures for eusWork plugins</echo> + <delete dir="${eusWork}"> + <include name="**/*.sha1" /> + <include name="**/*.md5" /> + <include name="**/*.asc" /> + </delete> + + <echo message="Generating checksums for signed plugins" /> + + <checksum algorithm="sha1" format="MD5SUM"> + <fileset dir="${eusWork}"> + <include name="**/*.gz" /> + <include name="**/*.jar" /> + </fileset> + </checksum> + <checksum algorithm="md5" format="MD5SUM"> + <fileset dir="${eusWork}"> + <include name="**/*.gz" /> + <include name="**/*.jar" /> + </fileset> + </checksum> + + <echo message="Generating gpg signatures for new features and plugins" /> + <apply executable="gpg" dir="${eusWork}" failonerror="true"> + <arg value="--detach-sign" /> + <arg value="--armor" /> + <!-- batch flag needed to avoid gpg hang up --> + <arg value="--batch" /> + <fileset dir="${eusWork}"> + <include name="**/*.jar" /> + <include name="**/*.jar.pack.gz" /> + </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="**/*.md5" /> + <include name="**/*.sha1" /> + </fileset> + </copy> + + <echo> </echo> + <echo message="Clearing previous checksums and signatures for update artifacts.jar and content.jar" /> + <delete dir="${eclipseUpdateSubSite}"> + <include name="*.sha1" /> + <include name="*.md5" /> + <include name="*.asc" /> + </delete> + + <echo message="Generating checksums for updated artifacts.jar and content.jar" /> + <checksum algorithm="sha1" format="MD5SUM"> + <fileset dir="${eclipseUpdateSubSite}"> + <include name="*.jar" /> + </fileset> + </checksum> + + <checksum algorithm="md5" format="MD5SUM"> + <fileset dir="${eclipseUpdateSubSite}"> + <include name="*.jar" /> + </fileset> + </checksum> + + <echo message="Generating gpg signatures for artifacts.jar and content.jar" /> + <apply executable="gpg" dir="${eclipseUpdateSubSite}" failonerror="true"> + <arg value="--detach-sign" /> + <arg value="--armor" /> + <!-- batch flag needed to avoid gpg hang up --> + <arg value="--batch" /> + <fileset dir="${eclipseUpdateSubSite}"> + <include name="*.jar" /> + </fileset> + </apply> + </target> + </configuration> + </execution> </executions> </plugin>