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
This reverts commit 59e4951021.
Reason for revert: Attempt to roll forward again.
Test: m droid dist reportmissinglicenses
Change-Id: Ibf5a9869d03726e279fb23bf68ca66547b972138
There are no more BUILD_HOST_DALVIK_* modules, remove the host dalvik
support. The equivalent support in Soong just copies the device dex
file to the host dalvik location.
Test: m checkbuild
Change-Id: I4bcf916518317b28d3217994b2fe9ee95d7f50d6
Propagate the new D8/R8 JVM flags vars that were formerly combined in
DEX_FLAGS.
Bug: 205303544
Test: time m
Change-Id: Ifc6051cd9422b3f5c52322833d9a7f5e8263f857