lewismc opened a new pull request, #967: URL: https://github.com/apache/nutch/pull/967
Updated PR for [NUTCH-3130](https://issues.apache.org/jira/browse/NUTCH-3130) which replaces stale https://github.com/apache/nutch/pull/869 #869 had drifted: it was branched before master moved to Java 17 only and before the REST service was removed, so a large part of its diff was either already applied or no longer applied cleanly. Rather than rebase a stale branch with a long merge history, this is a fresh branch against current master containing only the work that still matters. The scope is deliberately narrower than #869. Two changes there were never settled in review and are left out: removing `finalize()` from `Plugin`, `PluginRepository` and `Ftp` (neither @sebastian-nagel nor I could show that plugin and FTP shutdown still happen without it), and swapping `SpellCheckedMetadata` for `CaseInsensitiveMetadata` in the protocol plugins, which changes HTTP header handling and belongs with NUTCH-3002. Both should be follow-up issues. What remains is the mechanical work plus the CI gate. Deprecated API calls are replaced: commons-cli `OptionBuilder`/`GnuParser` become `Option.builder` and `DefaultParser`, `GeoIPDocumentCreator` uses the geoip2 5.x accessors, and `SpellCheckedMetadata` uses commons-text for Levenshtein distance with the same threshold and the same behaviour. Any deprecated Nutch API that is unused or long past it's removal date is deleted: `IndexWriter.open(Configuration, String)` (deprecated since 1.15) and its plugin stubs, the old `net.protocols.ProtocolException`, and two unused overloads in `Generator` and `CommonCrawlFormatFactory`. Deprecated API's we are keeping now says in Javadoc what to use instead. The "Check for deprecation warnings" step in the GitHub Actions workflow from #869 is kept, with two fixes: it skips cleanly when no test compile ran instead of reporting a green pass, and the allowlist is rebuilt from what actually still warns on master rather than being carried over verbatim. Removing `IndexWriter.open(Configuration, String)` is a breaking change for out-of-tree index writer plugins, which must implement only `open(IndexWriterParams)`. Everything else is reversible. We can call this out in the 1.24 release notes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]

