Skip to content

Commit 2071b84

Browse files
authored
feat: Allow the graalvm extension to create multiple repos (#553)
This can be used to switch between Oracle and CE GraalVM via a flag. Signed-off-by: Fabian Meumertzheim <[email protected]>
1 parent 2c87605 commit 2071b84

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

extensions.bzl

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ load(
88
def _gvm_impl(mctx):
99
"""Implementation of the GraalVM module extension."""
1010

11-
selected = None
11+
all_tags = []
1212
all_components = []
1313
for mod in mctx.modules:
1414
# gather gvm toolchain info
1515
for gvm in mod.tags.graalvm:
1616
if not mod.is_root:
1717
fail("graalvm tag is only allowed in the root module, use component tag instead")
18-
selected = gvm
18+
all_tags.append(gvm)
1919
if len(gvm.components) > 0:
2020
all_components += [i for i in gvm.components if not i in all_components]
2121

@@ -24,15 +24,16 @@ def _gvm_impl(mctx):
2424
if extra_component.name not in all_components:
2525
all_components.append(extra_component.name)
2626

27-
graalvm_repository(
28-
name = selected.name,
29-
version = selected.version,
30-
java_version = selected.java_version,
31-
distribution = selected.distribution,
32-
toolchain_prefix = selected.toolchain_prefix,
33-
components = all_components,
34-
setup_actions = selected.setup_actions,
35-
)
27+
for selected in all_tags:
28+
graalvm_repository(
29+
name = selected.name,
30+
version = selected.version,
31+
java_version = selected.java_version,
32+
distribution = selected.distribution,
33+
toolchain_prefix = selected.toolchain_prefix,
34+
components = all_components,
35+
setup_actions = selected.setup_actions,
36+
)
3637

3738
_graalvm = tag_class(attrs = {
3839
"name": attr.string(mandatory = True),

0 commit comments

Comments
 (0)