Child pages
  • Releasing a new version of the Sling Starter

Versions Compared

Key

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

These instructions complement those from http://sling.apache.org/documentation/development/release-management.html, which are geared more towards bundle releases, while releasing the Launchpad is a bit more involved.

Table of Contents

Prepare the

...

Starter release

Since the Launchpad is a collection of bundles, it is required for each bundle included it in to be a release, rather than a SNAPSHOT. It is not necessary to perform new releases for all SNAPSHOT bundles ; instead, we can roll back to the previous release if the changes made after the release are not important enoughWe currently have only releases in the starter, so this should not be an issue.

Create a new and noteworthy page

A new and notheworthy page outlines some of the significant changes done since the last release. The tooling/release/launchpad-comparator Java project allows generating a changelog between two versions of the Sling Launchpad and can be used to extract the new and noteworthy items.

Example pagepages:

Deploy the new API docs

For each version we deploy the aggregated javadoc for for the Sling bundles contained in the launchpad. The javadoc  can be generated using the tooling/release/ generate_javadoc_for_release.sh script.

Deploy the docker image on DockerHub

For the Launchpad Since Sling 8 release we are adding also provide a docker image. The Dockerfile can be found in launchpad/docker/, see the README.txt file in that folder for instructions on building and pushing the image to DockerHubthe sling-org-apache-sling-starter-docker repo. For instructions on deploying to DockerHub, see the /repos/private/pmc/sling SVN repository.

Update the Maven archetypes

The Maven archetypes that wrap the Sling launchpad starter should be updated to the latest version and released.

Update local references to the old

...

starter

A number of projects in the sling source tree typically reference the Sling launchpad, starter mostly for testing. These projects should be updated to either reference the latest release, if they use it for testing additional sets of bundles, or to the latest SNAPSHOT, if they are used to test the current launchpad, like launchpad/testing or launchpad/testing-war .

Change version of dependant projects

The following projects should keep their versions in sync with the main launchpad:

  • the main reactor pom
  • launchpad/-testing
  • launchpad/-testing-war

For future releases we should consider releasing the launchpad/testing and launchpad/testing-war projects ( and dependant test projects ) alongside the main launchpad project, so that the test state is recorded as well.

Clean up

...

starter documentation

There may be references to old features of the launchpad starter at https://sling.apache.org/documentation/the-sling-engine/the-sling-launchpad.html, so make sure that this is up to date.

Announce release

Send an email to users@sling.apache.org and announce@apache.org . For some examples, see [ANN] New Release of Apache Sling 6 and [ANN] Apache Sling version 8 released .

See also

  1. Launchpad 8 release tracking task:
    Jira
    serverASF JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keySLING-5095
  2. dev@sling.apache.org: Sling 8 release checklist
  3. dev@sling.apache.org: Launchpad 7 release?
  4. Towards Sling 6
  5. dev@sling.apache.org: Sling 6 release plan