commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From er...@apache.org
Subject [15/31] commons-numbers git commit: Updated development and release howtos.
Date Fri, 20 Jan 2017 14:46:02 GMT
Updated development and release howtos.


Project: http://git-wip-us.apache.org/repos/asf/commons-numbers/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-numbers/commit/b7dc0cf8
Tree: http://git-wip-us.apache.org/repos/asf/commons-numbers/tree/b7dc0cf8
Diff: http://git-wip-us.apache.org/repos/asf/commons-numbers/diff/b7dc0cf8

Branch: refs/heads/master
Commit: b7dc0cf862cada1be5cc772898f754cf11977b9a
Parents: c454132
Author: Gilles Sadowski <gilles@harfang.homelinux.org>
Authored: Wed Jan 18 14:40:51 2017 +0100
Committer: Gilles Sadowski <gilles@harfang.homelinux.org>
Committed: Wed Jan 18 14:40:51 2017 +0100

----------------------------------------------------------------------
 doc/development/development.howto.txt |  35 ++-
 doc/release/release.howto.txt         | 484 ++++++++++++++++++-----------
 doc/release/settings.xml              |   1 +
 3 files changed, 332 insertions(+), 188 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/b7dc0cf8/doc/development/development.howto.txt
----------------------------------------------------------------------
diff --git a/doc/development/development.howto.txt b/doc/development/development.howto.txt
index 0e4512f..eecf2b4 100644
--- a/doc/development/development.howto.txt
+++ b/doc/development/development.howto.txt
@@ -1,23 +1,30 @@
-This document summarizes a discussion that took place on the "dev" ML:
-  http://markmail.org/message/7lnus64entdwj4vo
+#
+# 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.
 
-The conclusions reported here are based on ideas presented in this blog post:
-  http://nvie.com/posts/a-successful-git-branching-model/
+This document summarizes the development process of Commons Numbers:
 
-1. The "master" branch can only contain released code; i.e. the only
-   accepted commits are the result of a merge from the "release" branch
-   (from a release candidate that passed a vote).
-2. Contents that is candidate for being released must be merged into the
-   "release" branch, from the "develop" branch.
-3. The "develop" branch collects all modifications that will be part
+1. The "master" branch collects all modifications that will be part
    of the next release.
-   Usually, changes should not be committed directly to the "develop"
+   Usually, non trivial changes should not be committed directly to the "master"
    branch; they should be merged from a branch specifically created for
    that purpose (see next point).
-4. Work on an identified issue (bug fix or new feature) must be done in a
+2. Work on an identified issue (bug fix or new feature) must be done in a
    new branch named after its corresponding report in the bug-tracking
-   system (JIRA), e.g. "feature-MATH-1319".
+   system (JIRA), e.g. "feature-NUMBERS-123".
    After completion, and in the absence of technical objections, the feature
-   branch is merged into the "develop" branch, using the "--no-ff" git
+   branch is merged into the "master" branch, using the "--no-ff" git
    option.
    That feature branch is then deleted.

http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/b7dc0cf8/doc/release/release.howto.txt
----------------------------------------------------------------------
diff --git a/doc/release/release.howto.txt b/doc/release/release.howto.txt
index a667aa2..be4c09f 100644
--- a/doc/release/release.howto.txt
+++ b/doc/release/release.howto.txt
@@ -15,8 +15,8 @@
 # limitations under the License.
 
 This document is meant as a step-by-step recipe to achieve the release of
-the Commons Math component. Note that more general instructions valid
-for all components, including [math], are available on the Apache Commons
+the Commons Numbers component. Note that more general instructions valid
+for all components, including [rng], are available on the Apache Commons
 main site: at "http://commons.apache.org/releases/prepare.html" and
 "http://commons.apache.org/releases/release.html".
 
@@ -24,9 +24,9 @@ The files "settings-security.xml" and "settings.xml" are minimal examples
 of files used by maven to pick up authentication credentials needed to
 connect to remote servers and to cryptographically sign the artifacts.
 
-Since [math] has switched to git as its version control system, release preparation
-can be done easily on the release manager local host in a branch. As branches deletion
-is now forbidden at Apache, we will use a specific release branch for every version.
+Release preparation is done on the release manager local host in a branch.
+As branches deletion is now forbidden at Apache, we will use a specific
+release branch for every version.
 The branch will be simply named X.Y-release, with X.Y being the version number.
 The branch will be used to store the release specific parts (i.e. the pom changes with
 the version number, the release date in the site and so on). Everything else and in
@@ -79,12 +79,31 @@ Preliminary checks:
 
 
 (1)
