Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 Maven 3.3.9 or later

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

...

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 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 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
...

...

If anything goes wrong during the release you can do a rollback:

Code Block
>mvn7>mvn release:rollback

Also run a svn diff/revert to make sure your working copy is clean

...

This step will upload the artifacts the the staging repository

Code Block
>mvn7>mvn release:perform

Close the staging repository

...

Follow the steps as described on http://maven.apache.org/developers/release/releasing.html (Close the staging repository)

Upload the distribution

Create Distribution checksums

The distribution files are now located in target/checkout/empire-db-dist

In order to create the checksums use:TODO we might want to switch to https://dist.apache.org/repos/dist/dev/<TLP name>/
as explained here: http://www.apache.org/dev/release#upload-ci

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/ the dist as in the repo) > SHATool -H %target%\apache-empire-db-2.0.5-rc3
...
>cd %1.pom
> 
> SHATool -H %target%\apache-empire-db-2.0.5-rc3/%1.pom
> SHATool -H %target%\apache-empire-db-%1-dist/
>mvn7 clean install -Papache-release
>./checksums.sh.tar.gz
> SHATool -H %target%\apache-empire-db-%1-dist.zip
...
All Done. Files available in ./target

Upload the Distribution

Finally upload Now upload the generated files + rat report to your apache personal directory.

...

the distribution directory using svn.

https://dist.apache.org

...

/repos/dist/dev/empire-db

...

as explained here: http://www

Now remove the .pom on the remote machine (and clean up old files)

...

.apache.org

...

/dev/release#upload-ci

Initiate a vote

Docs here: http://www.apache.org/dev/release#approving-a-release

...

Make sure you provide the correct paths!
Now wait for the vote to succeed.

 

 


...


Unsuccessful vote: roll back changes on trunk

...

  1. svn checkout https://dist.apache.org/repos/dist/release/empire-db/ empire-db-dist-release
  2. Create a subdirectory with the version number (i.e. 2.0.5)
  3. Copy all distribution files from your apache home directory to that directory (.zip, .tar.gz, .asc, .md5, .sha)
    scp francisdb@people.apache.org:~/public_html/empire-db/apache-empire-db-* .
  4. remove old releases:
    www.apache.org/dist should contain only the latest release
    http://www.apache.org/dev/release.html#when-to-archive
  5. commit to the subversion repo
  6. Wait before files become available on the mirrors

Release to Maven from the staging repository

  1. Go to: https://repository.apache.org and
  2. log in
  3. Select "Staging repositories"
  4. Find the repository and select "Release"

Update the Empire-db website

...

Maybe send the release to some other sites as well (dzone) / do a blog post about it...