This reverts commit 3f0eba2bdc.
Reason for revert: Causes build flag changes to be ignored sometimes. Better fix is in progress.
Merged-In: Ic85be1da3765656cef8da4ec03d0b1ca7d5d625e
Change-Id: I2c06770b2ff86c69a5de89962ab9bf48bedfe6fe
I changed the installs file to be after Android.mk files in
aosp/3080639, in order to minimize the information given to Android.mk
files. But it appears that some exotic vendor builds actually rely
on this information (when they shouldn't).
Bug: 340254841
Test: diff'd out/target/product/<vendor>/installed-files-vendor.txt before/after this cl, and with a revert of aosp/3080639
Change-Id: I00a06fe984397e4dba57352850f5e2484d17f657
It's very simple logic, and running get_build_var to do it is slow
and has side effects (like needing a lunch target, creating an out
directory, etc.)
Test: source envsetup.sh
Change-Id: If260efd21713874fba7c15dbc0fd23442d776f8a
Merged-In: If260efd21713874fba7c15dbc0fd23442d776f8a
Sometimes android_app_bundles exist in the tree but are not added
to PRODUCT_PACKAGES, in that case, they shouldn't be added to
file_list.txt.
We can tell if they're in PRODUCT_PACKAGES by if their primary file
is present in the list of files to install.
Bug: 337869220
Test: m out/target/product/emu64x/obj/PACKAGING/system_intermediates/file_list.txt and checking it for the extra NetworkStackGoogle apks, with a local NetworkStackGoogle android_app_set added into the tree
Change-Id: I22bcd9e972e1c9d5c7ddca788b9c6edc72f0a9dd
The partitions will not include anything that's not in file_list.txt.
Zip files in EXTRA_INSTALL_ZIPS are extracted into the staging
directories when other files are installed. Their contents need to
be added to the file_list.txt so that their extracted files are not
ignored.
EXTRA_INSTALL_ZIPS is only used by android_app_set, which is only used
by partners, so this bug went unnoticed for a long time.
Bug: 337869220
Test: m droid and checked the contents of file_list.txt when adding an android_app_set locally
Change-Id: Ifa2f7168dbeedbb2308a481c0c78f28e874b0aef
core/sysprop_config.mk is added to separate code setting
ADDITIONAL_*_PROPERTIES variables. This should be a no-op for now but it
will help migrate build.prop generation to Soong.
Bug: 322090587
Test: compare build.prop files before and after
Change-Id: I57a1ae899865027bcadddc2071fcd2afcf2703bc
With trunk stable, we no longer have multiple development branches, and
this flag is no longer in use.
Test: N/A (documentation change)
Bug: 308188056
Change-Id: Icdaddde9d107de9a453106cae35645b7e6cc21e9
RELEASE_APEX_CONTRIBUTIONS_* flags per module will be used to toggle
between sources and prebuilts of a mainline module in ap3a and above in
internal and partner builds.
Test: git_aosp-main-with-phones:aosp_cf_arm64_only_phone-next-userdebug
https://android-build.corp.google.com/builds/abtd/run/L61500030003577619
Test: lunch gsi_partner_arm-ap31-userdebug in v-aml-prebuilt-dev
Test: m out/soong/prebuil_info.json # identical before and after
Bug: 308188056
Change-Id: I308f071763297eb95ca5c8fb0191c8bb794789f7
This relands https://r.android.com/3063301 alongside a Soong CL that
updates the bootclasspath_fragment content validation code.
Bug: 328578801
Test: m nothing --no-skip-soong-tests
Change-Id: Ifa894d4e3270829ff69669e1a914cdea8d7fb03f
RELEASE_APEX_CONTRIBUTIONS_ART provides a similar functionality, and
also allows selection of a specific art prebuilt if multiple art
prebuilts exists in the tree
`art_module.source_build` was also previously used to conditionally
disable the source soong modules of art/, but this conditional disabling
has been removed with r.android.com/3045792
Bug: 308188056
Test: presubmits
Test: lunch cf_x86_64_phone-trunk_staging-userdebug; mmma art
Test: git_master-art:art-host-x86_64,art-target-arm64,mainline_modules
https://android-build.corp.google.com/builds/abtd/run/L30200030003163172
Test: git_master-art-host:art-build,art-gtest,art-test,art-preopt
https://android-build.corp.google.com/builds/abtd/run/L07600030003164399
Change-Id: Idbb129d2ec304d5320754cd61d40e10e5c7d5414
If RELEASE_BUILD_FLAGS_IN_PROTOBUF is False, then the results from
out/release-config are ignored and we do the old processing.
The following additional logic all goes away once the migration to protobuf
is finished.
- If we found .textproto files that don't have corresponding .mk files,
we require protobuf.
- If we found .mk files that don't have corresponding .textproto files,
we require legacy (make) processing.
- If PRODUCT_RELEASE_CONFIG_MAPS specifies .textproto files, we require
protobuf.
In order to further isolate migration, the choice can be determined on a
release-config by release-config basis. in each release config
directory, we look for:
- `build_config/DEFAULT=proto`
- `build_config/DEFAULT=make`
- `build_config/${TARGET_RELEASE}=proto`
- `build_config/${TARGET_RELEASE}=make`
The last such file found determines which code path is used.
Bug: 328495189
Test: manual, TH
Change-Id: I1d84db76b157082fc7db1b3cb7c9afe8cdf46cbf
LOCAL_SOONG_LOGTAGS_FILES is similar to LOCAL_LOGTAGS_FILES but it uses
full paths rather than relative paths, to correctly support Soong's
`android:"path"` which may produce paths outside module directories.
Bug: 336189540
Test: m out/soong/.intermediates/all-event-log-tags.txt
Test: m out/target/common/obj/all-event-log-tags.txt
Change-Id: I129b96f3e06036ded76d2657e25e895f8c946cfb
kotlin-stdlib is included transitively as a library jar by way of
androidx.annotations, which means we cannot ensure associated classes
are discarded by R8. Disable the related `-checkdiscard` proguard rule
until that inclusion is resolved, avoiding spurious warnings in build
output.
Bug: 302383328
Test: m
Flag: NA
Change-Id: I7514e6841735e95e1a16d42d6a6e134103ecb108
This behavior of "stealing" values from parent makefiles is needed to
match make. We already had similar behavior for list variables via
the __move_items function, but were missing it for single value
variables.
Test: ./out/rbcrun -mode rbc ./build/make/tests/run.rbc
Change-Id: Ib320b9b1cce0224184f585c7a391be1b5353b440
`RELEASE_APEX_BOOT_JARS_PREBUILT_EXCLUDED_LIST` exists to flag apex boot
jars that may exist in source builds, but not in a google apex prebuilt
(a prebuilt might not have been generated yet). This is a build flag, and
exists in the <rel>.scl
It is feasible that certain products in a specific release config
never use apex prebuilts. Therefore, we need to selectively
apply `RELEASE_APEX_BOOT_JARS_PREBUILT_EXCLUDED_LIST` to products that
use apex prebuilts. At ToT, this is done via looking at
module_build_from_source_value of ANDROID soong config namespace, and
<apex>_module soong config namespace for every optional module.
<apex>_module soong config namespace was removed in
https://r.android.com/3056785. In preparation for removing
module_build_from_source, use
`PRODUCT_BUILD_IGNORE_APEX_CONTRIBUTION_CONTENTS` to determine if
prebuilts are being used.
Test: in internal, lunch barbet-ap2a-userdebug && get_build_var APEX_BOOT_JARS_EXCLUDED
com.android.mediaprovider:framework-pdf com.android.mediaprovider:framework-pdf-v
(this is the only release config where there is a delta between prebuilt
and source apex boot jars)
Test: in internal, lunch barbet-trunk_staging && get_build_var
APEX_BOOT_JARS_EXCLUDED
"" (empty string)
Change-Id: I981ad3a7767f3602a844c8d53eadfd1f2e5db420
Having this in make has the following advantages
- allows this to be used in other places in make that are sensitive to
prebuilt selection, e.g. apex boot jars that are present in source but
not in prebuilt apexes
- collocates the various prebuilt special edge cases
Test: presubmits
Test: in internal, lunch cf_x86_64_phone-next-userdebug
Test: EMMA_INSTRUMENT_FRAMEWORK=true get_build_var PRODUCT_BUILD_IGNORE_APEX_CONTRIBUTION_CONTENTS
true
Bug: 308188056
Change-Id: I3e81b348e9f1e72e6d120a881d37356c413b005b
If BOARD_16K_OTA_MOVE_VENDOR := true is set BoardConfig,
there is still dependency of system img on boot otas as it is system ota
paths are being added in default installed modules. Add vendor paths
whenever move vendor is set.
Bug: 335022191
Test: m
Change-Id: I19b41e5b9ade50f3cabf43995af36e66e09c6acf