-As a first optional step, you can test that everything works locally, i.e.
-that the build process can create all the necessary artifacts. The command
+As an optional step, you can test that everything works locally, i.e.
+that the build process can create all the necessary artifacts.
 
-  $ mvn clean deploy -Prelease -Ptest-deploy
+  (1a)
+  The command
 
-should create the artifacts in the "target/deploy".
+    $ mvn clean deploy -Prelease -Ptest-deploy
+
+  should create the artifacts in the "target/deploy" directory.
+
+  At some point when processing the above command, the GPG passphrase will be
+  requested; to avoid problems, the "gpg2" executable should be specified in
+  the "settings.xml" file (see below).
+
+  (1b)
+  When the above works, you can test the creation of the full distribution
+  files with the following commands:
+
+    $ ( cd dist-archive && mvn assembly:single )
+
+  The "dist-archive/target" directory will then contain those files:
+    commons-numbers-1.0-SNAPSHOT-bin.tar.gz
+    commons-numbers-1.0-SNAPSHOT-bin.zip
+    commons-numbers-1.0-SNAPSHOT-src.tar.gz
+    commons-numbers-1.0-SNAPSHOT-src.zip
 
 
 (2)
@@ -95,13 +114,14 @@ candidate, create it locally starting from the master branch or the version
 branch and push it to Apache repository (assuming it is called origin),
 remembering the binding between the local and remote origin branches:
 
-  $ git branch X.Y-release
-  $ git push -u origin X.Y-release
+  $ git branch 1.0-release
+  $ git push -u origin 1.0-release
+
 
 (3)
 Switch to the release branch:
 
-  $ git checkout X.Y-release
+  $ git checkout 1.0-release
 
 
 (4)
@@ -109,22 +129,25 @@ If there have been changes committed in the master branch or the version
 branch since the creation of the release branch, there are two cases:
 
   (4a)
-  if all these changes must be included in the X.Y-release
-  merge master branch or version branch into X.Y-release branch:
+  if all these changes must be included in version 1.0, merge "master"
+  or the version branch into "1.0-release":
 
-  $ git merge master
-  or, if the version branch is called MATH_3_X
-  $ git merge MATH_3_X
+    $ git merge master
+
+  or, if the version branch is called "NUMBERS_1_X"
+
+    $ git merge NUMBERS_1_X
 
   (4b)
-  if only part of these changes must be included in the X.Y-release,
-  cherry-pick the required commits into X.Y-release branch:
+  if only part of these changes must be included in version 1.0,
+  cherry-pick the required commits into the "1.0-release" branch:
+
+    $ git cherry-pick commit-SHA
 
-  $ git cherry-pick commit-SHA
 
 (5)
 Update the release specific files, checking you are really working on the
-X.Y-release branch and *not* on the master branch.
+1.0-release branch and *not* on the master branch.
 
 In particular:
  * Update and commit the "src/site/site.xml" file to contain the information
@@ -132,10 +155,10 @@ In particular:
  * Estimate a release date (taking into account the release vote delay) and
    insert it in the "src/changes/changes.xml" file.
  * Update the "pom.xml" to contain the final version number and not a SNAPSHOT:
-   Assuming that the release version will be "3.4", modify the "<version>" tag to
+   Assuming that the release version will be "1.0", modify the "<version>" tag to
    read:
 
-    <version>3.4</version>
+    <version>1.0</version>
 
    Modify the section of "<properties>" that also refers to version numbers.
    You should uncomment the "<commons.rc.version>" line and indicate the
@@ -145,14 +168,14 @@ In particular:
 
   <properties>
     <!-- ... -->
-    <commons.release.version>3.4</commons.release.version>
+    <commons.release.version>1.0</commons.release.version>
     <commons.rc.version>RC1</commons.rc.version>
     <!-- ... -->
   </properties>
 
 
 (6)
-The "download" page template is located at "src/site/xdoc/download_math.xml".
+The "download" page template is located at "src/site/xdoc/download_numbers.xml".
 This file is updated automatically by running the command:
 
   $ mvn commons:download-page
@@ -165,20 +188,21 @@ Create it by running:
 
   $ mvn -Prelease-notes changes:announcement-generate
 
-Check the file for weird line breaks, and commit the updated file to git:
+Check the file for weird line breaks, and commit the updated files to git:
 
   $ git add src/site/site.xml \
             src/changes/changes.xml \
             pom.xml \
-            src/site/xdoc/download_math.xml \
+            src/site/xdoc/download_numbers.xml \
             RELEASE-NOTES.txt
 
-Check you did not forget any file:
+Check you did not forget any files:
 
   $ git status
 
 Commit the changes:
-  $ git commit -m "creating release candidate"
+
+  $ git commit -m "Release candidate."
 
 
 (8)
