Skip to content

Commit 8249280

Browse files
committed
Generalize to all Make var fields
1 parent 6e69f86 commit 8249280

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

examples/tests_and_lints/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/tests_and_lints/suite/BUILD.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ load("@rules_jvm_external//:defs.bzl", "artifact")
44
java_test_suite(
55
name = "ExampleSuite",
66
srcs = glob(["*.java"]),
7+
# Test that Make vars expand correctly
8+
args = [artifact("org.jmockit:jmockit")],
9+
env = {"JMOCKIT": artifact("org.jmockit:jmockit")},
710
jvm_flags = ["-javaagent:$(location @maven//:org_jmockit_jmockit)"],
811
runner = "junit5",
912
runtime_deps = [

java/private/create_jvm_test_suite.bzl

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
load("@bazel_skylib//lib:collections.bzl", "collections")
12
load("//java/private:package.bzl", "get_class_name")
23

34
def _is_test(src, test_suffixes, test_suffixes_excludes):
@@ -27,7 +28,6 @@ def create_jvm_test_suite(
2728
deps = None,
2829
runtime_deps = [],
2930
tags = [],
30-
jvm_flags = [],
3131
visibility = None,
3232
size = None,
3333
package_prefixes = [],
@@ -112,8 +112,13 @@ def create_jvm_test_suite(
112112
**library_attrs
113113
)
114114

115-
# Get any deps referenced in jvm_flags
116-
jvm_flag_deps = [dep for dep in deps for flag in jvm_flags if dep in flag]
115+
# Get any deps referenced in make vars
116+
make_var_fields = (kwargs.get("jvm_flags", []) +
117+
kwargs.get("javacopts", []) +
118+
kwargs.get("args", []) +
119+
kwargs.get("env", {}).values())
120+
make_var_deps = collections.uniq([dep for dep in deps for flag in make_var_fields if dep in flag])
121+
make_var_runtime_deps = collections.uniq([dep for dep in runtime_deps for flag in make_var_fields if dep in flag])
117122

118123
for src in test_srcs:
119124
suffix = src.rfind(".")
@@ -125,10 +130,9 @@ def create_jvm_test_suite(
125130
size = size,
126131
srcs = [src],
127132
test_class = test_class,
128-
deps = [":" + deps_lib_name] + jvm_flag_deps,
133+
deps = [":" + deps_lib_name] + make_var_deps,
129134
tags = tags,
130-
runtime_deps = [":" + runtime_deps_lib_name],
131-
jvm_flags = jvm_flags,
135+
runtime_deps = [":" + runtime_deps_lib_name] + make_var_runtime_deps,
132136
visibility = ["//visibility:private"],
133137
**kwargs
134138
)

0 commit comments

Comments
 (0)