- 1) PHASE 1: RELEASE CANDIDATE VERSION
- 2) PHASE 2: RELEASE VERSION
- 2.1) Remove snapshot markers
- 2.2) Update the versions in the Eclipse configurations
- 2.3) Comment any reference to the Snapshot Maven repository
- 2.4) Update Readme
- 2.5) Update the graphical resources
- 2.6) Compiling locally without error
- 2.7) Check auto-generated files
- 2.8) Maven Central Bundles
- 2.9) Javadoc Generation
- 2.10) Commit and push to Github
- 2.11) Tag the Git with the version number
- 2.12) Release onto the SARL servers.
- 3) PHASE 3: DISSEMINATION OF THE RELEASE VERSION
- 4) PHASE 4: DEVELOPMENT VERSION
The steps for releasing SARL are:
-
Upgrade the Eclipse target platform
-
Synchronize the versions in the pom files (plugins and dependencies) with the same version numbers as in the Eclipse target platform.
-
Tag the version with with
vX.Y.Z-rcN
, whereN
is the release candidate number. -
Push the tag on Github.
Test the generation of the bundles for Maven Central:
$> ./build-tools/scripts/prepare-bundles-for-central.sh
Remove all the occurrences of -SNAPSHOT
in all the poms.
Caution
|
Do not remove the -SNAPSHOT in the Groovy scripts.
|
-
Remove
.qualifier
in theMANIFEST.MF
files (inBundle-Version
). -
Remove
.qualifier
in thefeature.xml
files (in root tag and in the "sarl" and "janus"" plugins references). -
Remove
.qualifier
in the*.product
files (in root tag and feature tag). -
Remove
.qualifier
in thecategory.xml
files (in feature tags, url and version).
Check if the about.mappings
files and the SARLVersion.java
file are containing the correct version numbers.
Prepare the bundles for Maven Central:
$> ./build-tools/scripts/prepare-bundles-for-central.sh
Copy the bundles inside a safe folder for the Phase 3.
Generate the Javadoc for the public API (the real generation will be done by the Rake script of the website):
$> ./build-tools/scripts/generate-aggregate-javadoc.sh
For uploading the release files onto the SARL server, you could use the provided script:
$> ./build-tools/scripts/mvn-release-sarl.sh
This script needs to have environment variables for defining the SARL server addresses, and the access login.
export MAVENSARLIO_URL=dav:https://XXX export UPDATESSARLIO_URL=dav:https://YYY export MAVENSARLIO_USER=ZZZ
Updload the Maven Bundle on Maven Central with oss.sonatype.org
Create the "Changes" page for the website, and add a link to the "Changes" page of the previous website inside. In this way, it will be possible to following the change history from the ealier to older changes.
Synchronize the Awesome SARL project with the "Community" page of the website.
Add release notes on Github (from the Changes page on the website), attached to the release tag.
Review the text on Wikipedia: en.wikipedia.org/wiki/SARL_language
Announce the new version of SARL on:
-
SARL’s Google groups groups.google.com/forum/#!forum/sarl
-
SARL’s Facebook page www.facebook.com/sarllanguage/
-
Research mailing lists
-
Google+
-
Linked-in
Revert steps 2.1 to 2.5; and change the following:
-
Version ranges in the
Required-Bundles
ofMANIFEST.MF
. -
Versions in the requirements of
feature.xml
. -
Versions in the
*.product
. -
Versions in the
category.xml
. -
Uncomment the Snapshot Maven repository.
Change the version numbers into the archive files stored in the io.sarl.tests.testdata
project.