General

Components

Community

Development

TDF

Release Guide

We are doing two kind of releases at the same time:

  1. One Maven release with the artefacts of each project.
  2. One GitHub release bundling artefacts of the ODF Toolkit as ZIPs.

Maven Release Guide

The release jars for each project are deployed to the Maven repository. Making release artefacts should follow the following steps:

  1. Maven Repro Access
    Make sure you got access to Maven repro via our Sonatype JIRA issue. Add your userID & password to your local <USER_HOME>/.m2/settings.xml.

  2. Install GNU PG
    Install in your OS. [See details in tutorial 'publish your artifacts to Maven'](https://dzone.com/articles/ publish-your-artifacts-to-maven-central)

  3. Configure GNU PG
    Add your GNU and JIRA credentials to your local <USER_HOME>/.m2/settings.xml. See our example settings.xml and search & replace the placeholders starting with 'YOUR_'.

  4. Clean start
    Make sure that your working copy is clean. Preferrably check out a clean version from GitHub.

  5. Prepare the release

    mvn release:prepare
    

    This will start the interactive release preparation. You need to supply Maven with the versions of the release. "release version" should be the version of the intended release (recommended value should be fine). "SCM release tag or label" should include the RC version (e.g. odftoolkit-0.10.0). "new development version" should be the current SNAPSHOT version.

  6. Perform the release

    mvn release:perform
    

    This will checkout the tag to the target directory, build and package everything and upload the artifacts to the staging repository. Users will download the mirrored release artifacts from machines outside TDF control. Users need to verify that the copy downloaded is identical to the original. Mirrored copies of checksums, KEYS and signature files (.asc and .md5 files) will be present on the mirrors but must never be used for verification. So, all links from the podling website to signatures, sums and KEYS need to refer to the original documents on GitHub. See release signing guide for more information.

  7. Publish Document
    Publish all of the prepared document on the website and update the download page.

  8. Send Announcements
    The release manager need to send announcements to odf-dev list. The sample looks like:

       Subject:[ANNOUNCEMENT] "ODF Toolkit 0.10.0" & "ODF Toolkit 0.9.0 Release"
       To: dev@odftoolkit.org
       Hi all,
    
       The ODF Toolkit team is pleased to announce the release of 0.10.0 (>=JDK 9) and in addition a release of 0.9.0 (JDK 8).
       The list of changes is available in the release notes[1].
    
       All new ODF Toolkit components (binary, source and JavaDoc bundles) are available as GitHub Releases [2].
       Or in the central Maven repository under Group ID "org.apache.odftoolkit" and Version "0.10.0" and "0.9.0".
    
       [1] ./ReleaseNotes.html
       [2] https://github.com/tdf/odftoolkit/releases
    

GitHub Release Guide

The Six Release Artefacts

The GitHub release has always six files:

Creating Release Artefacts

  1. Call from the ODF TOOLKIT base via command line:
mvn clean
  1. Call from the ODF TOOLKIT base via command line one of the following.
mvn install -Ppedantic
mvn install -Ppedantic > mylogFile.txt 2>&1*

NOTE: The option pedantic checks if all files have either a valid license header or an explicit exception. Often helpful for reviewing the build output is redirecting it into an own logfile.

  1. You might want to update the website to announce the release.

Bundling Release Artefacts:

  1. Test the JARs if they are working and if the documentation is correct, esp. JavaDoc references to ODF elements, attributes and units have been created correctly by our JavaDoc taglet project.

  2. If all project artefacts have been created without an error, they can be bundled into ZIPs and signed via:

mvn antrun:run@prepare-github-release -Pprepare-release

The output will be created in the directory: 'ODF_TOOLKIT_BASE/target/release/'.

NOTE: Don't forget to check if the ZIPs of the result directory have the correct content.

Upload of the 6 Release Artefacts

  1. Browse to our GitHub release page.
  2. Press the "Draft a new release" button (or ask for access rights on the mailing list if not visible).
  3. Upload all 6 files from the release and name it like "'odftoolkit-' + version", for instance: odftoolkit-8.0.0-RC2

References

  1. How to Publish Your Artifacts to Maven Central

Impressum (Legal Info) | Privacy Policy (Datenschutzerklärung) | Statutes (non-binding English translation) - Satzung (binding German version) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Apache License, v2.0. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License v2.0. “LibreOffice” and “The Document Foundation” are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy. LibreOffice was based on OpenOffice.org.