Move run-test compilation to soong.

Run-test compile many java files (sometimes in very specific ways).
Compile them just once in soong, instead of every time we run a test.

This makes local host tests 4x faster (21min -> 6min).
I expect similar or better improvement on LUCI.

It does not affect eng-prod tests now, but the generated output
should be reusable to make more run-tests supported in eng-prod.

Bug: 147814778
Test: test.py -r --host --target --jvm
Change-Id: If689784d2a8d901d132ed0d674a2e2be36f1cd05
diff --git a/test/Android.bp b/test/Android.bp
index f67de2a..06e55f9 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -1312,6 +1312,30 @@
     ],
 }
 
+// Install run-test data in the output directory.
+prebuilt_etc_host {
+    name: "art-run-test-host-data",
+    src: ":art-run-test-host-data-merged",
+    sub_dir: "art",
+    filename: "art-run-test-host-data.zip",
+}
+
+// Install run-test data in the output directory.
+prebuilt_etc_host {
+    name: "art-run-test-jvm-data",
+    src: ":art-run-test-jvm-data-merged",
+    sub_dir: "art",
+    filename: "art-run-test-jvm-data.zip",
+}
+
+// Install run-test data in the output directory.
+prebuilt_etc_host {
+    name: "art-run-test-target-data",
+    src: ":art-run-test-target-data-merged",
+    sub_dir: "art",
+    filename: "art-run-test-target-data.zip",
+}
+
 filegroup {
     name: "art-gtest-jars",
     srcs: [
@@ -1787,3 +1811,25 @@
     srcs: ["Dex2oatVdexPublicSdkDex/*.smali"],
     out: ["art-gtest-jars-Dex2oatVdexPublicSdkDex.dex"],
 }
+
+genrule_defaults {
+    name: "art-run-test-data-defaults",
+    tool_files: [
+        "run-test-build.py",
+        "knownfailures.json",
+        "etc/default-build",
+        "etc/default-run",
+        "etc/default-check",
+        ":art-run-test-bootclasspath",
+    ],
+    tools: [
+        "d8",
+        "hiddenapi",
+        "jasmin",
+        "smali",
+    ],
+}
+
+build = [
+    "Android.run-test.bp",
+]