Author: fanningpj
Date: Sun Sep 24 11:19:17 2023
New Revision: 1912519

URL: http://svn.apache.org/viewvc?rev=1912519&view=rev
Log:
update release guide (more changes to come)

Modified:
    poi/site/src/documentation/release-guide.txt

Modified: poi/site/src/documentation/release-guide.txt
URL: 
http://svn.apache.org/viewvc/poi/site/src/documentation/release-guide.txt?rev=1912519&r1=1912518&r2=1912519&view=diff
==============================================================================
--- poi/site/src/documentation/release-guide.txt (original)
+++ poi/site/src/documentation/release-guide.txt Sun Sep 24 11:19:17 2023
@@ -43,41 +43,14 @@
       For Windows users, install Cygwin and make sure you have the above 
utilities
    6a. The POI build system requires two components to perform a build
           * <a href="https://ant.apache.org";>Ant</a> 1.9.x or higher
-          * <a href="https://forrest.apache.org/";>Forrest</a> 0.90.
+          * <a href="https://forrest.apache.org/";>Forrest</a> 0.9.
       Make sure ANT_HOME and FORREST_HOME are set.
 
-   6b. To deploy with Maven, you should have the latest stable Maven 2.x.
-        POI 3.10-beta2 was deployed with Maven 2.2.1.
-
-   6c. Ensure you can log in to https://repository.apache.org/ with your Apache
+   6b. Ensure you can log in to https://repository.apache.org/ with your Apache
         credentials, and that you can see the "Staging Repositories" area on
         the left hand side.
 
-   6d. Ensure your ~/.m2/settings.xml contains a server entry with your
-        Apache credentials in, to be used for uploading. Something like:
-
-{code:xml}
-<?xml version="1.0" encoding="UTF-8"?>
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0";>
-  <servers>
-        <server>
-            <!-- used for uploading to nexus staging repository and svn commit 
-->
-            <id>apache-id</id>
-            <username>apache-userid</username>
-            <password>apache-passwd</password>
-        </server>
-        <server>
-            <!-- used for signing the releases -->
-            <id>poi-signing</id>
-            <username>keyid (key fingerprint, no spaces)</username>
-            <passphrase>password</passphrase>
-            <privateKey>../.gnupg/secring.gpg</privateKey>
-        </server>
-    </servers>
-</settings>
-{code}
-
-   6e. It's a good idea to check at https://ci-builds.apache.org/job/POI/
+   6c. It's a good idea to check at https://ci-builds.apache.org/job/POI/
        that Jenkins is in a good state (i.e. most recent build passed
        and is up to date with SVN). You probably also want to e-mail
        the dev list with a note to say you're building a release.
