| load("@rules_java//java:defs.bzl", "java_library", "java_test") | |
| package( | |
| default_testonly = 1, | |
| default_visibility = ["//src:__subpackages__"], | |
| ) | |
| filegroup( | |
| name = "srcs", | |
| testonly = 0, | |
| srcs = glob(["**"]), | |
| visibility = ["//src/test/java/com/google/devtools/build/android:__pkg__"], | |
| ) | |
| # Description: | |
| # Tests for the blaze dx bridge code. | |
| java_library( | |
| name = "tests", | |
| srcs = [ | |
| "AllTests.java", | |
| ] + select({ | |
| "//external:has_androidsdk": glob( | |
| ["*Test.java"], | |
| exclude = [ | |
| "NoAndroidSdkStubTest.java", | |
| "AllTests.java", | |
| ], | |
| ), | |
| "//conditions:default": ["NoAndroidSdkStubTest.java"], | |
| }), | |
| javacopts = ["-source 7 -target 7"], # we run this through dx for testing, so no lambdas! | |
| resources = ["testresource.txt"], | |
| deps = [ | |
| "//src/test/java/com/google/devtools/build/lib/testutil", | |
| "//src/test/java/com/google/devtools/build/lib/testutil:TestSuite", | |
| "//src/tools/android/java/com/google/devtools/build/android/dexer", | |
| "//third_party:guava", | |
| "//third_party:junit4", | |
| "//third_party:mockito", | |
| "//third_party:truth", | |
| "@bazel_tools//tools/java/runfiles", | |
| ] + select({ | |
| "//external:has_androidsdk": ["//external:android/dx_jar_import"], | |
| "//conditions:default": [], | |
| }), | |
| ) | |
| java_library( | |
| name = "testdata", | |
| srcs = glob(["testdata/**/*.java"]), | |
| ) | |
| java_test( | |
| name = "AllTests", | |
| size = "small", | |
| data = [ | |
| "test_main_dex_list.txt", | |
| ":mixed_testinput", | |
| ":testdata", | |
| ":tests", | |
| ], | |
| jvm_flags = [ | |
| "-Dtestmaindexlist=io_bazel/$(location :test_main_dex_list.txt)", | |
| "-Dtestinputjar=io_bazel/$(location :tests)", | |
| "-Dtestinputjar2=io_bazel/$(location :testdata)", | |
| "-Dmixedinputjar=io_bazel/$(location :mixed_testinput)", | |
| ], | |
| runtime_deps = [ | |
| ":tests", | |
| ], | |
| ) | |
| genrule( | |
| name = "mixed_srcjar_gen", | |
| outs = ["mixed.srcjar"], | |
| cmd = """set -eu | |
| readonly tmpdir="$$(mktemp -d)" | |
| echo "package j$$.test; public class Foo {}" > "$${tmpdir}/Foo.java" | |
| echo "package zzz; public class Bar {}" > "$${tmpdir}/Bar.java" | |
| echo "package aaa; public class Baz {}" > "$${tmpdir}/Baz.java" | |
| $(location //tools/zip:zipper) c $@ \\ | |
| "j$$/test/Foo.java=$${tmpdir}/Foo.java" \\ | |
| "zzz/Bar.java=$${tmpdir}/Bar.java" \\ | |
| "aaa/Baz.java=$${tmpdir}/Baz.java" | |
| rm -rf "$${tmpdir}" """, | |
| tools = ["//tools/zip:zipper"], | |
| ) | |
| java_library( | |
| name = "mixed_testinput", | |
| srcs = [":mixed_srcjar_gen"], | |
| ) |