From 0b36ca29a6f0fa26e6f4f106027144289f1d690b Mon Sep 17 00:00:00 2001 From: Nelson Li Date: Thu, 2 May 2024 05:43:21 +0000 Subject: [PATCH 1/2] Refactor product inheritance for raven products Add an additional layer of inheritance for `aosp_raven`, `aosp_raven_64`, `aosp_raven_pkvm`, `aosp_raven_pgagnostic_64`, `aosp_raven_hwasan`, and `aosp_raven_61`. This change adds a common layer of inheritance for non-factory products (raven_generic.mk). This makes it easier to configure factory and non-factory products differently. Non-factory `raven` products now inherits from `device/google/raviole/raven_generic.mk` which inherit from `device/google/raviole/device-raven.mk`. aconfig flags: Flag: EXEMPT mechanical refactoring build flags: Flag: EXEMPT mechanical refactoring Bug: 338005353 Test: lunch aosp_raven-trunk_staging-userdebug && m lunch aosp_raven_64-trunk_staging-userdebug && m lunch aosp_raven_pkvm-trunk_staging-userdebug && m lunch aosp_raven_pgagnostic_64-trunk_staging-userdebug && m lunch aosp_raven_hwasan-trunk_staging-userdebug && m lunch aosp_raven_61-trunk_staging-userdebug && m Change-Id: Id5faed5a4be4c6480ee64654203d7f7e840c5c23 --- aosp_raven.mk | 2 +- raven_generic.mk | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 raven_generic.mk diff --git a/aosp_raven.mk b/aosp_raven.mk index 6a29283..f434886 100644 --- a/aosp_raven.mk +++ b/aosp_raven.mk @@ -15,7 +15,7 @@ # $(call inherit-product, device/google/gs101/aosp_common.mk) -$(call inherit-product, device/google/raviole/device-raven.mk) +$(call inherit-product, device/google/raviole/raven_generic.mk) PRODUCT_NAME := aosp_raven PRODUCT_NAME_FOR_ATTESTATION := raven diff --git a/raven_generic.mk b/raven_generic.mk new file mode 100644 index 0000000..abbac40 --- /dev/null +++ b/raven_generic.mk @@ -0,0 +1,17 @@ +# +# Copyright 2024 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, device/google/raviole/device-raven.mk) From 2dd9ebfb37909b82bcba0344a75a241ee537db47 Mon Sep 17 00:00:00 2001 From: Nelson Li Date: Fri, 3 May 2024 03:18:48 +0000 Subject: [PATCH 2/2] Convert slider/preloaded_nanoapps.json's .mk file to Android.bp. Since `preloaded_nanoapps.json` has different configurations for `factory` products and `non-factory` products, `soong_namespace {}` needs to be added to the converted Android.bp file to avoid misuse. Additionally, due to ag/27170565, ag/27170566, a common inheritance layer has been added to all `non-factory` products. Therefore, setting different `PRODUCT_SOONG_NAMESPACES` in the corresponding `_generic.mk` and `factory_.mk` files will allow factory products and non-factory products to use different preloaded_nanoapps.json. Bug: 338332183 Test: 1. lunch -trunk_staging-userdebug && \ m -j preloaded_nanoapps.json 2. Check ./out/target/product//.../preloaded_nanoapps.json It should be the version. 3. lunch factory_-trunk_staging-userdebug && \ m -j preloaded_nanoapps.json 4. Check ./out/target/product//.../preloaded_nanoapps.json It should be the factory version. Change-Id: I97798f0e7876ceb016a31f7da74508fe5a701915 --- factory_slider.mk | 3 +++ factory_whitefin.mk | 2 ++ slider_generic.mk | 3 +++ whitefin_generic.mk | 3 +++ 4 files changed, 11 insertions(+) diff --git a/factory_slider.mk b/factory_slider.mk index 1c51e91..1359fc6 100644 --- a/factory_slider.mk +++ b/factory_slider.mk @@ -23,3 +23,6 @@ PRODUCT_DEVICE := slider PRODUCT_MODEL := Factory build on Slider PRODUCT_BRAND := Android PRODUCT_MANUFACTURER := Google + +# preloaded_nanoapps.json +PRODUCT_SOONG_NAMESPACES += vendor/google_contexthub/devices/factory diff --git a/factory_whitefin.mk b/factory_whitefin.mk index 0dd0a4f..4d360c6 100644 --- a/factory_whitefin.mk +++ b/factory_whitefin.mk @@ -29,3 +29,5 @@ PRODUCT_MANUFACTURER := Google PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55" +# preloaded_nanoapps.json +PRODUCT_SOONG_NAMESPACES += vendor/google_contexthub/devices/factory diff --git a/slider_generic.mk b/slider_generic.mk index 52d2542..419e587 100644 --- a/slider_generic.mk +++ b/slider_generic.mk @@ -15,3 +15,6 @@ # $(call inherit-product, device/google/raviole/device-slider.mk) + +# preloaded_nanoapps.json +PRODUCT_SOONG_NAMESPACES += vendor/google_contexthub/devices/slider diff --git a/whitefin_generic.mk b/whitefin_generic.mk index a56c609..f0616c6 100644 --- a/whitefin_generic.mk +++ b/whitefin_generic.mk @@ -15,3 +15,6 @@ # $(call inherit-product, device/google/raviole/device-whitefin.mk) + +# preloaded_nanoapps.json +PRODUCT_SOONG_NAMESPACES += vendor/google_contexthub/devices/slider