Skip to content

Commit

Permalink
Adjusts release.ad and release-model.ad after preparations of OpenNLP…
Browse files Browse the repository at this point in the history
… 2.5.0

- adds missing maven profiles for release prep steps
- adjusts path to src/bin artifacts for copy to dist/dev folder
- improves formatting
- adds TOC
Adjusts Maven and Gradle dependency pages
- adds missing opennlp-tools-models to list
- adds missing opennlp-dl-gpu to list
- removes brat-annotator from list, see: OPENNLP-1634
  • Loading branch information
mawiesne committed Nov 8, 2024
1 parent a4c1ae1 commit 007792e
Show file tree
Hide file tree
Showing 4 changed files with 113 additions and 79 deletions.
31 changes: 21 additions & 10 deletions src/main/jbake/content/gradle-dependency.ad
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,17 @@ dependencies {
}
----

=== OpenNLP Tools Models Dependency

To use the OpenNLP Tools Models define the following dependency:

[source,indent=0,subs=attributes+]
----
dependencies {
implementation group: 'org.apache.opennlp', name: 'opennlp-tools-models', version: '{opennlp_version}'
}
----

=== OpenNLP DL Dependency

To use the OpenNLP DL define the following dependency:
Expand All @@ -53,36 +64,36 @@ dependencies {
}
----

=== OpenNLP UIMA Annotators Dependency
=== OpenNLP DL GPU Dependency

To use the OpenNLP UIMA Annotators define the following dependency:
To use the OpenNLP DL GPU define the following dependency:

[source,indent=0,subs=attributes+]
----
dependencies {
implementation group: 'org.apache.opennlp', name: 'opennlp-uima', version: '{opennlp_version}'
implementation group: 'org.apache.opennlp', name: 'opennlp-dl-gpu', version: '{opennlp_version}'
}
----

=== OpenNLP Morfologik AddOn Dependency
=== OpenNLP UIMA Annotators Dependency

To use the OpenNLP Morfologik-Addon define the following dependency:
To use the OpenNLP UIMA Annotators define the following dependency:

[source,indent=0,subs=attributes+]
----
dependencies {
implementation group: 'org.apache.opennlp', name: 'opennlp-morfologik-addon', version: '{opennlp_version}'
implementation group: 'org.apache.opennlp', name: 'opennlp-uima', version: '{opennlp_version}'
}
----

=== OpenNLP Brat Annotator Dependency
=== OpenNLP Morfologik AddOn Dependency

To use the OpenNLP UIMA Annotators define the following dependency:
To use the OpenNLP Morfologik-Addon define the following dependency:

[source,indent=0,subs=attributes+]
----
dependencies {
implementation group: 'org.apache.opennlp', name: 'opennlp-brat-annotator', version: '{opennlp_version}'
implementation group: 'org.apache.opennlp', name: 'opennlp-morfologik-addon', version: '{opennlp_version}'
}
----

Expand All @@ -93,7 +104,7 @@ To use the current version of the _main_ branch define the following dependency:

----
dependencies {
implementation group: 'org.apache.opennlp', name: 'opennlp-tools', version: '2.2.1-SNAPSHOT'
implementation group: 'org.apache.opennlp', name: 'opennlp-tools', version: '2.5.1-SNAPSHOT'
}
----

Expand Down
30 changes: 21 additions & 9 deletions src/main/jbake/content/maven-dependency.ad
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,18 @@ To use the OpenNLP Tools define the following dependency:
</dependency>
----

=== OpenNLP Tools Models Dependency
To use the OpenNLP Tools Models define the following dependency:

[source,xml,indent=0,subs=attributes+]
----
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-tools-models</artifactId>
<version>{opennlp_version}</version>
</dependency>
----

=== OpenNLP DL Dependency
To use the OpenNLP DL define the following dependency:

Expand All @@ -55,38 +67,38 @@ To use the OpenNLP DL define the following dependency:
</dependency>
----

=== OpenNLP UIMA Annotators Dependency
To use the OpenNLP UIMA Annotators define the following dependency:
=== OpenNLP DL GPU Dependency
To use the OpenNLP DL GPU define the following dependency:

[source,xml,indent=0,subs=attributes+]
----
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-uima</artifactId>
<artifactId>opennlp-dl-gpu</artifactId>
<version>{opennlp_version}</version>
</dependency>
----

=== OpenNLP Morfologik AddOn Dependency
To use the OpenNLP Morfologik-Addon define the following dependency:
=== OpenNLP UIMA Annotators Dependency
To use the OpenNLP UIMA Annotators define the following dependency:

[source,xml,indent=0,subs=attributes+]
----
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-morfologik-addon</artifactId>
<artifactId>opennlp-uima</artifactId>
<version>{opennlp_version}</version>
</dependency>
----

=== OpenNLP Brat Annotator Dependency
To use the OpenNLP UIMA Annotators define the following dependency:
=== OpenNLP Morfologik AddOn Dependency
To use the OpenNLP Morfologik-Addon define the following dependency:

[source,xml,indent=0,subs=attributes+]
----
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-brat-annotator</artifactId>
<artifactId>opennlp-morfologik-addon</artifactId>
<version>{opennlp_version}</version>
</dependency>
----
Expand Down
46 changes: 24 additions & 22 deletions src/main/jbake/content/release-model.ad
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,15 @@
:jbake-tags: building
:jbake-status: published
:idprefix:
:toc:
:toc-title: Content

