Commit Graph

18075 Commits

Author SHA1 Message Date
Matthew Maurer 22cef966e1 rust: Include Soong module name as metadata
If we want to build a component which uses two versions of a crate in
the dependency graph (for example, libc in std and libc from
external/crates), Rust requires at least one of them have a metadata
field to differentiate them.

Since Soong module names should be distinct for a given target, they
should serve as metadata.

Bug: 147397356
Test: Build a rust library with "rlibs: ["liblibc"]" in the blueprint
Change-Id: I5d85ea8b3197972c09de301c9523efaff08adf81
2020-01-15 08:37:42 -08:00
Jaewoong Jung 7c5bd835d0 Keep signatures of presigned prebuilt test apps.
Skip the JNI uncompress step for presigned prebuilt test apps. They
don't need it, and they can invalidate the signature. Also, fix the
install partition of prebuilt test apps.

Fixes: 143472191
Test: app_test.go
Test: Converted CtsShimPrivUpgradePrebuilt to bp and checked the
final output apk signature.

Change-Id: Ied7d3576b5db4de40a9ca9e388336229d07212f5
2020-01-15 14:33:32 +00:00
Paul Duffin fe1492223f Exclude sdkMemberVersionedDepTag from visibility enforcement
The implicit dependency from an unversioned sdk member to the snapshot
versions should be excluded from visibility enforcement as it provides
no benefit and would require snapshot members to be visible to their
original source modules which would complicate visibility handling.

Also, corrects a spelling mistake in sdkMemberVersionedDepTag.

Bug: 142940300
Test: m nothing
Change-Id: Ib7ea6a3d3904d042dca0ea12f6b9196d40de970b
2020-01-15 11:17:57 +00:00
Paul Duffin 78ac5b962e Exclude source->prebuilt deps from visibility enforcement
When both prebuilt and source versions of a module are present in the
build an implicit dependency is added from source -> prebuilt. This
change excludes that dependency from visibility enforcement as it
provides no value and would otherwise require an sdk snapshot to
rewrite the visibility of the generated prebuilt modules which would
be complicated.

The rewriting would include:
* Detecting //visibility:public and just passing that straight through.
* Detecting //visibility:private and replacing that with the location
  of the source.
* Otherwise, adding the location of the source to the visibility
  property.

This adds a general mechanism to allow any dependency to be excluded
from visibility enforcement by simply using a tag that implements
the ExcludeFromVisibilityEnforcementTag interface.

Bug: 142940300
Test: m nothing
Change-Id: I0668ff5aa798152d17faf3aac1bb8eff8d6350c3
2020-01-15 11:17:57 +00:00
Paul Duffin a7b9f42587 Add basic test for java_system_modules
Bug: 142940300
Test: m nothing
Change-Id: I8855df0832f93e40d31e457191590458c274bb5c
2020-01-15 11:17:57 +00:00
Paul Duffin c132742c96 Dedup package build components registration
Bug: 146540677
Test: m nothing
Change-Id: Iff2d7063b7f06313e9068c61a5627229463c98dd
2020-01-15 11:17:57 +00:00
Paul Duffin a80ef84652 Support registering hard coded pre arch mutators
Some pre arch mutators are hard coded into mutator.go and so could not
share code for registering those mutators between tests and runtime.
This change adds a new HardCodedPreArchMutators(RegisterMutatorFunc)
method to RegistrationContext which allows hard coded mutators to be
registered alongside other build components during init() and testing.

The method is treated as a noop on the InitRegistrationContext and
behaves just like the PreArchMutators(RegisterMutatorFunc) method on
the TestingContext.

Bug: 146540677
Test: m nothing
Change-Id: I6f8b1e2d54d9dc4e86f951ced61d1ee7b0fe4b2e
2020-01-15 11:17:57 +00:00
Paul Duffin 90169baf0e Added java_system_modules_import
A prebuilt version of java_system_modules. It does not import the
generated system module, it generates the system module from imported
java libraries in the same way that java_system_modules does. It just
acts as a prebuilt, i.e. can have the same base name as another module
type and the one to use is selected at runtime.

