Skip to content

Commit c9de3dc

Browse files
ted-xiecopybara-github
authored andcommitted
Generate Constants.java based on constants from the build graph
This will eliminate another source of build config vs tool implementation inconsistency. This change also bumps up Constants.MIN_API_LEVEL from 19 to 21. PiperOrigin-RevId: 723511855 Change-Id: Ic1d9087199131fc37fef24027db7d165b641170f
1 parent b2efded commit c9de3dc

File tree

3 files changed

+25
-22
lines changed

3 files changed

+25
-22
lines changed

src/tools/java/com/google/devtools/build/android/r8/BUILD

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# Collection of dex utilities used in the bazel android actions.
33

44
load("@rules_java//java:defs.bzl", "java_binary", "java_library")
5+
load("//rules:min_sdk_version.bzl", "min_sdk_version")
56

67
filegroup(
78
name = "srcs",
@@ -30,6 +31,7 @@ java_library(
3031
"//src/tools/java/com/google/devtools/build/android/desugar/dependencies",
3132
],
3233
deps = [
34+
":constants",
3335
"//src/tools/java/com/google/devtools/build/android:android_options_utils",
3436
"//tools/android:autovalue",
3537
"@bazel_worker_java//src/main/java/com/google/devtools/build/lib/worker:work_request_handlers",
@@ -128,3 +130,25 @@ java_binary(
128130
":r8",
129131
],
130132
)
133+
134+
java_library(
135+
name = "constants",
136+
srcs = [":Constants_java"],
137+
visibility = [":__pkg__"],
138+
)
139+
140+
genrule(
141+
name = "Constants_java",
142+
outs = ["Constants.java"],
143+
cmd = """
144+
cat > $@ << EOF
145+
package com.google.devtools.build.android.r8;
146+
/** Constants shared by desugaring and dexing. */
147+
public class Constants {
148+
public static final String MIN_API_LEVEL = "%s";
149+
private Constants() {}
150+
}
151+
EOF
152+
""" % str(min_sdk_version.DEPOT_FLOOR),
153+
visibility = [":__pkg__"],
154+
)

src/tools/java/com/google/devtools/build/android/r8/CompatDx.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public static class Options {
174174
@Parameter(
175175
names = "--min-sdk-version",
176176
description = "Minimum Android API level compatibility.")
177-
public int minApiLevel = 19; // Same as Constants.MIN_API_LEVEL.
177+
public int minApiLevel = Integer.parseInt(Constants.MIN_API_LEVEL);
178178

179179
@Parameter(names = "--input-list", description = "File listing input files.")
180180
public String inputList;

src/tools/java/com/google/devtools/build/android/r8/Constants.java

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

0 commit comments

Comments
 (0)