Skip to content

Conversation

@lewismc
Copy link
Member

@lewismc lewismc commented Jan 12, 2026

This is a PR for NUTCH-3145. It is quite an interesting issue as JUnit 6 requires Java 17. I am not convinced/sure that we want to orchestrate an upgrade from Java 11 --> 17 through a JUnit upgrade. I opened this ticket as a bit of an experiment. It also encouraged me to check in on NUTCH-2987 and perhaps more importantly the behemoth that is HADOOP-17177.
Any feedback or thoughts welcome. Thank you

@sebastian-nagel
Copy link
Contributor

I'd be conservative and would not yet force users to require Java 17 as runtime, esp. given that is not yet 100% supported by Hadoop. A backward-compatible approach, similar to that described in HADOOP-18887 might be better.

What about?

  • Require Java 17 to build Nutch, resp. run the unit tests.
  • But still allow a Java 11 runtime by setting javac.version=11. The binary package would then still run on Java 11.

This option seems to work (I tried it, but without exhaustive testing).

@lewismc
Copy link
Member Author

lewismc commented Jan 12, 2026

Yes I agree with you @sebastian-nagel I'm not keen to force a JDK upgrade to 17 via this PR either. I'll augment the PR accordingly. Thanks for the review.

@lewismc
Copy link
Member Author

lewismc commented Jan 12, 2026

I augmented the CI to accommodate the backward-compatible Java version strategy for Apache Nutch, similar to the approach described in HADOOP-18887.
Key principle:

  • Build requirement: Java 17+ (required by JUnit 6)
  • Runtime compatibility: Java 11+ (bytecode target)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants