This allows one to build *__auto_generated_rro_(product|vendor).apk
under $(PRODUCT_OUT)/(product|vendor)/overlay/ without having to
build the full partition image or do full android build.
Change-Id: I0c215ed7968e0cba348d344e00a014470ac37b6e
Previously, to use `appcompat.sh`, we hardcoded absolute paths for many
dependencies in the `build/core/definitions.mk` file, and the same was
done in `art/tools/veridex/Android.mk`.
This change converts `appcompat.sh` to `appcompat.py` and packages the
necessary files into a `Python binary`. This not only resolves the
issue of hardcoding absolute dependency paths but also allows users to
use the tool directly without having to specify dependency paths,
making it more convenient.
Bug: 343105310
Test: 1. m appcompat
2. m CarrierConfig (any module with appcompat)
3. appcompat --dex-file=<apk path>
Change-Id: I6215f42241f58ba7fc6f4ae5846c4b71d9c1be4f
This reverts commit f2685e5ccf.
Original commit broke building sdk/ndk in post submit.
Fixed with small patch in build/soong
Test: m general-tests
Test: IST_DIR=/usr/local/google/dist/bug TARGET_RELEASE=trunk_staging TARGET_BUILD_VARIANT=userdebug UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true packages/modules/common/build/mainline_modules_sdks.sh
Change-Id: I47e39913878219adec6471a474e3c238c4bdeed1
Revert submission 3060229-ron-tmc-symlinks
Reason for revert: Droidmonitor created revert due to b/344045516
Reverted changes: /q/submissionid:3060229-ron-tmc-symlinks
Change-Id: Ic471df68c3ebdeb368eac9549446ee50b17d7c2f
The module `test_module_config` will be installing symlinks in the
testcases directory pointing back to the `base` test for .apk files.
This saves a gigs of space on disk and in suite zip files.
However, the .mk files were using LOCAL_COMPATIBILITY_SUPPORT_FILE to
do two things:
1) copy the file from intermediates to testcases
2) package the testcases files in zips.
Because the test_module_config rule is taking care of 1), we need a new
variable to do just 2)
Test: m general-tests device-tests
Change-Id: Icdad4401cde27d8edd5e13e486b96c62817a4bbb
LOCAL_USE_VNDK property refers if the module uses VNDK, and this
property is being used to check if the module is installed in vendor or
product. However, the term no longer makes sense with VNDK deprecation,
so it should be renamed. Similar to change in aosp/2897612, rename
LOCAL_USE_VNDK as LOCAL_IN_VENDOR or LOCAL_IN_PRODUCT.
Bug: 316829758
Test: AOSP CF build succeeded
Change-Id: I2da2e2027ccabbcfbb444abc6828addeb3b22e13
LOCAL_USE_VNDK property refers if the module uses VNDK, and this
property is being used to check if the module is installed in vendor or
product. However, the term no longer makes sense with VNDK deprecation,
so it should be renamed. Similar to change in aosp/2897612, rename
LOCAL_USE_VNDK as LOCAL_IN_VENDOR or LOCAL_IN_PRODUCT.
Bug: 316829758
Test: AOSP CF build succeeded
Change-Id: Icfd1707953eba2e29044468ab6728b39d7998048
Revert submission 1433935-symlink_outputs
Reason for revert: symlink_outputs was added so bazel could run ninja files, but we abanoned that approach in roboleaf, and then roboleaf was cancelled entirely. Remove this feature so we're more compatible with upstream ninja / n2.
Reverted changes: /q/submissionid:1433935-symlink_outputs
Change-Id: I5a779695689148ed32037f7f82887c458a3587cd
Allow Soong modules to generate their own module-info.json entries
by merging Soong's module-info.json file into the one generated in
Make.
Skip collecting unnecessary ALL_MODULES.$(my_register_name).*
that are only used for module-info.json if the module was already
handled by Soong via the LOCAL_SOONG_MODULE_INFO_JSON property.
Bug: 309006256
Test: Compare module-info.json
Change-Id: I2c9db3c7c7bae7bd6cb889d7ebc2e383c278c82d
Soong is now handling installing init.rc and vintf fragment files,
don't install them in Make for Soong modules.
Bug: 309006256
Test: Compare installed files
Change-Id: Ied43c207c6ae158d3f41d81c7fe16688331bf13c
LOCAL_JETIFIER_ENABLED, LOCAL_NO_PIC, LOCAL_PREBUILT_STRIP_COMMENTS,
LOCAL_RMTYPEDEFS, and *.vts sources are never used. Remove them
and the code related to them.
Test: no change to out/build-aosp_cf_x86_64_phone.ninja
Change-Id: I2ca9e674602057cc163b8bc28b0c57a0b7cc4361
Only LOCAL_MODULE_TAGS := tests is used is meaningful in the current
implementation. "optional" and "samples" both exist in the tree, but
are meaningless. "gnu", "user", "eng" and "debug" are no longer used,
and are already forbidden by the unusual tags check. The info from the
"module" target is now available in module-info.json. Delete all the
irrelevant code.
Test: no change to out/build-aosp_cf_x86_64_phone.ninja
Change-Id: I04e8178a362e382a1a4bd997c1b4c3a480db7714
Since there's only one, and it appears early, we can stop when we find
it rather than trawl through megabytes of localized strings we don't
need to see.
Bug: https://github.com/onetrueawk/awk/issues/199#issuecomment-1756885708
Test: treehugger
Change-Id: If4d7c63da7df76c23fca417a4b727189f79e3ce6
Previously, when building the proguard dict zip, we got a lot of
warnings like these, and the files were always rebuilt:
```
[ 39% 9/23] Copy symbols with mapping: out/target/common/obj/APPS/HTMLViewer_intermediates/proguard_dictionary
ninja: Missing `restat`? An output file is older than the most recent input:
output: out/target/common/obj/APPS/HTMLViewer_intermediates/proguard_dictionary.textproto
input: out/soong/.intermediates/packages/apps/HTMLViewer/HTMLViewer/android_common/e10894d3da5db41239526c9048962355/proguard_dictionary
```
For some reason kati wasn't adding `restat=true` on these ninja rules.
Adding $(4) to KATI_RESTAT fixes it for some reason.
Test: m dist repeatedly doesn't give the restat warnings
Change-Id: Ie02526b3ab127f42bdc2db350d2dc468e7888fe2
LOCAL_SOONG_INSTALL_SYMLINKS can now be set by the install_symlink
module type. The install_symlink module type doesn't set
LOCAL_SOONG_INSTALLED_MODULE because make tries to copy that file
around, which doesn't work with a symlink.
Bug: 205632228
Test: built and ran the emulator observed the /system/bin/hwservicemanager symlink is still there
Change-Id: I1ec355b5ae057d0b7fe167674d70da6a4d03f6b5
Before, as each module was built, it would dump its proguard-related
files into the PACKAGING folder. Then the rule for the final distable
zip would zip up this whole folder. This means that if you built a
module that was not part of the system, and then rebuilt the final
zip, it would erronously include more proguard files than necessary.
This problem was worked around by relying on CI to run `m installclean`
every time.
Now, the zip proguard files always include the same information.
This also makes it so that when you build a module, its proguard files
are not copied to the PACKAGING folder, making builds that don't
build the final proguard zips slightly faster.
Bug: 205632228
Test: diff'd proguard-dict.zip, proguard-dict-mapping.textproto, and proguard-usage.zip before/after this cl on sdk_phone_x86_64. They have diffs, but only in the order of files / lines.
Change-Id: I98c02e1eb117c337ba9b98f04ad486597eb9bb86
Sublime text has an issue with their syntax highlighting, where it
looks for \s*define\b to indicate the start of a define block.
We had some variables that started with "define-", which match this
regex, which causes Sublime to be confused about where the defines
start and end. Rename the variables to work around this issue.
Test: m nothing
Change-Id: I997929606e2b0a8b086ad3b67a7ce1b5e99a7385
Instead of checking, then copying the fragments into the out directory,
we pass in the output file and let assemble_vintf create the output
file.
Test: m
Bug: 290265210
Change-Id: I65c2ee826de73b805b48dc95f20c2405250587f8
Soong is improving resource handling by not squashing resources from
all dependencies into every android_library. This causes problems
when the android_library is exported to Make, as Make is still using
the old squashing behavior.
Add a file to every static java library that lists the resource packages
of its transitive dependencies. For modules defined in Andorid.mk files
leave the file empty, but for Soong modules populate it with the list
of transtiive dependencies. Pass the contents all of the files from
direct dependencies to aapt2 link to include any transitive dependencies.
Bug: 284023594
Test: m Dialer
Change-Id: I4e8ace497d701a9645a62dd5a6ac12e9a6830dcf
Merged-In: I4e8ace497d701a9645a62dd5a6ac12e9a6830dcf
Saves a few extra KBs with LOCAL_COMPRESSED_MODULE
Bug: 191841942
Bug: 282617419
Test: boot && apks uncompressed
Change-Id: I1a8c6cdfc194b68b2f2c9fb398851a7a4b7440bf
This file was an archive of all the gpl files that could be found
in the source tree. Because it looks for gpl files using $(wildcard),
kati had to rerun the wildcards every single build to see if they had
changed. These GPL wildcards made up 30294 of 63996 wildcards present
on aosp-master. Removing these wildcards saves (aosp/internal) ~0.2/~0.1
seconds from every build, and ~0.4/~0.6 seconds from the wildcard
checking portion of kati. (The whole build sees <0.4s/0.6s of
improvement because it's parallelized with the shell checking, but
improvements here mean that we can now improve the shell commands as
well and get more fruitful results)
We don't actually use gpl_source.tgz anywhere, so we can just remove it.
Bug: 282079550
Test: m nothing
Change-Id: I77141dbb39b2d8ebd96bc258fe7dbdff5a372977
This is to reduce build rule divergence among targets. We only need the
path under PRODUCT_OUT.
Bug: 277662244
Test: build and boot
Change-Id: Ica8776d1779c47305c3c74015be2b3597cbdf95c
There are still devices that set BUILD_BROKEN_USES_BUILD_HOST_* and
build host modules in Make. Add basic support for building against
libc_musl in Make when USE_HOST_MUSL is set.
Bug: 258535366
Test: build a host tool defined in Android.mk file in internal branch
Change-Id: I9150be749bbeaac2ac5a33b2cf915004aa3033df
There are no usages of LOCAL_JAVA_LAYERS_FILE,
and java-layers.py was written in python 2.
Bug: 203436762
Test: Presubmits
Change-Id: I1be0f2547757a853e20811f28529479487037e94
If not normalized the same as declare-license-metadata, two rules get
generated instead of one rule with both license text and deps.
Test: m droid dist
Test: build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=sdk TARGET_BUILD_VARIANT=userdebug sdk dist sdk_repo
Change-Id: I3a8f2d3825c8c0183049fa12b14ace9b54066a01
Merged-in: I3a8f2d3825c8c0183049fa12b14ace9b54066a01
Use a copy license metadata instead of module_license_metadata to make each xts test package names shown in the final xts notice file.
Test: m gts reportmissinglicenses
Bug: 245474938
Change-Id: Ic5e28763bc4e8448d3e04a80e89db147387164a6
Just like we do with build/tasks/*.mk, we also look for project
specific definitions.mk files.
Test: TreeHugger
Bug: 243024627
Change-Id: I7f07546582eb02bba245a1f927a11efc1ddc3c6f