[
https://issues.apache.org/jira/browse/OPENNLP-1924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18112939#comment-18112939
]
ASF GitHub Bot commented on OPENNLP-1924:
-----------------------------------------
krickert opened a new pull request, #183:
URL: https://github.com/apache/opennlp-addons/pull/183
Replaces #182, which was headed from a fork. This one is headed from
`apache/opennlp-addons` so committers can push to it directly.
Base is `main`, so the full diff is visible in one place.
## Review feedback applied
**No source file is edited.** All 42 Java files that #182 reformatted are
now identical to `main`. Module directories move as part of the `-addon`
rename, and file contents come along unchanged. Checkstyle is configured here
but set to report without breaking the build, so a follow-up can correct the
sources and enable enforcement in the same change. It currently reports 334
violations, which is the size of that follow-up.
**LICENSE regeneration is restored.** `.github/workflows/license.yml` still
uses the name `CI Master - Regenerate NOTICE`, the push and `workflow_dispatch`
triggers, the `Create NOTICE File` step, and the `create-pull-request` step.
Only the JDK moved from 17 to 21, since the enforcer now requires 21, plus a
cache path correction.
**NOTICE is restored.** `src/license/NOTICE.template` is back, and NOTICE
was regenerated with the command from that workflow instead of being written
manually.
One related fix was needed. The group rename to `org.apache.opennlp.addons`
broke `<excludedGroups>${project.groupId}</excludedGroups>`, so OpenNLP core
artifacts began appearing in NOTICE as third-party entries. The exclusion is
now `org\.apache\.opennlp.*`, which restores the previous output.
`src/license/NOTICE.template` is also excluded from RAT, since a NOTICE
fragment has no license header and RAT is new here.
## What remains in this PR
**Coordinates.** Modules publish under `org.apache.opennlp.addons`; core
dependencies remain `org.apache.opennlp`. Before this change the build resolved
all modules to `org.apache.opennlp`.
**Modules.** Morfologik is removed, because core provides the same classes
including the OPENNLP-1905 correction. JWNL is removed.
**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.** Checkstyle, forbidden API checks, RAT, and a dependency license
report. Artifact deployment and release SCM pushes remain disabled.
**README.** Aligned with the main repository.
**dev-TEMP.** The proposal text used to be a manual chapter titled "OpenNLP
Add-ons Proposal", opening with a status line and closing with "Consensus
requested". 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/`, which 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.
- **Security.** This repository has no `SECURITY.md`. Core publishes one
with an explicit trust model, and add-ons need a position on how they relate to
it.
Background for both is in `dev-TEMP/addons-proposal.md`.
## Verification
```
mvn clean verify -Dopennlp.forkCount=1
```
Build passes. 23 tests in `japanese`, 0 failures and 0 errors, the full set
the reactor currently contains. RAT clean, dependency license report generated,
DocBook HTML and PDF built.
> 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)