| //// |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| //// |
| = Making a release |
| :jbake-type: page |
| :jbake-tags: maven |
| :jbake-status: published |
| :idprefix: |
| |
| ## One time setup |
| - Make sure you have your PGP key entered into https://id.apache.org/. |
| Your KEYS will then be present in: https://people.apache.org/keys/group/opennlp.asc |
| - Check if you have your PGP keys password. |
| - 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 accoding to the test plan and iterate until tests pass |
| - Do 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 http://repository.apache.org[repository server], log in, go to the staging area and release the staging repository linked to this release. |
| - Upload artifacts to the distribution server. All release artifacts need to be copied to `/www/www.apache.org/dist/opennlp` on `people.apache.org`. |
| - On Opennlp-site github repo |
| |
| -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 |
| [source,xml,indent=0,subs=attributes+] |
| ---- |
| <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. |