|
General
Community
Development
Conferences
|
|
Doing a UIMA Release
|
|
Release Discussions - Release Plan
|
At the beginning of the "UIMA Release Process" there must be consensus in the developer community
about the JIRA issues that should be part of the next release and the time frame for the release.
The result of this discussion should be published in a release plan to the UIMA wiki.
This release plan should be kept up-to-date any time so that everybody can have a look at the target dates
to calculate personal ToDos.
The previous UIMA release plans and a release plan template are available in the UIMA wiki at
http://cwiki.apache.org/UIMA/release-plan.html
|
|
|
Preparing The Sourcecode For The Release
|
Before the source code can be tagged for the release check the points in the list below:
-
Make sure that each release artifact that should be released has the correct version number.
There is an ant build script you can run here:
uimaj-distr/src/main/build/changeVersion.xml.
To run it, first edit the file versions.properties in the same ... / build directory, setting
the "previous" version (the current version info in the source), and the "new" version that it
should be set to. Then, cd
to uimaj-distr/src/main/build and do ant changeVersion.xml to run it.
It checks the following places for correct versions.
- uimaj project: POM.xml
- uimaj child projects: check version for the parent POM
- uimaj plugin projects (uimaj-ep-...): MANIFEST.MF
- uimaj-core project: UIMAFramework_impl.java
- uimaj-dist project: ReleaseNotes and Readme files
- uima-docbooks project: common_book_info.xml and index.html
- uimaj Eclipse feature and update site
Some of these things it doesn't update (if the update is complicated); in these case,
it will instead, issue a reminder message to you
to update things manually.
-
Make sure that the README files has been updated with the latest release information and release numbers.
-
Update both versions (text and HTML) of the release notes for the release. JIRA can provide a list of
issues for a certain release when using the 'ReleaseNotes' function.
-
Do a quick release audit if for example all license headers are in place by using the
RAT (Release Audit Tool) tool.
|
|
|
Building The Release Candidate
|
All the preparation to build the release candidate is done. In the next step we have to tag
the release source code in SVN. Most of time the first release tag isn't the release candidate that is
shipped later so we established a simple tag structure where all tags for a release are stored
until the final release candidate is found. When looking at the SVN you will find a structure like
uimaj/tags/uimaj-<release version>/uima-<release version>-<tag counter>.
uimaj/tags/uimaj-2.2.1/uima-2.2.1-01.
See Tagging Releases for more info on tagging a release.
After tagging the release the release candidate can be built using the provided build scripts.
The release build needs to be built from the tagged version; this avoids getting into the build any
changes that might occur subsequent to the tagging event.
Further details about how to create the release distribution and how to sign them can be found
here.
Be sure to sign the release.
|
|
|
Tagging Releases
|
The UIMA base framework is tagged by using the svn "copy" command to copy the HEAD revision of
..uima/uimaj/trunk to ..uima/uimaj/tags/uimaj-[version-number such as 2.2.2]/[release candidate]
Sub-projects, such as uima-as, are done in a similar manner, but with additional copies as needed
if these sub-projects also depend on base UIMA source files.
The uima-as sub-project can be tagged by running the tag script in the uima-as-distr/src/main/build directory.
|
|
|
Auditing The Release And Create A RAT report
|
To audit the release the RAT (Release Audit Tool)
should be used. Check out the latest version from the website and run the tool on the unpacked release
artifacts (binary and source distribution). The command line can look like:
java -jar rat-0.5.1.jar <release-artifact-directory> > report.txt
The RAT tool generates the audit report and write it to the report.txt file. Check this file for all
lines starts with !????? and comment them why they does not have a license header or fix them.
|
|
|
Doing The Release Vote
|
When all issues are fixed, all test cases are executed successfully and the documentation is up-to-date maybe
the release level is found and the release manager can start a release vote on the uima-dev mailing list.
With this vote the release manager checks if all committers agree to ship the release level.
The vote must be aligned with the Apache vote process.
|
|
|
Ask Incubator PMC To Release
|
After a successful release vote for the release on the uima-dev mailing list the release is ready for
publishing. But before that, the Incubator PMC must approve the release and vote on it. This is necessary since UIMA
is still in the Apache Incubator. For details about this approval look at the
Incubation Poling Constraints.
The vote for the Incubator PMC must be started on the incubator mailing list. The vote mail must contain links
to the release artifacts as they will be published, the commented RAT report for the source and binary distribution and
a link to the passed uima-dev mailing list release vote.
|
|
|
Announce The Release
|
To announce the published release send and email to
- announce@apache.org
- uima-user@incubator.apache.org
and describe the major changes of the release. The email should contain the
Apache Incubation disclaimer as long as Apache UIMA is in the incubation phase.
Announcements should be posted from the release manager's apache.org address.
For more details please refer to
A Guide To Release Management During Incubation.
Our main uima website has a "News" section that should be updated with news of the release.
|
|
|
|
|