@@ -111,45 +84,61 @@ svn pd 'svn:executable' $(find -name .sv
       Dist is a regular svn repo that can be checked out and committed to.
       To upload to dist: https://www.apache.org/dev/release-distribution
 
+You can use these commands to do a sparse checkout of dist.apache.org.
+There are so many files from all the Apache projects that it is not 
recommended to do a full checkout.
+
+{code:sh}
+svn checkout https://dist.apache.org/repos/dist/ --depth immediates
+svn update --set-depth infinity dist/dev/poi/
+svn update --set-depth infinity dist/release/poi/
+{code}
+
 
-(II) Making release artefacts
-  This is mostly automated with a sequence of 3 release-prep ant targets.
+(II) Making release artifacts
   Run these commands from a clean checkout of 
https://svn.apache.org/repos/asf/poi/trunk
 
-  1. The following command will update the documentation and create/download 
the tag (needs a Java7+ environment)
-     using your Apache credentials stored in ~/.m2/settings.xml.
-     {code:sh}
-     ant -Dversion.id=FIXME3.15 release-prep1
-     {code}
-
-  2. Compile the dist (needs a JDK8 environment, sudo update-alternatives 
--config java)
-     {code:sh}
-     ant release-prep2
-     {code}
-
-  3. Upload to the nexus repo and to the svn release candidate repo  (needs a 
Java7+ environment)
-     The nexus repo is located at https://repository.apache.org/
-     The release candidate repo is located at 
https://dist.apache.org/repos/dist/dev/poi/(4.0.0-RC1)
-     {code:sh}
-     ant -Dversion.id=FIXME3.15 -Drelease.rc=RC1 release-prep3
-     {code}
-
-  4. Summarise key changes, and any backwards incompatible ones,
-     in the partially auto-generated 
./build/release/build/dist/RELEASE-NOTES.txt
-     which needs to be committed separately
-
-  5. validate signatures
-
-Check your signed files
-
-{code:sh}
-find . -name "*.md5" -type f -execdir md5sum -c {} \;
-find . -name "*.sha1" -type f -execdir sha1sum -c {} \;
-find . -name "*.sha256" -type f -execdir sha256sum -c {} \;
+  1. Update the version number in these files and commit the changes to svn.
+     - build.xml (version.id)
+     - build.gradle
+     - osgi/pom.xml (version and poi.version)
+
+  2. Force a new build at https://ci-builds.apache.org/job/POI/job/POI-DSL-1.8
+     - when build completes, download the built jars from
+       
https://ci-builds.apache.org/job/POI/job/POI-DSL-1.8/lastSuccessfulBuild/artifact/
+
+  3. To produce the source distributions, run
+     - ./gradlew distSrcZip
+     - ./gradlew distSrcTar
+
+  4. Copy the build/dist files to your svn checkout of dist.apache.org 
(dist/dev/poi/src)
+
+  5. Generate SHA512 checksums
+
+{code:sh}
+for f in *.zip *.tgz
+do
+  sha512sum $f > $f.sha512
+done
+{code}
+
+  6. Generate signatures
+     - The 1556F3A4 key in the command below is just an example, replace the 
value with your own key id
+
+{code:sh}
+for f in *.zip *.tgz; do gpg --default-key 1556F3A4 -ab $f; done
+{code}
+
+  7. Validate the checksums and signatures
+
+{code:sh}
 find . -name "*.sha512" -type f -execdir sha512sum -c {} \;
 find . -name "*.asc" -exec gpg --no-secmem-warning --verify {} \;
 {code}
 
+  8. Deploy the source distribution files to the dev area of dist.apache.org
+     - Remove any old release candidates (only need to keep the latest one)
+     - svn commit the changes
+
  (III) Calling the vote:
 
    1. The release manager should call the vote
@@ -164,25 +153,6 @@ Deploy the artifacts from the staging ar
 to the release area of the dist repo:
     https://dist.apache.org/repos/dist/release/poi/release/
 
-Perform a sparse checkout of the dist repo to move artifacts in the staging 
area to the release area
-In the following example, replace FIXME3.16-RC1 or FIXME3.16 with the version 
you are releasing
-
-{code:sh}
-svn checkout https://dist.apache.org/repos/dist/ --depth immediates
-svn update --set-depth immediates dist/dev/poi/
-svn update --set-depth infinity   dist/dev/poi/FIXME3.16-RC1/
-svn update --set-depth infinity   dist/release/poi/
-svn rm dist/release/poi/release/src/* dist/release/poi/release/bin/* 
dist/release/poi/release/maven/
-svn mv dist/dev/poi/FIXME3.16-RC1/poi-src-* dist/release/poi/release/src/
-svn mv dist/dev/poi/FIXME3.16-RC1/maven/ dist/release/poi/release/
-svn mv dist/dev/poi/FIXME3.16-RC1/RELEASE-NOTES.txt 
dist/release/poi/dev/RELEASE-NOTES-FIXME3.16.txt
-# regular (non-svn) copy so that these text files retain their revision history
-cp dist/release/poi/dev/RELEASE-NOTES-FIXME3.16.txt 
dist/release/poi/release/RELEASE-NOTES.txt
-cp dist/dev/poi/KEYS dist/release/poi/KEYS
-svn ci dist/ -m "deploy 3.16 release artifacts from staging area"
-{code}
-
-
 And remove any old releases from the staging area if they exist (should have 
been deleted by Step 11)
 Staging area: https://dist.apache.org/repos/dist/dev/poi/
 
@@ -215,7 +185,7 @@ mvn archetype:create -DgroupId=org.apach
 cd maven-test
 {code}
 
-edit pom.xml and add the release artefacts to the project dependencies:
+edit pom.xml and add the release artifacts to the project dependencies:
 
 {code:xml}
     <dependency>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to