@@ -188,10 +212,10 @@ First, make sure once again that the workspace is up-to-date:
   $ git status
 
 Then, assuming the first candidate, the suffix will be "RC1" (this should
-be the  same as in the "<properties>" in the "pom.xml"), and the command
+be the same as in the "<properties>" in the "pom.xml"), and the command
 will be:
 
-  $ git tag -s -m "Creating Apache Commons Math v3.4 RC1 tag." MATH_3_4_RC1
+  $ git tag -u "__Your_key_id__" -s -m "RC1." NUMBERS_1_0_RC1
 
 If you have several GPG keys, you may prefer to use "-u keyId" to select a specific
 key for signing the tag instead of "-s" which select automatically one key
@@ -199,21 +223,18 @@ from the configured e-mail address.
 
 Check the tag GPG signature:
 
-  $ git tag -v MATH_3_4_RC1
+  $ git tag -v NUMBERS_1_0_RC1
 
 You will get something like:
 
   object cf4a9d70c9ac24dd7196995390171150e4e56451
   type commit
-  tag MATH_3_4_RC1
-  tagger Luc Maisonobe <luc@apache.org> 1418934614 +0100
+  tag NUMBERS_1_0_RC1
+  tagger YourName <YourApacheEmail> 1418934614 +0100
+
+  RC1.
 
-  Creating Apache Commons Math v3.4 RC1 tag.
-  gpg: Signature made Thu Dec 18 21:30:14 2014 CET using RSA key ID 02E9F65B
-  gpg: Good signature from "Luc Maisonobe (CODE SIGNING KEY) <luc@apache.org>"
-  gpg:                 aka "Luc Maisonobe <Luc.Maisonobe@c-s.fr>"
-  gpg:                 aka "Luc Maisonobe <Luc.Maisonobe@free.fr>"
-  gpg:                 aka "Luc Maisonobe <luc@orekit.org>"
+followed by GPG output lines.
 
 Remember the commit ID listed in the object line (here cf4a9d70c9ac24dd7196995390171150e4e56451),
 as it is the most stable reference for traceability.
@@ -222,22 +243,25 @@ Push everything (including the tag!) on the Apache repository:
 
   $ git push --tags
 
+
 (9)
 Switch to a new directory out of your regular workspace, and retrieve
 the official tag from the Apache repository:
 
   $ cd /tmp
-  $ git clone https://git-wip-us.apache.org/repos/asf/commons-math.git --branch MATH_3_4_RC1
+  $ git clone https://git-wip-us.apache.org/repos/asf/commons-numbers.git --branch NUMBERS_1_0_RC1
 
 In the command above, the --branch option accepts both branch names and tags names,
 so we specify directly the tag here. Git will warn that the resulting workspace
 is in 'detached HEAD' state and 'git status' commands will warn that you are not
-currently on any branch. This is expected is this situation.
+currently on any branch. This is expected in this situation.
 
 Check that the last commit has the id you noted in the previous step:
 
+  $ cd commons-numbers
   $ git log -1
 
+
 (10)
 If this is your first release, you might need to add your GPG encryption
 key to the KEYS file. [If you have already done so, skip this section.]
@@ -256,7 +280,9 @@ Create and transfer the artifacts to the Nexus server (a.k.a. "deploy").
 Because the artifacts must be cryptographically signed, this step requires that
 a profile named "release" exists in the maven "settings.xml" configuration file
 which will contain the identifier of your GPG key (cf. sample "settings.xml" 
-file).
+file). You will also have to follow the instructions at
+https://maven.apache.org/guides/mini/guide-encryption.html to set your password
+in the settings.xml file.
 
 You can then run
 
@@ -267,107 +293,163 @@ which will transfer the artifacts to the Nexus repository located
at
 
 This process transfers more files than really needed in the the "staging" (i.e.
 non official) maven repository. The files expected in the repository are
