Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request] Update graalvm-nightly, graalvm-nightly-jdk11, graalvm-nightly-jdk17 #485

Open
salty-flower opened this issue Sep 16, 2023 · 2 comments

Comments

@salty-flower
Copy link

Information

Name: graalvm-nightly, graalvm-nightly-jdk11, graalvm-nightly-jdk17

Description: The three are already inside java bucket. However they are outdated and point to dangling 404 URLs.

Download link(s): Their repository link remains the old one.

I have some ideas on it but not sure how to integrate the changes.

Attempt

I've looked at the newer builds. It seems to me that JDK 21 builds require a file name change, from graalvm-ce-java$matchJava-windows-amd64-dev.zip to graalvm-community-java$matchJava-windows-amd64-dev.zip. JDK 11 and 17 builds, however, seem discontinued from 23.1.0-dev-20230812_0125 (see the number of artifacts).

So combining them all I get below for graalvm-nightly:

{
  "description": "High-performance, embeddable, polyglot Virtual Machine for JVM-langs (Java, Scala, Kotlin), JavaScript/NodeJS, Python, Ruby, R, and LLVM-langs (C, C++, Rust)",
  "version": "24.0.0-dev-20230914_1326",
  "homepage": "https://www.graalvm.org/",
  "license": "GPL-2.0",
  "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/24.0.0-dev-20230914_1326/graalvm-ce-java20-windows-amd64-dev.zip",
  "hash": "f4b38f6040e649148624f23eb7323f1614807d92535d030d33f7a5f79e5dac5c",
  "extract_dir": "graalvm-ce-java20-23.1.0-dev",
  "env_add_path": "bin",
  "env_set": {
    "JAVA_HOME": "$dir",
    "GRAALVM_HOME": "$dir"
  },
  "checkver": {
    "github": "https://github.com/graalvm/graalvm-ce-dev-builds",
    "regex": "/(?<release>[\\d\\w.-]+)-dev-(?<build>[\\d\\w.-]+)/graalvm-community-java(?<java>\\d[\\d]+)-windows-amd64-dev",
    "replace": "${release}-dev-${build}",
    "reverse": true
  },
  "autoupdate": {
    "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/$version/graalvm-community-java$matchJava-windows-amd64-dev.zip",
    "extract_dir": "graalvm-community-openjdk-$matchJava+$matchRelease"
  }
}

Problem I faced

One problem I have is how do I set extract_dir in autoupdate part. The inner folder name is graalvm-community-openjdk-21+35.1 for recent builds. Initially I have no idea of deducing the 35.1 part from build numbers, but later I found it in a metadata file from main Graal repository.

So, I guess it would be great if someone can integrate parsing logic, to dynamically generate folder name from build number there.

Thanks Scoop community 😊

@salty-flower
Copy link
Author

I believe #472 is not related to nightly builds, hence a new issue here.

@se35710
Copy link
Collaborator

se35710 commented Oct 31, 2023

If it is impossible to use extract_dir, use "extract_to": "tmp" and the following installer script:

"installer": {
"script": [
"(Get-ChildItem -Directory \"$dir\\tmp\").FullName | % { Move-Item \"$_\\*\" \"$dir\" }",
"Remove-Item -Recurse \"$dir\\tmp\""
]
},

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

No branches or pull requests

2 participants