Skip to content

Commit 7506690

Browse files
meteorcloudycopybara-github
authored andcommitted
Remove rules_java_builtin in WORKSPACE prefix
Benefits: - Less hack in WORKSPACE - Smaller Bazel binary size since we no longer embed rules_java Costs: - WORKSPACE users have to always fetch rules_java. - WORKSPACE users have to ensure a compatible rules_java is defined. Closes #23773. PiperOrigin-RevId: 679558506 Change-Id: I0fd2672b1d9178100d4010156dfbbe2bcf7006da
1 parent 55eb334 commit 7506690

File tree

10 files changed

+19
-119
lines changed

10 files changed

+19
-119
lines changed

BUILD

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,8 @@ filegroup(
165165
srcs = [
166166
"//src/main/java/com/google/devtools/build/lib/bazel/rules:builtins_bzl.zip",
167167
"//src/main/java/com/google/devtools/build/lib/bazel/rules:coverage.WORKSPACE",
168-
"//src/main/java/com/google/devtools/build/lib/bazel/rules:rules_license.WORKSPACE",
168+
"//src/main/java/com/google/devtools/build/lib/bazel/rules:rules_suffix.WORKSPACE",
169169
"//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp:cc_configure.WORKSPACE",
170-
"//src/main/java/com/google/devtools/build/lib/bazel/rules/java:jdk.WORKSPACE",
171170
],
172171
)
173172

@@ -198,17 +197,6 @@ pkg_tar(
198197
visibility = ["//:__subpackages__"],
199198
)
200199