Bug: 142940300
Test: m nothing
Change-Id: I126db49d18294fcd6e2b7ad0237f83e9c2fdef7a
2020-01-15 11:17:57 +00:00
Paul Duffin cded5ecfc3 Document java_system_modules
Bug: 142940300
Test: m nothing
Change-Id: Ic658226088615dbeeef15f17dbb095a968e0742d
2020-01-15 11:17:57 +00:00
Vic Yang 8c38ecba01 vndkMustUseVendorVariant += libstagefright_bufferpool@2.0
Bug: 145157349
Test: Build success
Change-Id: Ic5f1699d034715545c53a8842ef14692f2017706
2020-01-14 22:39:37 -08:00
Jiyong Park 8d050e8e6e Merge "Reland^2 "m <apex_name>-deps-info prints the internal/external deps of the APEX""
am: 814bebb8ea

Change-Id: I20352a3728ea7417090e46e8bfa5a8d75dc3ce5c
2020-01-14 22:14:19 -08:00
Treehugger Robot 814bebb8ea Merge "Reland^2 "m <apex_name>-deps-info prints the internal/external deps of the APEX"" 2020-01-15 06:12:45 +00:00
bralee adba3c0a0a AIDEGen:fix module_bp_cc_deps.json content error.
Bug: 147324044
Test: 1. export SOONG_COLLECT_CC_DEPS=1 SOONG_GEN_CMAKEFILES=1;m nothing
         module_bp_cc_deps.json will be generated.
	 In module_bp_cc_deps.json,
	 "libui": {
             ...
             "system_include_flags": {
                 "header_search_path": [
                     "system/core/include",
                     "system/media/audio/include",
                     "hardware/libhardware/include",
                     "hardware/libhardware_legacy/include",
                     "hardware/ril/include",
                     "frameworks/native/include",
                     "frameworks/native/opengl/include",
                     "frameworks/av/include",
                     "libnativehelper/include_jni"
                 ]
                 "system_search_path": [
                     "bionic/libc/include",
                     "bionic/libc/kernel/uapi",
                     "bionic/libc/kernel/uapi/asm-x86",
                     "bionic/libc/kernel/android/scsi",
                     "bionic/libc/kernel/android/uapi"
                 ]
             },
             ...
         },

Change-Id: Iabc638ca451f568b2a4c09327f8f3c220f6fc154
2020-01-15 13:38:48 +08:00
Wei Wang 6c01618885 power: add stable aidl to VndkMustUseVendorVariantList
Bug: 146453294
Test: Build
Change-Id: I0e8e8ed425affa8103eff5aef74a7859341d0058
2020-01-14 17:32:56 -08:00
Inseob Kim ed000d7832 Merge "Allow sdk and core modules to use sysprop_library"
am: a46c2b1994

Change-Id: I0901e86188677a28263483cd939ac49563efa7f1
2020-01-14 17:01:19 -08:00
Inseob Kim a46c2b1994 Merge "Allow sdk and core modules to use sysprop_library" 2020-01-15 00:32:00 +00:00
Dario Freni e354690448 Include the hashtree in Q-launched modules.
For post-Q modules, we can avoid building the hashtree also in the
unbundled build case, since the device will regenerate the hashtree
locally. This CL simplifies the logic so that the build rules apply
regardless of the build being bundled or unbundled -- after all, bundled
build are only really valid for development purposes.

Fix: 147600151
Test: unit test;
m com.android.conscrypt and manual inspection of apexer invocation
(option no_hashtree not present)
m com.android.neuralnetworks and manual inspection of apexer invocation
(option no_hashtree present)

Change-Id: Ib4cc6149d3beac5df7e23a65a3b7ee6b0d68e395
2020-01-14 23:59:02 +00:00
Anton Hansson 305b6a7e4e Merge "Make android_test_helper_app support apex_available"
am: ee76fba905

Change-Id: I240799a87f24e02e59bbcce460fe3be46a64c092
2020-01-14 05:01:23 -08:00
Anton Hansson ee76fba905 Merge "Make android_test_helper_app support apex_available" 2020-01-14 12:59:17 +00:00
Jiyong Park 83dc74b770 Reland^2 "m <apex_name>-deps-info prints the internal/external deps of the APEX"
This reverts commit 7cb4d378e7.

Test: m
Test: ALLOW_MISSING_DEPENDENCIES=true DIST_DIR=out/dist ./art/tools/dist_linux_bionic.sh -j80 com.android.art.host
(in the master-art-host branch)

