build and test KeepScanner tool open-source
PiperOrigin-RevId: 191159996
diff --git a/src/test/java/com/google/devtools/build/android/desugar/BUILD b/src/test/java/com/google/devtools/build/android/desugar/BUILD
index da56672..daae692 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/BUILD
+++ b/src/test/java/com/google/devtools/build/android/desugar/BUILD
@@ -15,6 +15,7 @@
"//src/test/java/com/google/devtools/build/android/desugar/dependencies:srcs",
"//src/test/java/com/google/devtools/build/android/desugar/io:srcs",
"//src/test/java/com/google/devtools/build/android/desugar/runtime:srcs",
+ "//src/test/java/com/google/devtools/build/android/desugar/scan:srcs",
],
visibility = ["//src/test/java/com/google/devtools/build/android:__pkg__"],
)
diff --git a/src/test/java/com/google/devtools/build/android/desugar/scan/BUILD b/src/test/java/com/google/devtools/build/android/desugar/scan/BUILD
new file mode 100644
index 0000000..eafdc80
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/android/desugar/scan/BUILD
@@ -0,0 +1,34 @@
+# Description:
+# Tests for the Java 8 desugaring tool for Android.
+package(
+ default_testonly = 1,
+)
+
+licenses(["notice"]) # Apache 2.0
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["**"]),
+ visibility = ["//src/test/java/com/google/devtools/build/android/desugar:__pkg__"],
+)
+
+sh_test(
+ name = "test_keep_scanner",
+ srcs = ["test_keep_scanner.sh"],
+ args = [
+ "$(location //src/tools/android/java/com/google/devtools/build/android/desugar/scan:KeepScanner)",
+ "$(location :testdata)",
+ "$(location testdata_golden.txt)",
+ ],
+ data = [
+ "testdata_golden.txt",
+ ":testdata",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/scan:KeepScanner",
+ ],
+)
+
+java_library(
+ name = "testdata",
+ srcs = glob(["testdata/**/*.java"]),
+)
diff --git a/src/tools/android/java/com/google/devtools/build/android/desugar/BUILD b/src/tools/android/java/com/google/devtools/build/android/desugar/BUILD
index 55e3f8b..ad9c75c 100644
--- a/src/tools/android/java/com/google/devtools/build/android/desugar/BUILD
+++ b/src/tools/android/java/com/google/devtools/build/android/desugar/BUILD
@@ -61,6 +61,7 @@
"//src/tools/android/java/com/google/devtools/build/android/desugar/dependencies:srcs",
"//src/tools/android/java/com/google/devtools/build/android/desugar/io:srcs",
"//src/tools/android/java/com/google/devtools/build/android/desugar/runtime:srcs",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/scan:srcs",
],
visibility = ["//src/tools/android/java/com/google/devtools/build/android:__pkg__"],
)
diff --git a/src/tools/android/java/com/google/devtools/build/android/desugar/io/BUILD b/src/tools/android/java/com/google/devtools/build/android/desugar/io/BUILD
index 7b84a94..9a4c62e 100644
--- a/src/tools/android/java/com/google/devtools/build/android/desugar/io/BUILD
+++ b/src/tools/android/java/com/google/devtools/build/android/desugar/io/BUILD
@@ -6,7 +6,7 @@
srcs = glob(["*.java"]),
visibility = [
"//src/test/java/com/google/devtools/build/android/desugar:__subpackages__",
- "//src/tools/android/java/com/google/devtools/build/android/desugar:__pkg__",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar:__subpackages__",
],
deps = [
"//third_party:asm",
diff --git a/src/tools/android/java/com/google/devtools/build/android/desugar/scan/BUILD b/src/tools/android/java/com/google/devtools/build/android/desugar/scan/BUILD
new file mode 100644
index 0000000..3f0bf3c
--- /dev/null
+++ b/src/tools/android/java/com/google/devtools/build/android/desugar/scan/BUILD
@@ -0,0 +1,35 @@
+# Description:
+# Tools for scanning bytecode for references to other classes and emitting Proguard-style keeps.
+
+java_library(
+ name = "scan",
+ srcs = glob(["*.java"]),
+ visibility = [
+ "//src/tools/android/java/com/google/devtools/build/android:__pkg__",
+ ],
+ deps = [
+ "//src/main/java/com/google/devtools/common/options",
+ "//src/tools/android/java/com/google/devtools/build/android:android_builder_lib",
+ "//src/tools/android/java/com/google/devtools/build/android/desugar/io",
+ "//third_party:asm",
+ "//third_party:asm-commons",
+ "//third_party:auto_value",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
+
+java_binary(
+ name = "KeepScanner",
+ main_class = "com.google.devtools.build.android.desugar.scan.KeepScanner",
+ visibility = [
+ "//src/test/java/com/google/devtools/build/android/desugar/scan:__pkg__",
+ ],
+ runtime_deps = [":scan"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["**"]),
+ visibility = ["//src/tools/android/java/com/google/devtools/build/android/desugar:__pkg__"],
+)