...
- you have created your GPG keys. For more information, please refer to Making GPG Keys and http://www.apache.org/dev/release-signing.html
- you have a GPG client installed and on your shell's path. See http://www.gnupg.org/
you have a Subversion 1.5+ client installed and on your shell's path. See http://subversion.tigris.org/- you have a GIT client installed. See https://git-scm.com/download/win
- you have the latest Java 1.6.x JDK installed and on your shell's path. See http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html
- you have set the environment variable MAVEN_OPTS=-Xmx512m
- you are using Maven 3.2.x. See http://maven.apache.org/
Make sure maven
...
pom is setup correctly
Please review the maven release process here:
Publishing Maven Releases to Maven Central Repository - Apache Infrastructure
https://infra.apache.org/publishing-maven-artifacts.html
The following versions of JDK and Maven should be used:
JDK: Java Version 1.8.0_202
Maven: Apache
Although Empire-db is compatible with Java 6 we are ruilding Releases using JDK 7 in order to avoid certificate issues.
Java 8 or later have not been tested and approved.
The build process has been performed using Maven 3.3.9 .If Java 8 or later is installed on the machine, possibly create a mvn7 shell script and add it to your PATH in order to be able to use Java 7 to build the release.
/usr/bin/mvn7
Code Block |
---|
#!/bin/sh
JAVA_HOME="/usr/lib/jvm/java7"
mvn $@
|
test the script by running this command:
Code Block |
---|
>mvn7 --version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
Maven home: D:\DevTools\Maven\bin\..
Java version: 1.7.0_71, vendor: Oracle Corporation
|
Creating a new RC
Update the changelog file
Edit CHANGELOG.txt in you favorite editor and add the closed issues for this release. Info can be exported from jira.
Creating a new RC
Update the changelog file
Edit CHANGELOG.txt in you favorite editor and add the closed issues for this release. Info can be exported from jira.
Go to: https://issues.apache.org/jira/browse/EMPIREDB/
In the versions due section go to the version you want to release
Click on release notes
Configure release Go to: https://issues.apache.org/jira/browse/EMPIREDB/
In the versions due section go to the version you want to release
Click on release notes
Configure release notes to text
Copy the notes to our CHANGELOG.txt
...
Info |
---|
You will be asked about the release versions. Make sure you enter a correct tag: apache-empire-db-[version]-rc[nr]. Once the release vote passes we can then copy this -rcX tag to the final version tag. |
Code Block |
---|
>mvn7>mvn clean install ... >mvn7>mvn clean release:clean ... >mvn7>mvn release:prepare -Papache-release ... [INFO] Checking dependencies and plugins for snapshots ... What is the release version for "Apache Empire-db Parent"? (org.apache.empire-db:empire-db-parent) 2.0.5: : What is SCM release tag or label release version for "Apache Empire-db Parent"? (org.apache.empire-db:empire-db-parent) empire-db-parent-2.0.5: : apache-empire-db-2.0.5-rc3 What is SCM therelease newtag developmentor versionlabel for "Apache Empire-db Parent"? (org.apache.empire-db:empire-db-parent) 2.0.6-SNAPSHOT: : [INFO] Transforming 'Apache Empire-db Parent'... [INFO] Updating empire-db to empire-db-parent-2.0.5: : apache-empire-db-2.0.5 ... |
INFO: If during this prepare you get some subversion related errors, try to do an "svn update" and calling "mvn release:prepare" again. This will then continue the release preparation from where it stopped. You might have to do this multiple times!
If anything goes wrong during the release you can do a rollback:
Code Block |
---|
>mvn7 release:rollback
|
Also run a svn diff/revert to make sure your working copy is clean
Perform the release
This step will upload the artifacts the the staging repository
Code Block |
---|
>mvn7 release:perform
|
Close the staging repository
- Go to: https://repository.apache.org and
- log in
- Select "Staging repositories"
- Find the newly created repository and select "Close"
Follow the steps as described on http://maven.apache.org/developers/release/releasing.html (Close the staging repository)
Create Distribution checksums
The distribution files are now located in target/checkout/empire-db-dist
In order to create the checksums use:
Code Block |
---|
>cd target/checkout/empire-db-dist (we want to have the same artifacts in the dist as in the repo)
>./checksums.sh
...
All Done. Files available in ./target
|
OR (if the previous failed/is not possible any more)
this might not work, not tested, probably creates new artifacts instead of using existing ones
Code Block |
---|
>svn checkout https://svn.apache.org/repos/asf/empire-db/tags/apache-empire-db-2.0.5-rc3
...
>cd apache-empire-db-2.0.5-rc3/empire-db-dist/
>mvn7 clean install -Papache-release
>./checksums.sh
...
All Done. Files available in ./target
|
For Windows you might want to use the "File Checksum Integrity Verifier" (fciv).
https://www.microsoft.com/en-us/download/details.aspx?id=11533
like e.g:
fciv -md5 -wp target\apache-empire-db-2.4.6-dist.zip > target\apache-empire-db-2.4.6-dist.zip.md5
...
-rc3
What is the new development version for "Apache Empire-db Parent"? (org.apache.empire-db:empire-db-parent) 2.0.6-SNAPSHOT: :
[INFO] Transforming 'Apache Empire-db Parent'...
[INFO] Updating empire-db to 2.0.5
...
|
INFO: If during this prepare you get some subversion related errors, try to do an "svn update" and calling "mvn release:prepare" again. This will then continue the release preparation from where it stopped. You might have to do this multiple times!
If anything goes wrong during the release you can do a rollback:
Code Block |
---|
>mvn release:rollback
|
Also run a svn diff/revert to make sure your working copy is clean
Perform the release
This step will upload the artifacts the the staging repository
Code Block |
---|
>mvn release:perform
|
Close the staging repository
- Go to: https://repository.apache.org and
- log in
- Select "Staging repositories"
- Find the newly created repository and select "Close"
Follow the steps as described on http://maven.apache.org/developers/release/releasing.html (Close the staging repository)
Create Distribution checksums
The distribution files are now located in target/checkout/empire-db-dist
In order to create the checksums use:
Code Block |
---|
>cd target/checkout/empire-db-dist (we want to have the same artifacts in the dist as in the repo) > SHATool -H %target%\apache-empire-db-%1.pom
>
> SHATool -H %target%\apache-empire-db-%1.pom
> SHATool -H %target%\apache-empire-db-%1-dist.tar.gz
> SHATool -H %target%\apache-empire-db-%1-dist.zip
...
All Done. Files available in ./target
|
Upload the Distribution
Finally upload the generated files + rat report to the distribution directory using svn.
...