Skip to content

Commit f5ea6ff

Browse files
committed
Add bzlmod and rules_jvm_external
1 parent 59c57ba commit f5ea6ff

File tree

10 files changed

+340
-64
lines changed

10 files changed

+340
-64
lines changed
Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,30 @@
1-
###############################################################################
2-
# Bazel now uses Bzlmod by default to manage external dependencies.
3-
# Please consider migrating your external dependencies from WORKSPACE to MODULE.bazel.
4-
#
5-
# For more details, please check https://github.com/bazelbuild/bazel/issues/18958
6-
###############################################################################
1+
module(
2+
name = "testdata_workspaces_002",
3+
)
4+
5+
bazel_dep(name = "rules_java", version = "8.6.3")
6+
bazel_dep(name = "rules_jvm_external", version = "6.6")
7+
8+
maven_deps = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
9+
maven_deps.artifact(
10+
testonly = True,
11+
artifact = "junit",
12+
group = "junit",
13+
version = "4.13.2",
14+
)
15+
maven_deps.install(
16+
name = "maven_deps",
17+
artifacts = [
18+
"com.google.guava:guava:33.4.0-jre",
19+
"junit:junit:4.13.2",
20+
"org.apache.commons:commons-lang3:jar:3.17.0",
21+
],
22+
fail_if_repin_required = True,
23+
fetch_sources = True,
24+
generate_compat_repositories = False,
25+
lock_file = "@//:maven_install.json",
26+
resolver = "maven",
27+
strict_visibility = True,
28+
version_conflict_policy = "pinned",
29+
)
30+
use_repo(maven_deps, "maven_deps")

bundles/testdata/workspaces/002/WORKSPACE

