[
https://issues.apache.org/jira/browse/OPENNLP-1924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18112909#comment-18112909
]
ASF GitHub Bot commented on OPENNLP-1924:
-----------------------------------------
krickert opened a new pull request, #182:
URL: https://github.com/apache/opennlp-addons/pull/182
The add-ons work so far, presented for review with `main` as the base.
Earlier pull requests (#177, #179) used `OPENNLP-1924-canary-addon` as the
base, so `main` has not yet seen the full picture in one diff.
## What is here
**Coordinates.** Modules publish under `org.apache.opennlp.addons`. Core
dependencies remain `org.apache.opennlp`. Before this change the canary build
resolved all modules to `org.apache.opennlp`.
**Naming.** Module and artifact names drop the `-addon` suffix. Java package
names describe the feature, not the repository hosting it, so a component that
later moves into core needs no package rename.
**Modules removed.** Morfologik, because core provides the same classes,
including the OPENNLP-1905 correction. Also JWNL.
**Manual.** A new `opennlp-addons-docs` module, DocBook in the same format
as the main repository, with chapters for usage, the module catalog, building
from source, and contributing an add-on.
**Build.** OpenNLP Checkstyle rules, forbidden API checks, a RAT license
header check, and a dependency license report. Artifact deployment and release
SCM pushes remain disabled.
**README.** Aligned with the main repository: matching heading style, a
license badge, `Useful Links`, an `Overview` module list in the format the core
README uses, `Getting Started` with Maven and Gradle, `Building`, and
`Contributing`. The transitional notes about this branch were removed.
## dev-TEMP
The proposal text behind this work used to be a chapter of the manual,
titled "OpenNLP Add-ons Proposal", opening with a status line and closing with
a "Consensus requested" section. A position under discussion does not belong in
a user manual, so the durable rules moved into the "Contributing an Add-on"
chapter and the remainder moved to `dev-TEMP/`. That directory is working
material for the dev list and gets deleted before a release.
## Open for the dev list
- **Review threshold.** This repository's `.asf.yaml` sets no
`required_approving_review_count`, while `apache/opennlp` requires one approval
plus the `asf-allowlist-check` status check. Matching core would be a single
`.asf.yaml` edit, plus porting that workflow if the status check is wanted here
too.
- **Security.** This repository has no `SECURITY.md`. Core publishes one
with an explicit trust model. Add-ons need to say how they relate to it, since
an add-on may bundle data, download user-selected resources, or delegate to
native code.
Background for both is in `dev-TEMP/addons-proposal.md`.
## Verification
```
mvn clean verify -Dopennlp.forkCount=1
```
Checkstyle, forbidden API checks, RAT, the dependency license report, and
the DocBook HTML and PDF build all pass. Tests are 23 in `japanese`, 0 failures
and 0 errors, the full set the reactor currently contains.
> ADDONs - refactor + publish setup
> ---------------------------------
>
> Key: OPENNLP-1924
> URL: https://issues.apache.org/jira/browse/OPENNLP-1924
> Project: OpenNLP
> Issue Type: Epic
> Reporter: Kristian Rickert
> Assignee: Kristian Rickert
> Priority: Major
>
> After a discussion in the mailing list, we are expanding the addons repo
> more formally:
> [https://github.com/apache/opennlp-addons]
> This will keep it's original intent but push artifacts to m2. As part of
> this ticket we will come up with an formalize:
> # Boundaries of what belongs in addons vs core vs sandbox
> ** sandbox - unpublished, experiemental
> ** addons - published + maintained
> ** core - core interfaces and some reference implementations of those
> interfaces
> # Release train for addons
> # Versioning scheme
> # Compatibility rules (we pretty much said that if you build it here it
> should be compatible with the latest core)
> # Retirement rules (given it should have a higher cadence of features than
> core, decide some basic guidelines and rules of retiring defunct code /
> outdated)
> # "Graduation" rules (a highly downloaded / popular / dependent jar that
> should become part of core)
> # API addition rules - should a new feature go into add-ons, when to discuss
> bringing the API into core but leave the functionality/instance in addons.
> .. and anything else we can have on the discussions
> Please note: this has been spec'ed over email so far- we expect the
> requirements to change based on the team's full review.
> We'll keep this ticket open until all tasks related to it are completed.
> Here are some of the good examples of what we have went over so far:
> * Model-required features
> * a new provider for already existing functionality (tokenizer, embeddings,
> chunking, etc)
> * components that are in development but highly experiemental. (i.e. the
> java implementation of model2vec, turboquant)
> Finally - dependencies would only be bought in very rare instances. Even in
> those cases, if one is added, it may never go into core.
> There are a lot more points to add, and we'll comment/edit this story to
> represent those changing reqirements.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)