Fork me on GitHub

Making a release

One time setup

Examples of adding your key to this file:
 pgp -kxa <your name> and append it to this file.
 (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
 (gpg --list-sigs <your name>
     && gpg --armor --export <your name>) >> this file.
  • In a local temp folder, svn checkout the OpenNLP artifacts and update the KEYS file

svn co https://dist.apache.org/repos/dist/release/opennlp/
svn commit -m"Added Key for <name>" KEYS
  • Create a maven settings.xml to publish to repository.apache.org

Step-by-Step

The following documents the steps which are necessary to make a release of Apache OpenNLP.

  • Release discussion and release planning on the mailing list

  • Elect a release manager

  • Prepare Jira for the release

  • Crate an empty test plan for the release

  • Make a release candidate

  • Test the candidate according to the test plan and iterate until tests pass

  • Call the release vote on opennlp-dev and on general incubator

Releasing

The release candidate can be released after a successful release vote on the opennlp-dev and incubator general list.

  • Release the staging repository. This will make the artifacts available in the Maven Central repository To do this go to the repository server, log in, go to the staging area and release the staging repository linked to this release

  • Upload artifacts to the distribution server by following the steps below. All release artifacts need to be copied to /www/www.apache.org/dist/opennlp on people.apache.org

  • On opennlp-site GitHub repository

    • Update the properties {opennlp.version} and {opennlp.next.version} in jbake.properties

    • Add the following lines at the beginning of docs/legacy.ad

      ### Apache OpenNLP ${previous.release} documentation
      * link:/docs/${previous.release}/manual/opennlp.html[Apache OpenNLP Manual]
      * link:/docs/${previous.release}/apidocs/opennlp-tools/index.html[Apache OpenNLP Tools Javadoc]
      * link:/docs/${previous.release}/apidocs/opennlp-uima/index.html[Apache OpenNLP UIMA Javadoc]
      * link:/docs/${previous.release}/apidocs/opennlp-brat-annotator/index.html[Apache OpenNLP BRAT Annotator Javadoc]
      * link:/docs/${previous.release}/apidocs/opennlp-morfologik-addon/index.html[Apache OpenNLP Morfologik Addon Javadoc]
    • Add the following to main/pom.xml

      <artifactItem>
        <groupId>org.apache.opennlp</groupId>
        <artifactId>opennlp-distr</artifactId>
        <version>${project.version}</version>
        <overWrite>false</overWrite>
        <type>zip</type>
        <classifier>bin</classifier>
        <outputDirectory>${project.build.directory}/distr/1.8.1</outputDirectory>
      </artifactItem>
    • Add a news item in news/release-{xyz}.ad by copying the content from OpenNLP project opennlp-distr/src/README

  • Rebuild opennlp-site and redeploy the site (if Automatic Buildbot doesn’t kick in)

  • Test and review the website. Test that all download links are working. Test that the documentation is updated and can be viewed

  • Send out announcements to announce@apache.org, dev@opennlp.apache.org, users@opennlp.apache.org

  • Close out the present release in Jira

It is suggested to use the wiki to plan all tasks for the release and to distribute them among the team.