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]

Reply via email to