Skip to content

Conversation

@claui
Copy link
Contributor

@claui claui commented Apr 18, 2019

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes? Here's an example. Unable to write and run tests because brew tests keeps returning with the error: Could not find json-2.2.0 in any of the sources
  • Have you successfully run brew style with your changes locally? Returned with error: incompatible library version - /Users/claudia/Documents/dev/brew/Library/Homebrew/vendor/bundle/ruby/2.3.0/gems/jaro_winkler-1.5.2/lib/jaro_winkler/jaro_winkler_ext.bundle
  • Have you successfully run brew tests with your changes locally? See above; I tested all possible branches manually though.

As stated in https://github.com/Homebrew/homebrew-cask-versions/issues/7253, Java 1.8 is no longer freely available from Oracle. Users who wish to continue using Oracle JDK 1.8 will have to download and install it manually from Oracle’s website, which now requires registration.

Alternatively, users can now install AdoptOpenJDK 8, a drop-in replacement for Oracle JDK 1.8. This commit fixes the caveat to reflect those changes.

For compatibility reasons (homebrew-core formulas are largely untested with AdoptOpenJDK), the manual Oracle download will now be listed as the preferred choice.

For the general case, the caveat now says:

ant: Java 1.8+ is required to install this formula.

Install OpenJDK with Homebrew Cask:
  brew cask install java
Or download and install from:
  https://www.oracle.com/technetwork/java/javase/downloads/index.html
Error: An unsatisfied requirement failed this build.

For a formula that requires Java 1.8 or lower, the caveat now says:

bazel: Java 1.8 is required to install this formula.

Download and install Java SE 8 from:
  https://www.oracle.com/technetwork/java/javase/downloads/index.html
Or install AdoptOpenJDK 8 with Homebrew Cask:
  brew cask install homebrew/cask-versions/adoptopenjdk8
Error: An unsatisfied requirement failed this build.

As stated in homebrew-cask-versions#7253 [1], Java 1.8 is no longer
freely available from Oracle. Users who wish to continue using
Oracle JDK 1.8 will have to download and install it manually from
Oracle’s website, which now requires registration.

Alternatively, users can now install AdoptOpenJDK 8, a drop-in
replacement for Oracle JDK 1.8. This commit fixes the caveat to
reflect those changes.

For compatibility reasons (homebrew-core formulas are largely
untested with AdoptOpenJDK), the manual Oracle download will now be
listed as the preferred choice.

[1]: https://github.com/Homebrew/homebrew-cask-versions/issues/7253
@MikeMcQuaid
Copy link
Member

What does brew cask install homebrew/cask-versions/java8 do now? I'd like us to update our CI to match whatever we end up recommending to users to do.

@claui
Copy link
Contributor Author

claui commented Apr 19, 2019

@MikeMcQuaid That will error out because the java8 cask no longer exists.

We have deleted it to make sure existing installs are left untouched.

@MikeMcQuaid
Copy link
Member

@claui Gotcha. In that case I think we can unconditionally recommend AdoptOpenJDK 8 and we'll merge this PR when the CI images are updated to use it instead of brew cask install java8. How's that sound?

@claui
Copy link
Contributor Author

claui commented Apr 19, 2019

@MikeMcQuaid Sounds good. Thanks for the pointer!

@MikeMcQuaid
Copy link
Member

@claui Oh, also I reckon we switch to the adoptopenjdk cask for Java in general, too. May as well be consistent, favour open-source stuff and avoid future issues.

@claui
Copy link
Contributor Author

claui commented Apr 19, 2019

This just emerged from a brief internal discussion among maintainers (thanks @SMillerDev, @MikeMcQuaid, and @fxcoudert):

  • We don’t want to confuse people by endorsing AdoptOpenJDK only for 8 and Oracle’s OpenJDK for the rest.

  • We’d prefer a single OpenJDK vendor that we can endorse consistently across all Java versions.

  • We don’t like Oracle’s disruptive habits that keep breaking formulas.

  • We’re aware that AdoptOpenJDK is not 100 % compatible (even though it’s pretty close). We anticipate that even the occasional breakage is going to hurt less than inconsistent, confusing recommendation messages would.

tl;dr We’re planning to endorse AdoptOpenJDK only.

Closing this PR while I prepare an updated one.

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

Labels

outdated PR was locked due to age

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants