blob: 00a0659d02c0d5b48b09dca1069b2457488c8115 [file] [log] [blame]
////
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.