Lines changed: 0 additions & 27 deletions
This file was deleted.
Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
{
2+
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
3+
"__INPUT_ARTIFACTS_HASH": -772885195,
4+
"__RESOLVED_ARTIFACTS_HASH": -1746335676,
5+
"artifacts": {
6+
"com.google.code.findbugs:jsr305": {
7+
"shasums": {
8+
"jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
9+
"sources": "1c9e85e272d0708c6a591dc74828c71603053b48cc75ae83cce56912a2aa063b"
10+
},
11+
"version": "3.0.2"
12+
},
13+
"com.google.errorprone:error_prone_annotations": {
14+
"shasums": {
15+
"jar": "77440e270b0bc9a249903c5a076c36a722c4886ca4f42675f2903a1c53ed61a5",
16+
"sources": "7e117e0931cb2cb4226372af336189b49edb79969d120ec958a6df0beacb0612"
17+
},
18+
"version": "2.36.0"
19+
},
20+
"com.google.guava:failureaccess": {
21+
"shasums": {
22+
"jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064",
23+
"sources": "dd3bfa5e2ec5bc5397efb2c3cef044c192313ff77089573667ff97a60c6978e0"
24+
},
25+
"version": "1.0.2"
26+
},
27+
"com.google.guava:guava": {
28+
"shasums": {
29+
"jar": "b918c98a7e44dbe94ebd9fe3e40cddaadb5a93e6a78eb6008b42df237241e538",
30+
"sources": "55ef6603b6ab1f6e3ae810b127561650ed682eb5f3fb50a212a658a74087b457"
31+
},
32+
"version": "33.4.0-jre"
33+
},
34+
"com.google.guava:listenablefuture": {
35+
"shasums": {
36+
"jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99"
37+
},
38+
"version": "9999.0-empty-to-avoid-conflict-with-guava"
39+
},
40+
"com.google.j2objc:j2objc-annotations": {
41+
"shasums": {
42+
"jar": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64",
43+
"sources": "bd60019a0423c3a025ef6ab24fe0761f5f45ffb48a8cca74a01b678de1105d38"
44+
},
45+
"version": "3.0.0"
46+
},
47+
"junit:junit": {
48+
"shasums": {
49+
"jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3",
50+
"sources": "34181df6482d40ea4c046b063cb53c7ffae94bdf1b1d62695bdf3adf9dea7e3a"
51+
},
52+
"version": "4.13.2"
53+
},
54+
"org.apache.commons:commons-lang3": {
55+
"shasums": {
56+
"jar": "6ee731df5c8e5a2976a1ca023b6bb320ea8d3539fbe64c8a1d5cb765127c33b4",
57+
"sources": "5fdcac21ad329766054a95367d7583dfcdca737d221d5e01a5f2a198c04c6b18"
58+
},
59+
"version": "3.17.0"
60+
},
61+
"org.checkerframework:checker-qual": {
62+
"shasums": {
63+
"jar": "3fbc2e98f05854c3df16df9abaa955b91b15b3ecac33623208ed6424640ef0f6",
64+
"sources": "d6bdee58964cd05aabfca4e44947d3cbdada6bf617ed618b62b3b0d5a21de339"
65+
},
66+
"version": "3.43.0"
67+
},
68+
"org.hamcrest:hamcrest-core": {
69+
"shasums": {
70+
"jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9",
71+
"sources": "e223d2d8fbafd66057a8848cc94222d63c3cedd652cc48eddc0ab5c39c0f84df"
72+
},
73+
"version": "1.3"
74+
}
75+
},
76+
"dependencies": {
77+
"com.google.guava:guava": [
78+
"com.google.code.findbugs:jsr305",
79+
"com.google.errorprone:error_prone_annotations",
80+
"com.google.guava:failureaccess",
81+
"com.google.guava:listenablefuture",
82+
"com.google.j2objc:j2objc-annotations",
83+
"org.checkerframework:checker-qual"
84+
],
85+
"junit:junit": [
86+
"org.hamcrest:hamcrest-core"
87+
]
88+
},
89+
"packages": {
90+
"com.google.code.findbugs:jsr305": [
91+
"javax.annotation",
92+
"javax.annotation.concurrent",
93+
"javax.annotation.meta"
94+
],
95+
"com.google.errorprone:error_prone_annotations": [
96+
"com.google.errorprone.annotations",
97+
"com.google.errorprone.annotations.concurrent"
98+
],
99+
"com.google.guava:failureaccess": [
100+
"com.google.common.util.concurrent.internal"
101+
],
102+
"com.google.guava:guava": [
103+
"com.google.common.annotations",
104+
"com.google.common.base",
105+
"com.google.common.base.internal",
106+
"com.google.common.cache",
107+
"com.google.common.collect",
108+
"com.google.common.escape",
109+
"com.google.common.eventbus",
110+
"com.google.common.graph",
111+
"com.google.common.hash",
112+
"com.google.common.html",
113+
"com.google.common.io",
114+
"com.google.common.math",
115+
"com.google.common.net",
116+
"com.google.common.primitives",
117+
"com.google.common.reflect",
118+
"com.google.common.util.concurrent",
119+
"com.google.common.xml",
120+
"com.google.thirdparty.publicsuffix"
121+
],
122+
"com.google.j2objc:j2objc-annotations": [
123+
"com.google.j2objc.annotations"
124+
],
125+
"junit:junit": [
126+
"junit.extensions",
127+
"junit.framework",
128+
"junit.runner",
129+
"junit.textui",
130+
"org.junit",
131+
"org.junit.experimental",
132+
"org.junit.experimental.categories",
133+
"org.junit.experimental.max",
134+
"org.junit.experimental.results",
135+
"org.junit.experimental.runners",
136+
"org.junit.experimental.theories",
137+
"org.junit.experimental.theories.internal",
138+
"org.junit.experimental.theories.suppliers",
139+
"org.junit.function",
140+
"org.junit.internal",
141+
"org.junit.internal.builders",
142+
"org.junit.internal.management",
143+
"org.junit.internal.matchers",
144+
"org.junit.internal.requests",
145+
"org.junit.internal.runners",
146+
"org.junit.internal.runners.model",
147+
"org.junit.internal.runners.rules",
148+
"org.junit.internal.runners.statements",
149+
"org.junit.matchers",
150+
"org.junit.rules",
151+
"org.junit.runner",
152+
"org.junit.runner.manipulation",
153+
"org.junit.runner.notification",
154+
"org.junit.runners",
155+
"org.junit.runners.model",
156+
"org.junit.runners.parameterized",
157+
"org.junit.validator"
158+
],
159+
"org.apache.commons:commons-lang3": [
160+
"org.apache.commons.lang3",
161+
"org.apache.commons.lang3.arch",
162+
"org.apache.commons.lang3.builder",
163+
"org.apache.commons.lang3.compare",
164+
"org.apache.commons.lang3.concurrent",
165+
"org.apache.commons.lang3.concurrent.locks",
166+
"org.apache.commons.lang3.event",
167+
"org.apache.commons.lang3.exception",
168+
"org.apache.commons.lang3.function",
169+
"org.apache.commons.lang3.math",
170+
"org.apache.commons.lang3.mutable",
171+
"org.apache.commons.lang3.reflect",
172+
"org.apache.commons.lang3.stream",
173+
"org.apache.commons.lang3.text",
174+
"org.apache.commons.lang3.text.translate",
175+
"org.apache.commons.lang3.time",
176+
"org.apache.commons.lang3.tuple",
177+
"org.apache.commons.lang3.util"
178+
],
179+
"org.checkerframework:checker-qual": [
180+
"org.checkerframework.checker.builder.qual",
181+
"org.checkerframework.checker.calledmethods.qual",
182+
"org.checkerframework.checker.compilermsgs.qual",
183+
"org.checkerframework.checker.fenum.qual",
184+
"org.checkerframework.checker.formatter.qual",
185+
"org.checkerframework.checker.guieffect.qual",
186+
"org.checkerframework.checker.i18n.qual",
187+
"org.checkerframework.checker.i18nformatter.qual",
188+
"org.checkerframework.checker.index.qual",
189+
"org.checkerframework.checker.initialization.qual",
190+
"org.checkerframework.checker.interning.qual",
191+
"org.checkerframework.checker.lock.qual",
192+
"org.checkerframework.checker.mustcall.qual",
193+
"org.checkerframework.checker.nullness.qual",
194+
"org.checkerframework.checker.optional.qual",
195+
"org.checkerframework.checker.propkey.qual",
196+
"org.checkerframework.checker.regex.qual",
197+
"org.checkerframework.checker.signature.qual",
198+
"org.checkerframework.checker.signedness.qual",
199+
"org.checkerframework.checker.tainting.qual",
200+
"org.checkerframework.checker.units.qual",
201+
"org.checkerframework.common.aliasing.qual",
202+
"org.checkerframework.common.initializedfields.qual",
203+
"org.checkerframework.common.reflection.qual",
204+
"org.checkerframework.common.returnsreceiver.qual",
205+
"org.checkerframework.common.subtyping.qual",
206+
"org.checkerframework.common.util.count.report.qual",
207+
"org.checkerframework.common.value.qual",
208+
"org.checkerframework.dataflow.qual",
209+
"org.checkerframework.framework.qual"
210+
],
211+
"org.hamcrest:hamcrest-core": [
212+
"org.hamcrest",
213+
"org.hamcrest.core",
214+
"org.hamcrest.internal"
215+
]
216+
},
217+
"repositories": {
218+
"https://repo1.maven.org/maven2/": [
219+
"com.google.code.findbugs:jsr305",
220+
"com.google.code.findbugs:jsr305:jar:sources",
221+
"com.google.errorprone:error_prone_annotations",
222+
"com.google.errorprone:error_prone_annotations:jar:sources",
223+
"com.google.guava:failureaccess",
224+
"com.google.guava:failureaccess:jar:sources",
225+
"com.google.guava:guava",
226+
"com.google.guava:guava:jar:sources",
227+
"com.google.guava:listenablefuture",
228+
"com.google.j2objc:j2objc-annotations",
229+
"com.google.j2objc:j2objc-annotations:jar:sources",
230+
"junit:junit",
231+
"junit:junit:jar:sources",
232+
"org.apache.commons:commons-lang3",
233+
"org.apache.commons:commons-lang3:jar:sources",
234+
"org.checkerframework:checker-qual",
235+
"org.checkerframework:checker-qual:jar:sources",
236+
"org.hamcrest:hamcrest-core",
237+
"org.hamcrest:hamcrest-core:jar:sources"
238+
]
239+
},
240+
"services": {},
241+
"skipped": [],
242+
"version": "2"
243+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
load("@rules_java//java:defs.bzl", "java_library")
2+
3+
java_library (
4+
name = "module2",
5+
srcs = glob(["java/src/**/*.java"]),
6+
visibility = ["//module1:__pkg__"],
7+
deps = [
8+
"//module3",
9+
"@maven_deps//:org_apache_commons_commons_lang3"
10+
]
11+
)
12+
13+
java_test(
14+
name = "module2-test",
15+
srcs = ["java/test/library/GreetingTest.java"],
16+
test_class = "library.GreetingTest",
17+
deps = [
18+
"module2",
19+
"@maven_deps//:junit_junit",
20+
],
21+
)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package library;
2+
3+
import log.Logger;
4+
5+
public class Greeting {
6+
7+
public String greet(String name) {
8+
Logger.logDebug("Greeting.greet");
9+
return "Hello ".concat(name);
10+
}
11+
12+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package library;
2+
3+
import org.junit.Assert;
4+
import org.junit.Test;
5+
6+
public class GreetingTest {
7+
@Test
8+
public void testGreet() {
9+
Assert.assertEquals("Hello JUnit", new Greeting().greet("JUnit"));
10+
}
11+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
load("@rules_java//java:defs.bzl", "java_library")
2+
3+
java_library (
4+
name = "module3",
5+
srcs = glob(["java/src/**/*.java"]),
6+
visibility = ["//module1:__pkg__", "//module2:__pkg__"]
7+
)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package log;
2+
3+
import java.time.Instant;
4+
5+
public final class Logger {
6+
7+
private Logger() {
8+
throw new RuntimeException();
9+
}
10+
11+
public static void logDebug(String message) {
12+
String output = String.format("[DEBUG] %s", message);
13+
System.out.println(output);
14+
}
15+
16+
}

0 commit comments

Comments
 (0)