Change-Id: I9beca73aafdf42f03bfa19cf1634b2641dac417b
2020-01-14 18:40:56 +09:00
Jiyong Park 39ed342b9b Merge "Revert "Reland "m <apex_name>-deps-info prints the internal/external deps of the APEX""""
am: a7503367cf

Change-Id: I0d6fc06b1734edff88eb60345c4603c080460e87
2020-01-14 01:09:23 -08:00
Jiyong Park a7503367cf Merge "Revert "Reland "m <apex_name>-deps-info prints the internal/external deps of the APEX"""" 2020-01-14 08:58:17 +00:00
Jiyong Park 7cb4d378e7 Revert "Reland "m <apex_name>-deps-info prints the internal/external deps of the APEX"""
This reverts commit 956305c61c.

Reason for revert: broke master-art-host branch
Exempt-From-Owner-Approval: reverting a bad change

Change-Id: Id7faed4ee85328c7c65847a3543ea9e67a3d50b3
2020-01-14 08:58:02 +00:00
Inseob Kim c52395135f Allow sdk and core modules to use sysprop_library
This allows javaSdk and javaCore modules to link against Public stub of
Platform owned sysprop_library.

Bug: 141246285
Test: m nothing
Change-Id: Ie11c43cc72ddd0ee13e4163955775c13eb9dbe92
2020-01-14 15:58:59 +09:00
Jiyong Park 3a1602e7f2 List of installed files for each APEX is dist'ed
For each APEX, <apexname>-installed-files.txt is dist'ed to show the
list of files and their sizes that are included in the APEX.

Bug: 147605944
Test: m dist and examine the txt files

Change-Id: I565479523e51280fc88d5fbf8ea3f48ac0ae9fee
2020-01-14 15:20:57 +09:00
Jiyong Park acf9d43674 Merge "Reland "m <apex_name>-deps-info prints the internal/external deps of the APEX"""
am: 17c51a4ff6

