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

feat: graalvm artifact mappings #106

Merged
merged 3 commits into from
Sep 8, 2023
Merged

feat: graalvm artifact mappings #106

merged 3 commits into from
Sep 8, 2023

Conversation

sgammon
Copy link
Owner

@sgammon sgammon commented Sep 4, 2023

Summary

Adds a simple set of Maven dependency mappings/definitions/helpers in @rules_graalvm//graalvm/artifacts:maven.bzl. This should allow easy inclusion of the GraalVM SDK when running on a regular JVM. See below for usage.

Targeting #80 for merge (0.10.x release).

From WORKSPACE.bazel:

# ...
load("@rules_jvm_external//:specs.bzl", "maven")
load("@rules_graalvm//artifacts:maven.bzl", "graalvm")

# ...
graalvm.artifact(
  maven,
  artifact = graalvm.catalog.SDK,
  version = "23.0.1",
)

From MODULE.bazel:

# ...
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
graalvm = use_extension("@rules_graalvm//:extensions.bzl", "graalvm")

# ...
graalvm.artifact(
    maven,
    artifact = graalvm.catalog.SDK,
    version = "23.0.1",
)

Tasklist

  • Add mappings for well-known artifacts
  • Easy usability with rules_jvm_external from WORKSPACE.bazel
  • Easy usability with rules_jvm_external from MODULE.bazel note: kicked for later
  • Direct JAR dependency repositories (maybe? i.e. non-rules_jvm_external) note: kicked for later
  • Support in the mapping generator for JARs (if above) note: kicked for later

Changelog

  • feat: add struct which defines maven coordinates for well-known graalvm maven dependencies
  • feat: user-facing API to easily access these coordinates and declare them with rules_jvm_external
  • feat: alias macros for maven artifacts

- feat: add struct which defines maven coordinates for well-known
  graalvm maven dependencies

- feat: user-facing API to easily access these coordinates and
  declare them with `rules_jvm_external`

Signed-off-by: Sam Gammon <sam@elide.ventures>
@sgammon sgammon added feature Mainline feature work 🚧 WIP Work-in-progress, do not merge labels Sep 4, 2023
@sgammon sgammon added this to the 1.0.0 milestone Sep 4, 2023
@sgammon sgammon self-assigned this Sep 4, 2023
@sgammon sgammon mentioned this pull request Sep 4, 2023
Signed-off-by: Sam Gammon <sam@elide.ventures>
- test: add integration test for artifact use
- test: add samples for each alias style
- chore: add maven artifact test to ci

Signed-off-by: Sam Gammon <sam@elide.ventures>
@sonarcloud
Copy link

sonarcloud bot commented Sep 8, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@sgammon sgammon marked this pull request as ready for review September 8, 2023 02:12
@sgammon sgammon merged commit 354637c into release/0.10.x Sep 8, 2023
63 checks passed
@sgammon sgammon changed the title feat: graalvm artifact mappings (wip) feat: graalvm artifact mappings Sep 8, 2023
@sgammon sgammon removed the 🚧 WIP Work-in-progress, do not merge label Sep 8, 2023
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Mainline feature work
Projects
Development

Successfully merging this pull request may close these issues.

1 participant