Snap for 7110675 from 39c9c511cd7f9b9027497c0ba407ec11ee695557 to sdk-release

Change-Id: Iec649bab491a90c7a2e41a8d839e50396faf1024
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index f2dfec8..e741375 100644
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -24,3 +24,12 @@
 # Flatten APEX packages to make them simpler to use in
 # ART testing/benchmarking environments.
 TARGET_FLATTEN_APEX := true
+
+# Enable ART Module top level apex/sdk/module_export modules. When they are
+# enabled the ART Module prebuilts (packages/modules/ArtPrebuilt and
+# prebuilts/module_sdk/art) cannot be present with prefer:true in the build
+# tree.
+# TODO(b/174997203): Clean this up when there is a better way to switch between
+# prebuilts and sources.
+$(call add_soong_config_namespace,art_module)
+$(call add_soong_config_var_value,art_module,source_build,true)
diff --git a/art_module/AndroidProducts.mk b/art_module/AndroidProducts.mk
new file mode 100644
index 0000000..cb219cb
--- /dev/null
+++ b/art_module/AndroidProducts.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+PRODUCT_MAKEFILES := \
+    $(LOCAL_DIR)/art_module_arm.mk \
+    $(LOCAL_DIR)/art_module_arm64.mk \
+    $(LOCAL_DIR)/art_module_x86.mk \
+    $(LOCAL_DIR)/art_module_x86_64.mk \
diff --git a/art_module/art_module.mk b/art_module/art_module.mk
new file mode 100644
index 0000000..d8074ed
--- /dev/null
+++ b/art_module/art_module.mk
@@ -0,0 +1,24 @@
+#
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Enable ART Module top level apex/sdk/module_export modules. When they are
+# enabled the ART Module prebuilts (packages/modules/ArtPrebuilt and
+# prebuilts/module_sdk/art) cannot be present with prefer:true in the build
+# tree.
+# TODO(b/174997203): Clean up the art_module_* products when there is a better
+# way to switch between prebuilts and sources.
+$(call add_soong_config_namespace,art_module)
+$(call add_soong_config_var_value,art_module,source_build,true)
diff --git a/art_module/art_module_arm.mk b/art_module/art_module_arm.mk
new file mode 100644
index 0000000..9d3929a
--- /dev/null
+++ b/art_module/art_module_arm.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm.mk)
+$(call inherit-product, device/generic/art/art_module/art_module.mk)
+
+PRODUCT_NAME := art_module_arm
+PRODUCT_DEVICE := generic
diff --git a/art_module/art_module_arm64.mk b/art_module/art_module_arm64.mk
new file mode 100644
index 0000000..b775600
--- /dev/null
+++ b/art_module/art_module_arm64.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm64.mk)
+$(call inherit-product, device/generic/art/art_module/art_module.mk)
+
+PRODUCT_NAME := art_module_arm64
+PRODUCT_DEVICE := generic_arm64
diff --git a/art_module/art_module_x86.mk b/art_module/art_module_x86.mk
new file mode 100644
index 0000000..7272ad4
--- /dev/null
+++ b/art_module/art_module_x86.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86.mk)
+$(call inherit-product, device/generic/art/art_module/art_module.mk)
+
+PRODUCT_NAME := art_module_x86
+PRODUCT_DEVICE := generic_x86
diff --git a/art_module/art_module_x86_64.mk b/art_module/art_module_x86_64.mk
new file mode 100644
index 0000000..7a16ff2
--- /dev/null
+++ b/art_module/art_module_x86_64.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86_64.mk)
+$(call inherit-product, device/generic/art/art_module/art_module.mk)
+
+PRODUCT_NAME := art_module_x86_64
+PRODUCT_DEVICE := generic_x86_64