Change-Id: I0e87c8daffac11f3a867d148068110fa6658aec1
2020-01-13 18:42:54 -08:00
Treehugger Robot 17c51a4ff6 Merge "Reland "m <apex_name>-deps-info prints the internal/external deps of the APEX""" 2020-01-14 02:40:42 +00:00
Jiyong Park 8870b634aa Merge "Prevent overridden APEX from being installed even when flattened"
am: 0ed107d542

Change-Id: I1c2267c01c28d796596deccdff840b8e599e00c0
2020-01-13 17:01:47 -08:00
Treehugger Robot 0ed107d542 Merge "Prevent overridden APEX from being installed even when flattened" 2020-01-14 00:57:31 +00:00
Lokesh Gidra 2fb8670829 Merge "Revert "use symlink for bundled APEX""
am: 47b461782b

Change-Id: I4d6787fe86ea70a9d36bdac9e158bb7f1cac2e5c
2020-01-13 16:15:08 -08:00
Lokesh Gidra 47b461782b Merge "Revert "use symlink for bundled APEX"" 2020-01-14 00:08:15 +00:00
Lokesh Gidra 31c65d4fe4 Revert "use symlink for bundled APEX"
This reverts commit 58ab941c6c.

Reason for revert: art-com_android_runtime_host-linux_bionic and art-linux-bionic-zipapex builds failing (https://android-build.googleplex.com/builds/submitted/6131062/art-com_android_runtime_host-linux_bionic/latest/view/logs/build.log)

Bug: 144533348
Change-Id: I040af6887aea205a5d72a416fc8e6533dcfa08dd
2020-01-14 00:06:41 +00:00
Elliott Hughes 9087a9cbf4 Merge "Switch to toybox gzip."
am: 5ce6dfbd36

Change-Id: I99e67a837a73aab9fcc37d53dcbc9a2182c4c37d
2020-01-13 09:26:33 -08:00
Elliott Hughes 5ce6dfbd36 Merge "Switch to toybox gzip." 2020-01-13 17:21:02 +00:00
Jiyong Park dc733d74bc Merge "use symlink for bundled APEX"
am: 40ef4b926d

Change-Id: I71dfb372cc36dbd56800d5dd6498f9a95fc04bba
2020-01-13 08:09:17 -08:00
Treehugger Robot 40ef4b926d Merge "use symlink for bundled APEX" 2020-01-13 16:05:45 +00:00
Ulyana Trafimovich 856f6d458a Merge "Use boot image extension in the JIT-zygote experiment."
am: 4d9c97bd77

Change-Id: I76ea5217d5a8c5941b61c71d36b3421f6f792749
2020-01-13 03:01:39 -08:00
Ulyana Trafimovich 4d9c97bd77 Merge "Use boot image extension in the JIT-zygote experiment." 2020-01-13 10:38:01 +00:00
Ulyana Trafimovich 10b887a354 Merge "Do not add jacocoagent to framework libraries in static coverage builds."
am: 289bd28f17

Change-Id: I0933280da696845693dc7fcc798f98f541687cd8
2020-01-13 02:26:50 -08:00
Ulyana Trafimovich 289bd28f17 Merge "Do not add jacocoagent to framework libraries in static coverage builds." 2020-01-13 10:25:16 +00:00
Yo Chiang 47d80cdf79 Merge "Don't dexpreopt APEX variant modules"
am: 72d009e1ec

Change-Id: Ieb1c2c3b4a54f7d756adac816286ed4ff1cfb17a
2020-01-12 19:18:26 -08:00
Yo Chiang 72d009e1ec Merge "Don't dexpreopt APEX variant modules" 2020-01-13 03:15:50 +00:00
Jiyong Park 931f464856 Merge "A test cc module is installable even if it's not available for platform"
am: eecf99ce66

Change-Id: I5033edc711f7780c3367304644eed004ca816fd7
2020-01-12 16:33:37 -08:00
Treehugger Robot eecf99ce66 Merge "A test cc module is installable even if it's not available for platform" 2020-01-13 00:31:58 +00:00
Jiyong Park 0abc1b484d Prevent overridden APEX from being installed even when flattened
Previously, both overridden APEX and overriding APEX were installed
together when TARGET_FLATTEN_APEX is set to true. This was because the
Make modules for flattened APEXes are phony where
LOCAL_OVERRIDES_MODULES isn't respected.

Fixing the problem by letting apex_manifest.pb for the overriding APEX
to override all modules for the overridden APEXes.

Bug: 147384966
Test: OVERRIDE_TARGET_FLATTEN_APEX=true m dump-files | grep
mediaprovider shows

:   out/target/product/coral/system/apex/com.google.android.mediaprovider/apex_manifest.pb
:   out/target/product/coral/system/apex/com.google.android.mediaprovider/apex_pubkey
:   out/target/product/coral/system/apex/com.google.android.mediaprovider/javalib/framework-mediaprovider.jar
:   out/target/product/coral/system/apex/com.google.android.mediaprovider/lib64/libfuse.so
:   out/target/product/coral/system/apex/com.google.android.mediaprovider/priv-app/MediaProvider/MediaProviderGoogle.apk

only

Change-Id: I6dc3fc7aaee0474cbad9fadbfce765be4b751328
2020-01-12 23:31:56 +09:00
Automerger Merge Worker 9280bf9474 Merge "Sandbox soong_build by changing to root directory" am: ae7cddd5ad am: 70eefb570a
Change-Id: I83d48a8f83702c1e79c8c956f59c4e574c08c508
2020-01-11 07:17:14 +00:00
Colin Cross 70eefb570a Merge "Sandbox soong_build by changing to root directory"
am: ae7cddd5ad

Change-Id: I5edc91d198fad76e5de6f79a775082f4f1df1cf9
2020-01-10 23:00:57 -08:00
Treehugger Robot ae7cddd5ad Merge "Sandbox soong_build by changing to root directory" 2020-01-11 06:00:21 +00:00
Colin Cross 988414c2cf Sandbox soong_build by changing to root directory
This relands I12a0f907753fefd1997ab8b4ea2ac331234093cf along with
a fix to blueprint for absolute paths.

Store the current working directory and then change to the root
directory so that all file accesses must go through helpers in
the android package that properly track dependencies.

Change-Id: I24ac485677aa102eec1a2521d16820da6ee1ae77
Fixes: 146437378
Test: m checkbuild
Test: m OUT_DIR=/tmp/out nothing
2020-01-11 01:11:46 +00:00
Automerger Merge Worker ff367b69af Merge "Rename OverridableModuleBase.properties." am: 5fa3a1f743 am: 1e38e20682
Change-Id: I6a65624e4f2f8ac01d323fdf0e1d91c1ffb3cf35
2020-01-11 00:15:48 +00:00