halcyon / asdf-java

A Java plugin for asdf-vm.
MIT License
454 stars 86 forks source link

Adds graalvm community edition #67

Closed bric3 closed 4 years ago

bric3 commented 4 years ago

Fixes #61

This PR allows to install GraalVM per jdk flavor

❯ asdf install java graalvm-ce-java8-20.0.0
############################################################ 100.0%
############################################################ 100.0%
graalvm-ce-java8-darwin-amd64-20.0.0.tar.gz
❯ asdf list java
  amazon-corretto-11.0.6.10.1-2
  amazon-corretto-8.242.08.1
  graalvm-ce-java11-20.0.0
  graalvm-ce-java8-20.0.0

A note however, the assets don't have a checksum file so i made the check optional.

Also ine must remove the quarantine attribute because graalvm is not yet notarized, e.g.

❯ sudo xattr -r -d com.apple.quarantine ~/.asdf/installs/java/graalvm-ce-java11-20.0.0
❯ sudo xattr -r -d com.apple.quarantine ~/.asdf/installs/java/graalvm-ce-java8-20.0.0
bric3 commented 4 years ago

ubuntu build fails because shellcheck is not happy

Run shellcheck -V
ShellCheck - shell script analysis tool
version: 0.4.6
license: GNU General Public License, version 3
website: http://www.shellcheck.net

In ./bin/functions line 78:
    local filter='[
                 ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.

##[error]Process completed with exit code 1.

But code was heavily inspired by sap machine.

And travis jobs fail with unrelated error, it seems

https://travis-ci.org/github/halcyon/asdf-java/jobs/664186690#L233 https://travis-ci.org/github/halcyon/asdf-java/jobs/664186689#L214

The command "asdf plugin-test java "$TRAVIS_BUILD_DIR" --asdf-plugin-gitref "$TRAVIS_COMMIT" --asdf-tool-version azul-zulu-8.44.0.11-jdk8.0.242" exited with 1.
joschi commented 4 years ago

ubuntu build fails because shellcheck is not happy

@bric3 ShellCheck thinks you're trying to use variable expansion in the filter string because of $jdkv. You can disable the specific failing check (SC2016) for that line.

And travis jobs fail with unrelated error, it seems

Yes, see also #59.

thuandt commented 4 years ago

@bric3 I tested your PR on my Linux box. It works perfectly. Can you rebase? I think we have some changes on checksum function on commits about AdoptJDK

halcyon commented 4 years ago

I'll be working on integrating these changes next, likely within a day. Thank you for the nice work @bric3

bric3 commented 4 years ago

@thandt @halcyon rebasing now, I should push something soon.

bric3 commented 4 years ago

Sorry for the unintended closes. So the rebase on master is done, I've performed the same dance.

❯ asdf list-all java
adopt-openjdk-10.0.2+13.1
adopt-openjdk-11+28
adopt-openjdk-11.0.1+13
adopt-openjdk-11.0.2+7
adopt-openjdk-11.0.2+9
adopt-openjdk-11.0.3+7
adopt-openjdk-11.0.4+11
...
graalvm-ce-java11-19.3.0.2
graalvm-ce-java11-19.3.1
graalvm-ce-java11-20.0.0
graalvm-ce-java8-19.3.0.2
graalvm-ce-java8-19.3.1
graalvm-ce-java8-20.0.0
❯ asdf uninstall java graalvm-ce-java8-20.0.0
❯ asdf install java graalvm-ce-java8-20.0.0
############################################## 100.0%
graalvm-ce-java8-darwin-amd64-20.0.0.tar.gz
❯ asdf list java
  amazon-corretto-11.0.6.10.1-2
  amazon-corretto-8.242.08.1
  graalvm-ce-java8-20.0.0

I think my rebase is good, please let me know if I missed something.

Cheers

bric3 commented 4 years ago

Hi, I've updated the PR to the latest master b050643. I decided to re-use the refactoring done in function retrieve-adoptopenjdk() however this made this function misnamed.

bric3 commented 4 years ago

Ping @halcyon ;)

halcyon commented 4 years ago

@bric3 It looks good to me, but I'm not sure that it wouldn't be superceded by #87. @joschi what are your thoughts?

bric3 commented 4 years ago

I must have bugged, I read #87 again, it's a really nice approach !

@halcyon Sorry to come back that later, actually I think that using an exgternal service we become dependent on it. If #87 is merged, then this plugin would become coupled on sdkman payload structure, dependant on their service availibility, on their PR acceptance, etc.

One thing I like a tot about asdf is it's independance and it's scripted / automatic approach using adoptopenjdk and github REST apis.

halcyon commented 4 years ago

Closed per #87