Disable the new run test modules when not building ART from sources.
Test: m droid SOONG_CONFIG_art_module_source_build=false
in a platform tree
Test: art/build/build-art-module.sh
on master-art
Test: lunch armv8-eng && art/tools/buildbot-build.sh
on master-art
Bug: 172480615
Change-Id: Ic342e427d4911e2afce7d5bdf032cc9fdb5a3eb0
diff --git a/build/Android.bp b/build/Android.bp
index 34f11fe..ad27d42 100644
--- a/build/Android.bp
+++ b/build/Android.bp
@@ -69,6 +69,8 @@
"art_module_art_global_defaults",
"art_module_cc_defaults",
"art_module_java_defaults",
+ "art_module_genrule_defaults",
+ "art_module_prebuilt_defaults",
],
}
@@ -339,58 +341,6 @@
min_sdk_version: "S",
}
-// Use this to enable a cc_* module only when building ART from sources.
-// TODO(b/172480617): Clean up when sources are gone from the platform tree and
-// we no longer need to support sources present when prebuilts are used.
-art_module_cc_defaults {
- name: "art_module_source_build_defaults",
- defaults_visibility: [
- "//art:__subpackages__",
- "//libcore:__subpackages__",
- "//libnativehelper:__subpackages__",
- ],
-
- enabled: false,
- soong_config_variables: {
- source_build: {
- enabled: true,
- },
- },
- target: {
- windows: {
- // Windows is disabled by default, but if we set enabled:true
- // globally above we need to disable it explicitly.
- enabled: false,
- },
- },
-}
-
-// Use this to enable a java_* module only when building ART from sources.
-// TODO(b/172480617): Clean up when sources are gone from the platform tree and
-// we no longer need to support sources present when prebuilts are used.
-art_module_java_defaults {
- name: "art_module_source_build_java_defaults",
- defaults_visibility: [
- "//art:__subpackages__",
- "//libcore:__subpackages__",
- "//libnativehelper:__subpackages__",
- ],
-
- enabled: false,
- soong_config_variables: {
- source_build: {
- enabled: true,
- },
- },
- target: {
- windows: {
- // Windows is disabled by default, but if we set enabled:true
- // globally above we need to disable it explicitly.
- enabled: false,
- },
- },
-}
-
// A version of conscrypt only for enabling the "-hostdex" version to test ART on host.
java_library {
// We need our own name to not clash with the conscrypt library.
@@ -434,3 +384,86 @@
},
},
}
+
+// Defaults for different module types to enable them only when building ART
+// from sources. TODO(b/172480617): Clean up when sources are gone from the
+// platform tree and we no longer need to support sources present when prebuilts
+// are used.
+art_module_cc_defaults {
+ name: "art_module_source_build_defaults",
+ defaults_visibility: [
+ "//art:__subpackages__",
+ "//libcore:__subpackages__",
+ "//libnativehelper:__subpackages__",
+ ],
+ enabled: false,
+ soong_config_variables: {
+ source_build: {
+ enabled: true,
+ },
+ },
+ target: {
+ windows: {
+ // Windows is disabled by default, but if we set enabled:true
+ // globally above we need to disable it explicitly.
+ enabled: false,
+ },
+ },
+}
+art_module_java_defaults {
+ name: "art_module_source_build_java_defaults",
+ defaults_visibility: [
+ "//art:__subpackages__",
+ "//libcore:__subpackages__",
+ "//libnativehelper:__subpackages__",
+ ],
+ enabled: false,
+ soong_config_variables: {
+ source_build: {
+ enabled: true,
+ },
+ },
+ target: {
+ windows: {
+ enabled: false,
+ },
+ },
+}
+art_module_genrule_defaults {
+ name: "art_module_source_build_genrule_defaults",
+ defaults_visibility: [
+ "//art:__subpackages__",
+ "//libcore:__subpackages__",
+ "//libnativehelper:__subpackages__",
+ ],
+ enabled: false,
+ soong_config_variables: {
+ source_build: {
+ enabled: true,
+ },
+ },
+ target: {
+ windows: {
+ enabled: false,
+ },
+ },
+}
+art_module_prebuilt_defaults {
+ name: "art_module_source_build_prebuilt_defaults",
+ defaults_visibility: [
+ "//art:__subpackages__",
+ "//libcore:__subpackages__",
+ "//libnativehelper:__subpackages__",
+ ],
+ enabled: false,
+ soong_config_variables: {
+ source_build: {
+ enabled: true,
+ },
+ },
+ target: {
+ windows: {
+ enabled: false,
+ },
+ },
+}
diff --git a/build/SoongConfig.bp b/build/SoongConfig.bp
index 3e2d8fc..657f136 100644
--- a/build/SoongConfig.bp
+++ b/build/SoongConfig.bp
@@ -54,6 +54,14 @@
}
soong_config_module_type {
+ name: "art_module_java_defaults",
+ module_type: "java_defaults",
+ config_namespace: "art_module",
+ bool_variables: ["source_build"],
+ properties: ["enabled"],
+}
+
+soong_config_module_type {
name: "art_module_genrule_defaults",
module_type: "genrule_defaults",
config_namespace: "art_module",
@@ -62,8 +70,8 @@
}
soong_config_module_type {
- name: "art_module_java_defaults",
- module_type: "java_defaults",
+ name: "art_module_prebuilt_defaults",
+ module_type: "prebuilt_defaults",
config_namespace: "art_module",
bool_variables: ["source_build"],
properties: ["enabled"],
diff --git a/build/apex/Android.bp b/build/apex/Android.bp
index e8cb4b8..de18cdd 100644
--- a/build/apex/Android.bp
+++ b/build/apex/Android.bp
@@ -17,7 +17,6 @@
module_types: [
"art_module_apex_defaults",
"art_module_cc_defaults",
- "art_module_genrule_defaults",
],
}
@@ -478,17 +477,9 @@
// The non-flattened APEXes are always checked, as they are always generated
// (even when APEX flattening is enabled).
-art_module_genrule_defaults {
+genrule_defaults {
name: "art-check-apex-gen-defaults",
-
- // Enable if SOONG_CONFIG_art_module_source_build is true.
- enabled: false,
- soong_config_variables: {
- source_build: {
- enabled: true,
- },
- },
-
+ defaults: ["art_module_source_build_genrule_defaults"],
tools: [
"art-apex-tester",
"deapexer",
diff --git a/test/Android.bp b/test/Android.bp
index 06e55f9..d618477 100644
--- a/test/Android.bp
+++ b/test/Android.bp
@@ -1315,6 +1315,7 @@
// Install run-test data in the output directory.
prebuilt_etc_host {
name: "art-run-test-host-data",
+ defaults: ["art_module_source_build_prebuilt_defaults"],
src: ":art-run-test-host-data-merged",
sub_dir: "art",
filename: "art-run-test-host-data.zip",
@@ -1323,6 +1324,7 @@
// Install run-test data in the output directory.
prebuilt_etc_host {
name: "art-run-test-jvm-data",
+ defaults: ["art_module_source_build_prebuilt_defaults"],
src: ":art-run-test-jvm-data-merged",
sub_dir: "art",
filename: "art-run-test-jvm-data.zip",
@@ -1331,6 +1333,7 @@
// Install run-test data in the output directory.
prebuilt_etc_host {
name: "art-run-test-target-data",
+ defaults: ["art_module_source_build_prebuilt_defaults"],
src: ":art-run-test-target-data-merged",
sub_dir: "art",
filename: "art-run-test-target-data.zip",
@@ -1814,6 +1817,11 @@
genrule_defaults {
name: "art-run-test-data-defaults",
+ defaults: [
+ // Enable only in source builds, where com.android.art.testing is
+ // available.
+ "art_module_source_build_genrule_defaults",
+ ],
tool_files: [
"run-test-build.py",
"knownfailures.json",
diff --git a/test/Android.run-test.bp b/test/Android.run-test.bp
index 493d3b5..27666f8 100644
--- a/test/Android.run-test.bp
+++ b/test/Android.run-test.bp
@@ -903,6 +903,7 @@
java_genrule {
name: "art-run-test-host-data-merged",
+ defaults: ["art-run-test-data-defaults"],
out: ["art-run-test-host-data-merged.zip"],
srcs: [
":art-run-test-host-data-shard00",
@@ -1912,6 +1913,7 @@
java_genrule {
name: "art-run-test-target-data-merged",
+ defaults: ["art-run-test-data-defaults"],
out: ["art-run-test-target-data-merged.zip"],
srcs: [
":art-run-test-target-data-shard00",
@@ -2921,6 +2923,7 @@
java_genrule {
name: "art-run-test-jvm-data-merged",
+ defaults: ["art-run-test-data-defaults"],
out: ["art-run-test-jvm-data-merged.zip"],
srcs: [
":art-run-test-jvm-data-shard00",
diff --git a/test/Android.run-test.bp.py b/test/Android.run-test.bp.py
index 1aa57df..a051a1d 100755
--- a/test/Android.run-test.bp.py
+++ b/test/Android.run-test.bp.py
@@ -47,6 +47,7 @@
f.write(textwrap.dedent("""
java_genrule {{
name: "art-run-test-{mode}-data-merged",
+ defaults: ["art-run-test-data-defaults"],
out: ["art-run-test-{mode}-data-merged.zip"],
srcs: [
{srcs}