-commons-math3-3.4.pom, commons-math3-3.4.jar, commons-math3-3.4.javadoc,
-commons-math3-3.4.sources, commons-math3-3.4.test-sources commons-math3-3.4.tests,
-the associated fingerprints (<file-name>.md5 and <file-name>.sha1) and the signatures
-<file-name>.asc. Note that Nexus automatically adds "md5" and "sha1" checksums files
-to the "asc" files (cryptographic signature). These fingerprints on signatures are
-spurious and have to be manually removed from Nexus staging area. The process also
-transfers the complete source and binaries distributions files
-commons-math3-3.4.-bin.tar.gz, commons-math3-3.4.-bin.zip, commons-math3-3.4.-src.tar.gz,
-commons-math3-3.4.-src.zip as well as the associated .md5 and .sha1 fingerprints and the
-.asc signatures. These are not really maven artifacts but rather distribution archives,
-and they belong elsewhere, so they must also been removed from the Nexus staging
+  commons-numbers-1.0.pom
+  commons-numbers-1.0.jar
+  commons-numbers-1.0.javadoc
+  commons-numbers-1.0.sources
+  commons-numbers-1.0.test-sources
+  commons-numbers-1.0.tests
+and their associated fingerprints
+  <file-name>.md5
+  <file-name>.sha1
+and their signatures
+  <file-name>.asc
+
+Nexus used to add "md5" and "sha1" checksums files to the "asc" files
+(cryptographic signature). If these fingerprints on signatures are
+present, they must be manually removed from Nexus staging area.
+
+The process also transfers the complete source and binaries distributions files,
+(for each module):
+  commons-numbers-<ModuleArtefactId>-1.0-bin.tar.gz
+  commons-numbers-<ModuleArtefactId>-1.0-bin.zip
+  commons-numbers-<ModuleArtefactId>-1.0-src.tar.gz
+  commons-numbers-<ModuleArtefactId>-1.0-src.zip
+as well as their associated .md5 and .sha1 fingerprints and .asc signatures.
+All these files are not maven artifacts but rather distribution archives: They
+belong elsewhere; hence they must also been removed from the Nexus staging
 repository.
 
-As a measure of sanity check,  repository must be manually "closed" before other
-people review the deliverables just created.
+As a measure of sanity check, the Nexus repository must be manually "closed"
+before other people review the deliverables just created.
 How to "close" the staging repository is explained at this page:
   http://books.sonatype.com/nexus-book/reference/staging-repositories.html#staging-sect-closing
 
+
 (12)
-Upload the other distribution files to the Apache servers.
+Create and upload the other distribution files to the Apache servers.
+
+  (12a)
+  Perform a server-side copy of the README.html from the "release" area of
+  the Apache dist server to the "dev" area:
+
+    $ svn cp https://dist.apache.org/repos/dist/release/commons/numbers/README.html \
+             https://dist.apache.org/repos/dist/dev/commons/numbers/README.html
+
+  (12b)
+  The modules "dist-archive" dedicated to creating the archive files.
+  Run the following command:
+
+    $ ( cd dist-archive && mvn assembly:single )
 
-The archive files have been created during the previous step. They have been put
-in the .m2 local repository. The RELEASE_NOTES.txt file hase been created earlier
-and is still in the checkout directory of the release candidate. The README.html
-file can be copied from the release area of the Apache dist server.
-All these files can be uploaded to the development area of the Apache dist server
-using the following commands:
+  (12c)
+  Go to a temporary directory and check out the "dev" area.
 
- $ cd /tmp
- $ svn cp https://dist.apache.org/repos/dist/release/commons/math/README.html \
-          https://dist.apache.org/repos/dist/dev/commons/math/README.html
- $ svn checkout https://dist.apache.org/repos/dist/dev/commons/math
- $ cd math
+    $ cd /tmp
+    $ svn checkout https://dist.apache.org/repos/dist/dev/commons/numbers
+    $ cd numbers
 
-edit README.html with released version number
+  (12d)
+  Edit the "README.html" file to contain the released version number.
 