## Release Preparation
== Release Preparation

- Elect a release manager.
- Create a ticket for a new model release in https://issues.apache.org/jira/browse/OPENNLP[JIRA,window=_blank]. If you do not have permission to do so just ask to be given permissions on the mailing list.

## Steps for the Release Manager
== Steps for the Release Manager

The following steps need only to be performed once.

Expand All @@ -50,15 +52,13 @@ svn commit -m "Added Key for <name>" KEYS

- Make sure you have your PGP key's password.

## Release Steps
== Release Steps

- Train the models
- Make sure to save the evaluation log for every model (adhere to the naming conventions, see below).
- ZIP the evaluation logs.

### Successful Model Release Preparation

#### Perform the Model Release
=== Perform the Model Release

- Create sha512 checksums
+
Expand Down Expand Up @@ -95,24 +95,26 @@ Check the dist/dev folder and if all looks well, open a VOTE but do *not* move t

Make sure to adhere to the model naming conventions.

#### Model Naming Conventions
==== Model Naming Conventions

- The filenames of each model signify the model language, type, https://universaldependencies.org/[Universal Dependency training data,window=_blank] used, and version numbers.
- The filename format is `opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
- The evaluation logs must be zipped and adhere to the following format: `opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
- For example, the model file `opennlp-de-ud-gsd-pos-1.0-1.9.3` is German language, trained on the UD GSD corpus, and is a parts-of-speech model. It is version 1.0 of the model, and it was trained using OpenNLP 1.9.3.

- The filename format is +
`opennlp-[iso-language-code]-ud-[corpus]-[model-type]-[model-version]-[opennlp-version-used-for-training].bin`.
- The evaluation logs must be zipped and adhere to the following format: +
`opennlp-training-eval-logs-[model-version]-[opennlp-version-used-for-training].zip`. It contains the evaluation logs for trained models.
- For example, the model file `opennlp-de-ud-gsd-pos-1.1-2.4.0` is German language, trained on the UD GSD corpus, and is a parts-of-speech model.
It is version 1.1 of the model, and it was trained using OpenNLP 2.4.0.

NOTE: If other training data is used, the abbreviation `ud` needs to be adjusted!

#### Check the Model Release Artifacts
=== Check the Model Release Artifacts

Perform basic checks against the release binary:

- Check signature of generated artifacts.
- Check presence and appropriateness of `LICENSE`, `NOTICE`, and `README` files.

#### Create a VOTE Thread
=== Create a VOTE Thread

- Notify the developer mailing list of a new model vote. Be sure to replace all values in `[]` with the appropriate values.
+
Expand Down Expand Up @@ -144,12 +146,12 @@ The vote passes if at least three binding +1 votes are cast.
Thanks!
----

## After a Successful Vote
== After a Successful Vote

The vote is successful if at least 3 _+1_ votes are received from OpenNLP PMC members after a minimum of 72 hours of sending the vote email.
Acknowledge the voting results on the mailing list in the VOTE thread.

### Commit Distribution to SVN
=== Commit Distribution to SVN

Commit the distribution via SVN to https://dist.apache.org/repos/dist/release:

Expand All @@ -160,24 +162,24 @@ svn co https://dist.apache.org/repos/dist/release/opennlp/ dist
svn commit --username <username> -m "Adding OpenNLP Models <version>"
----

### Delete Old Model Release(s)
=== Delete Old Model Release(s)

To reduce the load on the ASF mirrors, projects are required to delete old releases (see https://www.apache.org/legal/release-policy.html#when-to-archive).

Remove the old model release from SVN under https://dist.apache.org/repos/dist/release/opennlp/models/. They are still contained in the archives.

### Update the Website
=== Update the Website

Update the https://opennlp.apache.org/models.html[website,window=_blank] once the new version appears in the Apache download mirrors (keep checking https://www.apache.org/dyn/closer.cgi/opennlp/models/[window=_blank] until you see something).

#### Add News Item
==== Add News Item

- Add a news item in `news/model-{model-type}-{xyz}.ad` by copying the adjusted content:
+
----
= <MODEL_TYPE> Models for Apache OpenNLP released
Apache OpenNLP
2022-01-03
2024-11-01
:jbake-type: post
:jbake-tags: community
:jbake-status: published
Expand All @@ -203,13 +205,13 @@ https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/open
--The Apache OpenNLP Team
----

#### Commit Website Changes.
==== Commit Website Changes.

- Commit the website changes.
- Rebuild opennlp-site and wait for site redeploy
- Test and review the website. Test that all download links are working.

### Post-Release Steps
=== Post-Release Steps

- Log the new version at https://reporter.apache.org/addrelease.html?opennlp[window=_blank].
- Announce the new models on the OpenNLP Twitter.
Expand Down Expand Up @@ -244,7 +246,7 @@ https://dist.apache.org/repos/dist/dev/opennlp/<MODEL_TYPE>-<MODEL_VERSION>/open
--The Apache OpenNLP Team
----

## After an Unsuccessful Vote
== After an Unsuccessful Vote

The model release vote may fail due to an issue discovered in the release candidate. If the vote fails the model release candidate should be canceled by:

Expand Down
Loading

0 comments on commit 007792e

Please sign in to comment.