201-
pkg_tar(
202-
name = "rules_java-srcs",
203-
srcs = ["@rules_java//:distribution"],
204-
remap_paths = {
205-
"external/": "",
206-
"../": "",
207-
},
208-
strip_prefix = ".",
209-
visibility = ["//:__subpackages__"],
210-
)
211-
212200
write_file(
213201
name = "gen_maven_repo_name",
214202
out = "MAVEN_CANONICAL_REPO_NAME",
@@ -263,7 +251,6 @@ genrule(
263251
":bazel-srcs",
264252
":bootstrap-jars",
265253
":platforms-srcs",
266-
":rules_java-srcs",
267254
":maven-srcs",
268255
"//src:derived_java_srcs",
269256
"@bootstrap_repo_cache//:archives.tar",

src/BUILD

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ md5_cmd = "set -e -o pipefail && %s $(SRCS) | %s | %s > $@"
2727
"//src/main/tools:linux-sandbox",
2828
"//tools/osx:xcode-locator",
2929
"//:platforms-srcs",
30-
"//:rules_java-srcs",
3130
] + select({
3231
"//src/conditions:windows": [],
3332
"//conditions:default": [
@@ -248,7 +247,6 @@ genrule(
248247
"//src/main/java/com/google/devtools/build/lib/bazel:BazelServer_deploy.jar",
249248
"install_base_key" + suffix,
250249
"//:platforms-srcs",
251-
"//:rules_java-srcs",
252250
# Non-ordered items follow:
253251
"//src/main/java/net/starlark/java/eval:cpu_profiler",
254252
"//src/main/tools:build-runfiles",

src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ java_library(
2727
"xcode_configure.WORKSPACE",
2828
":builtins_bzl_zip",
2929
":coverage.WORKSPACE",
30-
":rules_license.WORKSPACE",
30+
":rules_suffix.WORKSPACE",
3131
],
3232
deps = [
3333
"//src/main/java/com/google/devtools/build/lib:runtime",
@@ -132,13 +132,25 @@ gen_workspace_stanza(
132132
)
133133

134134
gen_workspace_stanza(
135-
name = "rules_license",
136-
out = "rules_license.WORKSPACE",
135+
name = "rules_suffix",
136+
out = "rules_suffix.WORKSPACE",
137+
postamble = """
138+
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
139+
rules_java_dependencies()
140+
rules_java_toolchains()
141+
""",
137142
preamble = """
138143
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
139144
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
140145
""",
141-
repos = ["rules_license"],
146+
repos = [
147+
"bazel_skylib", # Dependency of other rules
148+
"rules_java", # For auto-load java rules symbols
149+
"rules_cc", # For auto-load cc rules symbols
150+
"rules_python", # For auto-load python rules symbols
151+
"rules_license", # for license attestations
152+
"rules_proto",
153+
],
142154
use_maybe = 1,
143155
visibility = ["//:__pkg__"],
144156
)

src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRulesModule.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -559,11 +559,8 @@ public void initializeRuleClasses(ConfiguredRuleClassProvider.Builder builder) {
559559
ResourceFileLoader.loadResource(BazelRulesModule.class, "xcode_configure.WORKSPACE"));
560560
builder.addWorkspaceFileSuffix(
561561
ResourceFileLoader.loadResource(BazelShRuleClasses.class, "sh_configure.WORKSPACE"));
562-
563-
// Load rules_license, which is needed for license attestations for many rules, including
564-
// things in @bazel_tools
565562
builder.addWorkspaceFileSuffix(
566-
ResourceFileLoader.loadResource(BazelRulesModule.class, "rules_license.WORKSPACE"));
563+
ResourceFileLoader.loadResource(BazelRulesModule.class, "rules_suffix.WORKSPACE"));
567564
} catch (IOException e) {
568565
throw new IllegalStateException(e);
569566
}

src/main/java/com/google/devtools/build/lib/bazel/rules/JavaRules.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,6 @@ public void init(ConfiguredRuleClassProvider.Builder builder) {
7878
EXPERIMENTAL_JAVA_LIBRARY_EXPORT, Starlark.NONE));
7979

8080
try {
81-
builder.addWorkspaceFilePrefix(
82-
ResourceFileLoader.loadResource(
83-
BazelJavaRuleClasses.class, "rules_java_builtin.WORKSPACE"));
84-
builder.addWorkspaceFileSuffix(
85-
ResourceFileLoader.loadResource(BazelJavaRuleClasses.class, "jdk.WORKSPACE"));
8681
builder.addWorkspaceFileSuffix(
8782
ResourceFileLoader.loadResource(JavaRules.class, "coverage.WORKSPACE"));
8883
} catch (IOException e) {

src/main/java/com/google/devtools/build/lib/bazel/rules/java/BUILD

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
load("@rules_java//java:defs.bzl", "java_library")
2-
load("//:workspace_deps.bzl", "gen_workspace_stanza")
32

43
package(
54
default_applicable_licenses = ["//:license"],
@@ -24,10 +23,7 @@ java_library(
2423
[
2524
"*.txt",
2625
],
27-
) + [
28-
":jdk.WORKSPACE",
29-
":rules_java_builtin.WORKSPACE",
30-
],
26+
),
3127
deps = [
3228
"//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
3329
"//src/main/java/com/google/devtools/build/lib/analysis:config/execution_transition_factory",
@@ -67,23 +63,3 @@ java_library(
6763
"//third_party:jsr305",
6864
],
6965
)
70-
71-
gen_workspace_stanza(
72-
name = "workspace_with_java_toolchains",
73-
out = "jdk.WORKSPACE",
74-
repo_clause = """
75-
name = "{repo}",
76-
sha256 = "{sha256}",
77-
strip_prefix = {strip_prefix},
78-
urls = {urls},
79-
""",
80-
repos = [
81-
"bazel_skylib",
82-
"rules_cc",
83-
"rules_java",
84-
"rules_proto",
85-
"rules_python",
86-
],
87-
template = "jdk.WORKSPACE.tmpl",
88-
visibility = ["//:__pkg__"],
89-
)

src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE.tmpl

Lines changed: 0 additions & 45 deletions
This file was deleted.

src/main/java/com/google/devtools/build/lib/bazel/rules/java/rules_java_builtin.WORKSPACE

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/main/java/com/google/devtools/build/lib/bazel/rules/tools.WORKSPACE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
local_repository(
22
name = "bazel_tools",
33
path = __embedded_dir__ + "/embedded_tools",
4-
repo_mapping = {"@rules_java" : "@rules_java_builtin"}
54
)
65

76
bind(

src/package-bazel.sh

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ EMBEDDED_TOOLS=$1; shift
2525
DEPLOY_JAR=$1; shift
2626
INSTALL_BASE_KEY=$1; shift
2727
PLATFORMS_ARCHIVE=$1; shift
28-
RULES_JAVA_ARCHIVE=$1; shift
2928

3029
if [[ "$OUT" == *jdk_allmodules.zip ]]; then
3130
DEV_BUILD=1
@@ -79,18 +78,6 @@ fi
7978
# "platforms" is a well-known module, so no need to tamper with anything here.
8079
)
8180

82-
(
83-
cd $PACKAGE_DIR
84-
tar -xf $WORKDIR/$RULES_JAVA_ARCHIVE -C .
85-
# Rename "rules_java~" or "rules_java+" to "rules_java".
86-
if [[ -d rules_java~ ]]; then
87-
mv rules_java~ rules_java
88-
fi
89-
if [[ -d rules_java+ ]]; then
90-
mv rules_java+ rules_java
91-
fi
92-
)
93-
9481
# Make a list of the files in the order we want them inside the final zip.
9582
(
9683
cd $PACKAGE_DIR

0 commit comments

Comments
 (0)