- $ cp ~/.m2/repository/org/apache/commons/commons-math3/3.4/*-bin.* binaries
- $ cp ~/.m2/repository/org/apache/commons/commons-math3/3.4/*-src.* source
- $ cp <path-to-the-RC-workspace>/RELEASE-NOTES.txt .
- $ svn add README.html RELEASE-NOTES.txt binaries/* source/*
- $ svn commit -m "Creating distribution files for 3.4 RC1"
+  (12e)
+  Copy other files from the RC workspace:
+
+    $ cp path-to-the-RC-workspace/RELEASE-NOTES.txt .
+    $ cp path-to-the-RC-workspace/CONTRIBUTING.md .
+    $ cp path-to-the-RC-workspace/README.md .
+    $ cp path-to-the-RC-workspace/dist-archive/target/*-bin.* binaries
+    $ cp path-to-the-RC-workspace/dist-archive/target/*-src.* source
+
+  Currently, the commons-parent build does not create the
+   * signatures (".asc"),
+   * checksums (".md5"),
+   * hashes (".sha1")
+  of the distribution files.  Hence, you have to create them "manually"!
+  For the signature, the command would be
+    $ gpg -ab file-to-sign
+  For the hash and checksum, see e.g. the "Digest" Perl module.
+
+  (12f)
+  Commit to SVN:
+
+    $ svn add \
+      CONTRIBUTING.md \
+      README.md \
+      README.html \
+      RELEASE-NOTES.txt \
+      binaries/* \
+      source/*
+    $ svn commit -m "Distribution files for Commons Numbers v1.0 (RC1)."
 
 
 (13)
 As the web site staging area is shared among all commons components and therefore
-can be published before vote ends, it is not recommended to use the standard staging
-area for the release candidate. So you will just archive the transfer the site it on
-your apache personal area for review. Here is how to do this using lftp to initiate
-the sftp transfer (lftp supports a mirror command for recursive transfers, don't
-forget the -R flag for uploading instead of downloading the site):
-
-  $ mvn site
+could be published before the vote ends, it is not recommended to use the standard
+staging area for the release candidate. So you will just archive the site and
+transfer it to your apache personal area for review.
+Here is how to do this using "lftp" to initiate the sftp transfer. "lftp" supports
+a mirror command for recursive transfers; don't forget the -R flag for uploading
+instead of downloading the site.
+If you haven't setup your login on home.apache.org you will need to go to
+  https://id.apache.org/
+login and copy the contents of your
+  ~/.ssh/id_rsa.pub
+file to "SSH Key (authorized_keys line)".
+Then run these commands:
+
+  $ mvn clean site site:stage
   $ cd target
-  $ mv site commons-math-3.4-RC1-site
-  $ lftp sftp://__Your_apache_login__@home.apache.org/
+  $ mv staging commons-numbers-1.0-RC1-site
+  $ lftp sftp://__Your_apache_login__@home.apache.org
      lftp you@home.apache.org:~> cd public_html
-     lftp you@home.apache.org:~/public_html> mirror -R commons-math-3.4-RC1-site
+     lftp you@home.apache.org:~/public_html> mirror -R commons-numbers-1.0-RC1-site
      lftp you@home.apache.org:~/public_html> bye
 
 
 (14)
 Call to vote by sending a message to the "dev" ML with subject
-"[VOTE][RC1] Release Commons Math 3.4". You can use the following example as
+"[VOTE][RC1] Release Commons Numbers 1.0". You can use the following example as
 a starting point, replacing the URLs with the appropriate ones:
 ----------
-This is a [VOTE] for releasing Apache Commons Math 3.4 from release candidate 1.
+This is a [VOTE] for releasing Apache Commons Numbers 1.0 (from RC6).
+
 
 Tag name:
-  MATH_3_4_RC1 (signature can be checked from git using 'git tag -v')
+  NUMBERS_1_0_RC6 (signature can be checked from git using 'git tag -v')
 
 Tag URL:
-  <https://git-wip-us.apache.org/repos/asf?p=commons-math.git;a=commit;h=cf4a9d70c9ac24dd7196995390171150e4e56451>
+  https://git-wip-us.apache.org/repos/asf?p=commons-numbers.git;a=commit;h=4581a4520315657a4219b37c81f5db80e4a4e43c
 
 Commit ID the tag points at:
-  cf4a9d70c9ac24dd7196995390171150e4e56451
+  4581a4520315657a4219b37c81f5db80e4a4e43c
 
 Site:
-  <http://home.apache.org/~__Your_apache_login__/commons-math-3.4-RC1-site>
+  http://home.apache.org/~erans/commons-numbers-1.0-RC6-site
 
-Distribution files:
-  https://dist.apache.org/repos/dist/dev/commons/math/
+Distribution files (committed at revision 17284):
+  https://dist.apache.org/repos/dist/dev/commons/numbers/
 
 Distribution files hashes (SHA1):
-  e02c981d49c1f12b1fc237e69cb551a5620e57b4 commons-math3-3.4-bin.tar.gz
-  11965eb97033d4d6ef0aeb902f1450641f40d3c5 commons-math3-3.4-bin.zip
-  ce3efda70ac8f850f15154b38438bc337adc027a commons-math3-3.4-src.tar.gz
-  d343c885a9d6eea611403f7f92ff580911363681 commons-math3-3.4-src.zip
+  c5e70a523160ed848194eeba0efa2b14d23c7a61 commons-numbers-1.0-bin.tar.gz
+  66d7701afc90aafa4c4b6e033b8df6cd84365161 commons-numbers-1.0-bin.zip
+  ef56543c8882a0e4771de83ecf8b3be190f122cf commons-numbers-1.0-src.tar.gz
+  3dc56b0793d8bbd703a4efa68547eb58f6fb5b35 commons-numbers-1.0-src.zip
 
 KEYS file to check signatures:
-  http://www.apache.org/dist/commons/KEYS
+  https://www.apache.org/dist/commons/KEYS
 
 Maven artifacts:
-  https://repository.apache.org/content/repositories/orgapachecommons-051/org/apache/commons/commons-math3/3.4/
+  https://repository.apache.org/content/repositories/orgapachecommons-1229/
 
-[ ] +1 Release it.
-[ ] +0 Go ahead; I don't care.
-[ ] -0 There are a few minor glitches: ...
-[ ] -1 No, do not release it because ...
+Please select one of the following options:
+ [ ] +1 Release it.
+ [ ] +0 Go ahead; I don't care.
+ [ ] -0 There are a few minor glitches: ...
+ [ ] -1 No, do not release it because ...
 
-This vote will close in 72 hours, at YYYY-MM-DDThh:mm:ssZ (this is UTC
-time).
+This vote will be open for at least 72 hours, i.e. until 2016-12-10T00:00:00Z
+(this is UTC time).
 ----------
 
 
@@ -381,36 +463,36 @@ After correcting the problems, you'll likely have to start again from
step 3,
 (16)
 After at least 72 hours have elapsed, send a "[VOTE][RESULT]" mail to
 summarize the outcome of the vote. This should tally the votes cast,
-and state which are binding (PMC members).
+and state which are binding (PMC members). The vote needs at least three +1's
+from PMC members to pass.
 
 
 (17)
 The distribution files must be moved from the development area to the release
-area of the Apache dist server:
-
-$ svnmucc -U https://dist.apache.org/repos/dist \
-          rm release/commons/math/README.html \
-          mv dev/commons/math/README.html release/commons/math/README.html \
-          rm release/commons/math/RELEASE-NOTES.txt \
-          mv dev/commons/math/RELEASE-NOTES.txt release/commons/math/RELEASE-NOTES.txt \
-          mv dev/commons/math/binaries/commons-math3-3.4-bin.tar.gz release/commons/math/binaries/commons-math3-3.4-bin.tar.gz
\
-          mv dev/commons/math/binaries/commons-math3-3.4-bin.tar.gz.asc release/commons/math/binaries/commons-math3-3.4-bin.tar.gz.asc
\
-          mv dev/commons/math/binaries/commons-math3-3.4-bin.tar.gz.md5 release/commons/math/binaries/commons-math3-3.4-bin.tar.gz.md5
\
-          mv dev/commons/math/binaries/commons-math3-3.4-bin.tar.gz.sha1 release/commons/math/binaries/commons-math3-3.4-bin.tar.gz.sha1
\
-          mv dev/commons/math/binaries/commons-math3-3.4-bin.zip release/commons/math/binaries/commons-math3-3.4-bin.zip
\
-          mv dev/commons/math/binaries/commons-math3-3.4-bin.zip.asc release/commons/math/binaries/commons-math3-3.4-bin.zip.asc
\
-          mv dev/commons/math/binaries/commons-math3-3.4-bin.zip.md5 release/commons/math/binaries/commons-math3-3.4-bin.zip.md5
\
-          mv dev/commons/math/binaries/commons-math3-3.4-bin.zip.sha1 release/commons/math/binaries/commons-math3-3.4-bin.zip.sha1
\
-          mv dev/commons/math/source/commons-math3-3.4-src.tar.gz release/commons/math/source/commons-math3-3.4-src.tar.gz
\
-          mv dev/commons/math/source/commons-math3-3.4-src.tar.gz.asc release/commons/math/source/commons-math3-3.4-src.tar.gz.asc
\
-          mv dev/commons/math/source/commons-math3-3.4-src.tar.gz.md5 release/commons/math/source/commons-math3-3.4-src.tar.gz.md5
\
-          mv dev/commons/math/source/commons-math3-3.4-src.tar.gz.sha1 release/commons/math/source/commons-math3-3.4-src.tar.gz.sha1
\
-          mv dev/commons/math/source/commons-math3-3.4-src.zip release/commons/math/source/commons-math3-3.4-src.zip
\
-          mv dev/commons/math/source/commons-math3-3.4-src.zip.asc release/commons/math/source/commons-math3-3.4-src.zip.asc
\
-          mv dev/commons/math/source/commons-math3-3.4-src.zip.md5 release/commons/math/source/commons-math3-3.4-src.zip.md5
\
-          mv dev/commons/math/source/commons-math3-3.4-src.zip.sha1 release/commons/math/source/commons-math3-3.4-src.zip.sha1
\
-          -m "Publish commons-math 3.4 Release"
+area of the Apache dist server.
+
+  (17a)
+  Checkout the official distribution repository:
+
+    $ svn co https://dist.apache.org/repos/dist/release/commons/numbers
+
+  (17b)
+  Copy the files from the checkout of the repository that was voted on:
+
+    $ cd numbers
+    $ rsync -Cavz path-to-RC-dev/numbers/ .
+
+  (17c)
+  Check (and possibly "svn add") files.
 
+  (17d)
+  Commit:
+
+    $ svn commit -m "Release Commons Numbers v1.0 (from RC6)."
+
+  (17e)
+  Register the release at
+    https://reporter.apache.org/addrelease.html?commons
 
 (18)
 Release (a.k.a. "promote") the artifacts on the Nexus server, as shown here:
@@ -418,85 +500,139 @@ Release (a.k.a. "promote") the artifacts on the Nexus server, as shown
here:
 
 
 (19)
-Publish the web site. This is done by first committing the web site to the staging area,
and then
-by publishing the staging area (which is shared among all commons compoents.
+Publish the web site. This is done by first committing the web site to the
+staging area, and then by publishing the staging area (which is shared among
+all commons components).
 
-In order to commit the web site to the staging area, look at the subversion workspace that
was
-automatically checked out during the 'mvn site' command in folder site-content. You can also
check
-it out directly by yourself elsewhere:
+In order to commit the web site to the staging area, look at the subversion
+workspace that was automatically checked out during the 'mvn site' command in
+folder site-content. Note that svn commits in the site-content directory are
+immediately synced with the live site and so your changes should show up in a
+few minutes once you commit the new site. You can also check out the site
+directly by yourself elsewhere:
 
-  svn checkout https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-math
site-content
+  $ svn checkout https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-numbers
site-content
 
 Remove all files there (except .svn folder) and move all the files from the site.
-You may want to adjust manually some parts like fixing broken relative links or
-copying the content of the current apidocs to javadocs/api-3.4.
 
  $ cd site-content
- $ rm -fr *
- $ cp -pR ../target/site/* .
+ $ rm -rf *
+ $ cp -pR ../target/commons-numbers-1.0-RC1-site/* .
 
-Check for possibly new files:
+Check for new or deleted files:
  $ svn status
-and "svn add" them if necessary.
+and "svn add" or "svn del" them if necessary.
 
 Commit the new contents of the web site:
- $ svn commit -m "updating site after official release of version 3.4"
+ $ svn commit -m "Commons Numbers v1.0 was released (from RC6). Web site update"
 
-Beware the commit command may be very long (several hours ...). The web site will be available
-for review at:
-  http://commons.staging.apache.org/proper/commons-math/
- 
-Publishing the staging web site is done directly from a browser at URL:
-  https://cms.apache.org/commons/publish
 
 (20)
-The javadocs for several version is kept available on the website under the javadocs directory.
-This corresponds to a huge number of files which never changes, so they are not retrieved
by
-default in the working copy when running 'svn checkout'. These javadocs must therefore be
-copied manually using server side copy from the apidocs directory after release, in order
for
-the links to former versions to work. This is done as follows:
+The Javadoc for several versions is kept available on the website, under the
+"javadocs" directory.
+There is a huge number of files that never change, so they are not retrieved by
+default in the working copy when running 'svn checkout'.
+The Javadoc must therefore be copied manually using server side copy from the
+"apidocs" directory after release, in order for the links to former versions
+to work. This is done as follows:
+
+  $ export NUMBERS_WEB_SITE_SVN_REVISION=1002658
+  $ export NUMBERS_RELEASE_VERSION=1.0
+  $ svnmucc -U https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-numbers
\
+      cp $NUMBERS_WEB_SITE_SVN_REVISION commons-numbers-client-api/apidocs \
+                                    commons-numbers-client-api/javadocs/api-$NUMBERS_RELEASE_VERSION
\
+      cp $NUMBERS_WEB_SITE_SVN_REVISION commons-numbers-core/apidocs \
+                                    commons-numbers-core/javadocs/api-$NUMBERS_RELEASE_VERSION
\
+      cp $NUMBERS_WEB_SITE_SVN_REVISION commons-numbers-simple/apidocs \
+                                    commons-numbers-simple/javadocs/api-$NUMBERS_RELEASE_VERSION
\
+      cp $NUMBERS_WEB_SITE_SVN_REVISION commons-numbers-sampling/apidocs \
+                                    commons-numbers-sampling/javadocs/api-$NUMBERS_RELEASE_VERSION
\
+      cp $NUMBERS_WEB_SITE_SVN_REVISION commons-numbers-jmh/apidocs \
+                                    commons-numbers-jmh/javadocs/api-$NUMBERS_RELEASE_VERSION
\
+      cp $NUMBERS_WEB_SITE_SVN_REVISION commons-numbers-examples/apidocs \
+                                    commons-numbers-examples/javadocs/api-$NUMBERS_RELEASE_VERSION
\
+      -m "Commons NUMBERS: Copying $NUMBERS_RELEASE_VERSION apidocs to versioned directories
for the long-term links."
+
+Now wait a few minutes for the live site to fully sync and then check
+  http://commons.apache.org/proper/commons-numbers/
+to make sure that everything looks correct.
 
-  $ svn cp -m "copying 3.4 apidocs to versioned directory for the long-term links" \
-        https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-math/apidocs
\
-        https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-math/javadocs/api-3.4
 
 (21)
 Put the official final tag to point at the same commit as the last release candidate tag:
 
-  $ git tag -s -m "RC1 becomes the 3.4 official version." MATH_3_4 cf4a9d70c9ac24dd7196995390171150e4e56451
+  $ git tag -u "__Your_key_id__" -s -m "RC6 becomes v1.0 official release." NUMBERS_1_0 cf4a9d70c9ac24dd7196995390171150e4e56451
   $ git push --tags
 
 
 (22)
-Clean up files and prepare for next version (here we assume it will be 3.5):
+Switch back to the "master" branch.
+We now prepare for the next round of development (here we assume that the
+next version will be 1.1).
 
-edit "doap_math.rdf" to add the just released version date.
+  (22a)
+  Edit "doap_numbers.rdf" to add the just released version date.
+  It is located at
+    https://svn.apache.org/repos/asf/commons/cms-site/trunk/doap
+  in the SVN repository.
 
-edit "pom.xml" so it contains
- 
-       <version>3.5-SNAPSHOT</version>
+  (22b)
+  Retrieve files from the "1.0-release branch" (so that the web site will
+  contain up-to-date information):
 
-edit "src/changes/changes.xml" to add a new section for the next release, setting
-the release date to "TBD" and the description to the empty string.
+    $ git checkout 1.0-release src/site/xdoc/download_numbers.xml
+    $ git checkout 1.0-release src/changes/changes.xml
 
-Double-check "pom.xml" *really* has a -SNAPSHOT version and commit everything:
+  Edit "src/changes/changes.xml" to add a new section for the next release,
+  setting the release date and description to "TBD".
+  Then commit them.
 
-  $ git add doap_math.rdf pom.xml src/changes/changes.xml
-  $ git commit -m "preparing next version 3.5"
-  $ git push
+  (22c)
+  Edit every "pom.xml" file (i.e. for each module) to contain
 
+    <version>1.1-SNAPSHOT</version>
 
-(23)
-Switch back to master and merge the X.Y-release branch
+  Double-check that the "pom.xml" files *really* have a "-SNAPSHOT" suffix
+  in the "<version>" property.
+  Then commit them.
 
-  $ git checkout master
-  $ get merge X.Y-release
-  $ git push
+  Push everything to the Apache repository.
 
 
-(24)
+(23)
 Allow for the web site mirrors to be updated (possibly several hours); then
 send (from your apache account) a release announcement to the following ML:
   announce@apache.org
   dev@commons.apache.org
   user@commons.apache.org
+
+If you don't have it setup already you can follow these instructions to send
+email from your apache account :
+
+https://reference.apache.org/committer/email#sendingemailfromyourapacheorgemailaddress
+
+You can use the following message as a template:
+
+----------
+The Apache Commons Team is pleased to announce the availability of
+version 1.0 of "Apache Commons Numbers".
+
+Apache Commons Numbers provides number types such as complex, quaternion
+fraction, and associated utilities.
+
+The release notes can be reviewed at
+  https://www.apache.org/dist/commons/numbers/RELEASE-NOTES.txt
+
+Distribution packages can be downloaded from
+  https://commons.apache.org/proper/commons-numbers/download_numbers.cgi
+
+When downloading, please verify signatures using the KEYS file
+available at
+  https://www.apache.org/dist/commons/KEYS
+
+Maven artifacts are also available in the central Maven repository:
+  https://repo1.maven.org/maven2/org/apache/commons/
+
+
+The Apache Commons Team
+----------

http://git-wip-us.apache.org/repos/asf/commons-numbers/blob/b7dc0cf8/doc/release/settings.xml
----------------------------------------------------------------------
diff --git a/doc/release/settings.xml b/doc/release/settings.xml
index ff0adf6..3123dc0 100644
--- a/doc/release/settings.xml
+++ b/doc/release/settings.xml
@@ -55,6 +55,7 @@
       <id>release</id>
       <properties>
         <gpg.keyname>__Your_key_identifier__</gpg.keyname>
+        <gpg.executable>gpg2</gpg.executable>
       </properties>
     </profile>
   </profiles>


Mime
View raw message