Author: buildbot
Date: Thu May 19 04:33:33 2016
New Revision: 988585
Log:
Staging update by buildbot for sis
Modified:
websites/staging/sis/trunk/content/ (props changed)
websites/staging/sis/trunk/content/release-management-setup.html
websites/staging/sis/trunk/content/release-management.html
Propchange: websites/staging/sis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu May 19 04:33:33 2016
@@ -1 +1 @@
-1744504
+1744505
Modified: websites/staging/sis/trunk/content/release-management-setup.html
==============================================================================
--- websites/staging/sis/trunk/content/release-management-setup.html (original)
+++ websites/staging/sis/trunk/content/release-management-setup.html Thu May 19
04:33:33 2016
@@ -115,14 +115,18 @@ However in the later case, all relative
ââ trunk
ââ branches
ââ tags
+ââ non-free
+â ââ sis-epsg
ââ distribution
ââ release-test
+â ââ maven
ââ site
</pre></div>
<p>Create the above directory structure as below:</p>
<div class="codehilite"><pre>svn checkout
https://svn.apache.org/repos/asf/sis/trunk
+svn checkout https://svn.apache.org/repos/asf/sis/non-free
svn checkout https://svn.apache.org/repos/asf/sis/release-test
svn checkout https://svn.apache.org/repos/asf/sis/site/trunk site
svn checkout https://dist.apache.org/repos/dist/dev/sis distribution
Modified: websites/staging/sis/trunk/content/release-management.html
==============================================================================
--- websites/staging/sis/trunk/content/release-management.html (original)
+++ websites/staging/sis/trunk/content/release-management.html Thu May 19
04:33:33 2016
@@ -104,9 +104,10 @@ The intended audiences are SIS release m
<li><a href="#java-update">Java updates</a></li>
</ul>
</li>
-<li><a href="#prepare-source">Prepare site and source code</a><ul>
+<li><a href="#prepare-source">Prepare web site and source code</a><ul>
<li><a href="#prepare-documentation">Documentation</a></li>
<li><a href="#prepare-website">Web site</a></li>
+<li><a href="#prepare-code">Source code</a></li>
</ul>
</li>
<li><a href="#branch">Create branch and tag</a><ul>
@@ -116,6 +117,7 @@ The intended audiences are SIS release m
</li>
<li><a href="#maven-deploy">Deploy Maven artifacts</a><ul>
<li><a href="#nexus-close">Verify and close the Nexus release
artifacts</a></li>
+<li><a href="#maven-nonfree">Deploy non-free resources to Nexus</a></li>
<li><a href="#nexus-text">Test the Nexus release artifacts</a></li>
</ul>
</li>
@@ -190,10 +192,10 @@ in this page shall be adjusted according
<h2 id="java-update">Java updates<a class="headerlink" href="#java-update"
title="Permanent link">¶</a></h2>
<p>While we need a JDK6 installation for the <code>bootclasspath</code>
option, we do not recommend to use it for generating
the binaries since JDK6 has reached its end of public updates (but not the end
of commercial support).
-We recommend to create the release with JDK8 instead. Make sure that the JDK
installation
-to be used for the release has been updated recently, since compilers may
receive critical bug fixes.
+We recommend to create the release with JDK7 instead (JDK8
<code>javadoc</code> tool seems to have a bug that prevent its use with SIS).
+Make sure that the JDK installation to be used for the release has been
updated recently, since compilers may receive critical bug fixes.
For example the <code>javadoc</code> tool of older JDK versions was known to
generate HTML pages with a vulnerability in them.</p>
-<h1 id="prepare-source">Prepare site and source code<a class="headerlink"
href="#prepare-source" title="Permanent link">¶</a></h1>
+<h1 id="prepare-source">Prepare web site and source code<a class="headerlink"
href="#prepare-source" title="Permanent link">¶</a></h1>
<p>Before to start the release process:</p>
<ul>
<li>Review and update the <code>README</code> file on the <code>trunk</code>
source code repository.</li>
@@ -230,6 +232,20 @@ svn commit --message <span class="s2">&q
<p>The new web site will be published in the <a
href="http://sis.staging.apache.org">staging area</a>.
It will not yet be published on <code>http://sis.apache.org</code>.</p>
+<h2 id="prepare-code">Source code<a class="headerlink" href="#prepare-code"
title="Permanent link">¶</a></h2>
+<p>Replace the <code>$OLD_VERSION</code> number by <code>$NEW_VERSION</code>
in the following literals.
+Those changes need to be applied on the development branch and merged with all
other branches and trunk.</p>
+<ul>
+<li><code>DOWNLOAD_URL</code> in
<code>application/sis-console/src/main/java/org/apache/sis/console/ResourcesDownloader.java</code>
file.</li>
+</ul>
+<p>Commit and merge to other branches and to trunk.</p>
+<div class="codehilite"><pre>svn commit --message <span class="s2">"Set
the EPSG geodetic dataset URL to its expected location after
release."</span>
+<span class="nb">cd</span> ../JDK7
+svn merge ../JDK8
+<span class="c"># Repeat the above commit and the merge commands for other
branches until the changes are merged to trunk.</span>
+</pre></div>
+
+
<h1 id="branch">Create branch and tag<a class="headerlink" href="#branch"
title="Permanent link">¶</a></h1>
<p>Execute the following command:</p>
<div class="codehilite"><pre>svn copy
https://svn.apache.org/repos/asf/sis/trunk <span class="se">\</span>
@@ -353,12 +369,9 @@ mvn org.apache.sis.core:sis-build-helper
</pre></div>
-<p>If the above succeeded, deploy. We temporarily delete the Maven site
descriptors (<code>site.xml</code>)
-for preventing Maven to deploy them, since there is no apparent reason why
users would want to
-download site descriptors from a Maven repository.</p>
-<div class="codehilite"><pre>find . -name <span
class="s2">"site.xml"</span> -delete
+<p>If the above succeeded, deploy:</p>
+<div class="codehilite"><pre>chmod a-w target/distribution/*.zip
mvn deploy --activate-profiles apache-release --define <span
class="nv">bootclasspath</span><span class="o">=</span><span
class="nv">$BOOTCLASSPATH</span>
-svn revert . --recursive
</pre></div>
@@ -391,6 +404,22 @@ so try to see at least one code snippet.
</ul>
<p>We will announce later (in the <cite>Put the release candidate up for a
vote</cite> section) on the <code>dev@</code> mailing list
the availability of this temporary repository for testing purpose.</p>
+<h2 id="maven-nonfree">Deploy non-free resources to Nexus<a class="headerlink"
href="#maven-nonfree" title="Permanent link">¶</a></h2>
+<p>We deploy the non-free resources in a separated Nexus repository for
allowing deployment of those resources to Maven Central
+before deployment of the rest of Apache SIS. This allows to test that the URL
to those resources in Apache SIS are correct.</p>
+<p>Go to the directory that contains a checkout of
<code>https://svn.apache.org/repos/asf/sis/data/non-free/sis-epsg</code>.
+Replace occurrences of
<code><version>$OLD_VERSION</version></code> by
<code><version>$NEW_VERSION</version></code> in the root
<code>pom.xml</code>.
+Deploy:</p>
+<div class="codehilite"><pre>mvn deploy --activate-profiles apache-release
--define <span class="nv">bootclasspath</span><span class="o">=</span><span
class="nv">$BOOTCLASSPATH</span>
+</pre></div>
+
+
+<p>In Nexus:</p>
+<ul>
+<li>Delete all <code>*-source-release.zip.*</code> files since they duplicate
the <code>*-source.zip.*</code> files.</li>
+<li>In the <code>sis-epsg-$NEW_VERSION.jar</code> file, verify that
<code>META-INF/LICENSE</code> contain the EPSG terms of use.</li>
+<li>Close the repository and take note of its URL.</li>
+</ul>
<h2 id="nexus-text">Test the Nexus release artifacts<a class="headerlink"
href="#nexus-text" title="Permanent link">¶</a></h2>
<p>Go to the test Maven project.
Open the root <code>pom.xml</code> file and set the
<code><version></code> number to the SIS release to be tested.
@@ -399,15 +428,27 @@ of the temporary Maven repository create
Usually, only the 3 last digits need to be updated.</p>
<div class="codehilite"><pre><span class="nb">cd</span>
../../release-test/maven
vim pom.xml
+mvn compile
svn commit -m <span class="s2">"Test project for SIS
$NEW_VERSION-RC$RELEASE_CANDIDATE"</span>
</pre></div>
+<p>Create a temporary directory where Apache SIS will write the EPSG
dataset.</p>
+<div class="codehilite"><pre>mkdir target/SpatialMetadata
+<span class="nb">export </span><span class="nv">SIS_DATA</span><span
class="o">=</span><span class="sb">`</span><span class="nb">pwd</span><span
class="sb">`</span>/target/SpatialMetadata
+</pre></div>
+
+
<p>Clear the local Maven repository in order to force downloads from the Nexus
repository, then test.
This will also verify the checksums.</p>
-<div class="codehilite"><pre><span class="n">rm</span> <span
class="o">-</span><span class="n">r</span> <span class="o">~/</span><span
class="p">.</span><span class="n">m2</span><span class="o">/</span><span
class="n">repository</span><span class="o">/</span><span
class="n">org</span><span class="o">/</span><span class="n">apache</span><span
class="o">/</span><span class="n">sis</span>
-<span class="n">mvn</span> <span class="n">package</span> <span
class="o">--</span><span class="n">strict</span><span class="o">-</span><span
class="n">checksums</span>
-<span class="n">mvn</span> <span class="n">clean</span>
+<div class="codehilite"><pre>rm -r ~/.m2/repository/org/apache/sis
+mvn package --strict-checksums
+</pre></div>
+
+
+<p>Verify that the EPSG dataset has been created, then cleanup:</p>
+<div class="codehilite"><pre>ll <span class="nv">$SIS_DATA</span>
+mvn clean
</pre></div>
@@ -417,8 +458,9 @@ getting the Javadoc enhancements expecte
avoiding the security vulnerability discovered in the Javadoc tools of older
JDK releases,
and keeping the <code>diff</code> smaller on the SVN repository of SIS web
site.
If JDK8 is <em>not</em> used, then omit the <code>cp</code> command below.</p>
-<div class="codehilite"><pre>cp ../../JDK8/src/main/javadoc/stylesheet.css
src/main/javadoc/
-mvn javadoc:aggregate --define <span class="nv">bootclasspath</span><span
class="o">=</span><span class="nv">$BOOTCLASSPATH</span>
+<div class="codehilite"><pre><span class="nb">cd</span> <span
class="nv">$TAG_DIR</span>
+cp ../../JDK8/src/main/javadoc/stylesheet.css src/main/javadoc/
+mvn javadoc:aggregate
svn revert src/main/javadoc/stylesheet.css
<span class="nb">cd </span>target/site
zip -9 -r apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip apidocs
@@ -426,10 +468,21 @@ zip -9 -r apache-sis-<span class="nv">$N
</pre></div>
+<p>Note: if Javadoc fails because of <a
href="https://bugs.openjdk.java.net/browse/JDK-8061305">JDK-8061305</a> bug,
+a workaround is to temporarily copy the OpenGIS annotations into the
<code>sis-metadata</code> module
+(only the time needed for building the javadoc):</p>
+<div class="codehilite"><pre>mkdir core/sis-metadata/src/main/java/org/opengis
+<span class="nb">cd </span>core/sis-metadata/src/main/java/org/opengis
+ln -s <path to GeoAPI
project>/geoapi/src/main/java/org/opengis/annotation
+<span class="nb">cd</span> -
+</pre></div>
+
+
<h2 id="dist">Initialize the distribution directory<a class="headerlink"
href="#dist" title="Permanent link">¶</a></h2>
<p>Create the directory for the new version and release candidate within the
distribution directory.
The <code>$RELEASE_CANDIDATE</code> variable shall be the number of current
release attempt.</p>
<div class="codehilite"><pre><span class="nb">cd</span> ../../distribution
+svn update
mkdir -p <span class="nv">$NEW_VERSION</span>/RC<span
class="nv">$RELEASE_CANDIDATE</span>
svn add <span class="nv">$NEW_VERSION</span>
<span class="nb">cd</span> <span class="nv">$NEW_VERSION</span>/RC<span
class="nv">$RELEASE_CANDIDATE</span>
@@ -459,21 +512,21 @@ mv sis-<span class="nv">$NEW_VERSION</sp
<h2 id="sign">Sign and commit<a class="headerlink" href="#sign"
title="Permanent link">¶</a></h2>
<p>Sign the source, javadoc and binary artifacts:</p>
-<div class="codehilite"><pre>gpg --print-md SHA512 apache-sis-<span
class="nv">$NEW_VERSION</span>-src.zip > apache-sis-<span
class="nv">$NEW_VERSION</span>-src.zip.sha
-gpg --print-md MD5 apache-sis-<span class="nv">$NEW_VERSION</span>-src.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-src.zip.md5
+<div class="codehilite"><pre>shasum --algorithm 512 apache-sis-<span
class="nv">$NEW_VERSION</span>-src.zip > apache-sis-<span
class="nv">$NEW_VERSION</span>-src.zip.sha
+md5sum apache-sis-<span class="nv">$NEW_VERSION</span>-src.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-src.zip.md5
gpg --use-agent --armor --detach-sign --default-key <span
class="nv">$SIGNING_KEY</span> apache-sis-<span
class="nv">$NEW_VERSION</span>-doc.zip
-gpg --print-md SHA512 apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip.sha
-gpg --print-md MD5 apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip.md5
+shasum --algorithm 512 apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip.sha
+md5sum apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-doc.zip.md5
gpg --use-agent --armor --detach-sign --default-key <span
class="nv">$SIGNING_KEY</span> apache-sis-<span
class="nv">$NEW_VERSION</span>-bin.zip
-gpg --print-md SHA512 apache-sis-<span class="nv">$NEW_VERSION</span>-bin.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-bin.zip.sha
-gpg --print-md MD5 apache-sis-<span class="nv">$NEW_VERSION</span>-bin.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-bin.zip.md5
+shasum --algorithm 512 apache-sis-<span class="nv">$NEW_VERSION</span>-bin.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-bin.zip.sha
+md5sum apache-sis-<span class="nv">$NEW_VERSION</span>-bin.zip
> apache-sis-<span class="nv">$NEW_VERSION</span>-bin.zip.md5
</pre></div>
<p>Verify checksums and signatures:</p>
-<div class="codehilite"><pre>find . -name <span
class="s2">"*.md5"</span> -exec shasum --check <span
class="s1">'{}'</span> <span class="se">\;</span>
+<div class="codehilite"><pre>find . -name <span
class="s2">"*.md5"</span> -exec md5sum --check <span
class="s1">'{}'</span> <span class="se">\;</span>
find . -name <span class="s2">"*.sha"</span> -exec shasum --check
<span class="s1">'{}'</span> <span class="se">\;</span>
find . -name <span class="s2">"*.asc"</span> -exec gpg --verify
<span class="s1">'{}'</span> <span class="se">\;</span>
</pre></div>