Commit Graph

16841 Commits

Author SHA1 Message Date
Jiyong Park b0a012cfec Override apexes with LOCAL_OVERRIDES_MODULES
APEXes are ETC type, which should be overridden via
LOCAL_OVERRIDES_MODULES. This change fixes a bug that
LOCAL_OVERRIDES_PACKAGES was used for APEXes.

Bug: 140792287
Test: m
Test: add com.google.android.tzdata to PRODUCT_PACKAGES and build.
/system/apex/com.google.android.tzdata.apex exists, but
/system/apex/com.android.tzdata.apex doesn't.

Change-Id: Id65743b36e0b706d6ffd8cae0597cc0a42a83fb7
2019-11-14 17:17:03 +09:00
Sundong Ahn d95aa2d45c Change the partition of outputfile
If some apex module can be installed for both flattened and unflattened,
flattened apex should be installed to system_ext partition.
So add MakeAsSystemExt func to change the partition from system to
system_ext.

Bug: 139053989
Test: m -j
Change-Id: I3e3430413a9045d96130af99e249567b1a26ed7e
2019-11-14 16:04:15 +09:00
Matthew Maurer 51feafad57 Enable x86_64 device support
Now that we have sysroots built in Soong, we can enable these devices
and they just work.

Bug: 141251907
Bug: 141381044
Change-Id: I562256fee372d331db883f7c1b46405945295c24
2019-11-13 17:46:24 -08:00
Matthew Maurer 99020b04fb Build Rust Device Sysroots in Soong
In order to ensure we are using current platform Bionic for any platform
Rust binaries, we need to build the sysroot in Soong. This will also
enable us too hook the "test" crate if necessary.

While both a dynamic and static sysroot are available, on device only a
dynamic sysroot will be injected. On host, we continue using the sysroot
used to build the compiler as before.

Bug: 139486496
Change-Id: I127377e5b056610ceb5015a34d266250320fbc31
2019-11-13 17:46:19 -08:00
Jooyung Han 53b46ff2e9 Merge "make ApexProperties defaultable"
am: c5c4d18db0

Change-Id: I5ce236ba320350242d18a892b7064bc911009387
2019-11-13 16:56:27 -08:00
Jooyung Han c5c4d18db0 Merge "make ApexProperties defaultable" 2019-11-14 00:42:43 +00:00
Roland Levillain b6c3c9c894 Merge "Fix some typos in Soong."
am: c3eb1b2959

Change-Id: Iaa174f2140c5dd90e033bcf14eea6b5a163dc8cd
2019-11-13 12:04:30 -08:00
Roland Levillain c3eb1b2959 Merge "Fix some typos in Soong." 2019-11-13 18:50:36 +00:00
Sam Saccone 3249fcda3b Merge "Revert submission"
am: f9e10f9443

Change-Id: I76420f9c8cadf2e2db777d7775a5b16656a3b39e
2019-11-13 08:11:01 -08:00
Colin Cross c0e94d6894 Merge "Forbid -Weverything"
am: f3898e3bef

Change-Id: I998cfb29f235fcb289dcacd2a13f961e35a906c6
2019-11-13 08:08:33 -08:00
Jiyong Park 8ba50f953d Install AndroidApp only when needed
When an android_app is (directly or transitively) included in an APEX,
multiple variants of the app is created. The problem was that all the
variants were unconditionally installed to the device, which resulted in
duplicated targets. Fixing the problem by not installing the app when it
is included in APEX.

Bug: 144387414
Bug: 144135069
Test: m
Test: OUT_DIR=out DIST_DIR=out/dist build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: Ibcc1096e30bc55a70ddc592490805f447e185eae
2019-11-14 00:39:53 +09:00
Jiyong Park 52cd06fc73 Reland: JNI lib is always embedded for APKs in APEX
If a JNI lib is depended on by an APK that is included in an APEX, the
lib is embedded inside the APK.

This change also fixes a bug that APKs are not mutated for APEXes.

Bug: 144135069
Test: m (apex_test.go amended)
Change-Id: I21ac24412b30c05afc03385655c6b196130dffe3
2019-11-14 00:39:47 +09:00
Sam Saccone f9e10f9443 Merge "Revert submission" 2019-11-13 15:24:50 +00:00
Sam Saccone e3c22f7a3f Revert submission
Reason for revert: b/144387414
Fixes: b/144387414
Change-Id: I21e15a4d149a5a8fefd0f84010600cb41b59db95
2019-11-13 15:24:11 +00:00
Colin Cross f3898e3bef Merge "Forbid -Weverything" 2019-11-13 15:01:48 +00:00
Roland Levillain 8ac05575aa Fix some typos in Soong.
Test: m
Change-Id: I032b6ce2a61491b88416db9943b42e6af4783459
2019-11-13 10:46:49 +00:00
Jiyong Park 98fa6c4959 Rename # vndk tag to # llndk
am: 92d6bc189c

Change-Id: Ia9e1e68dab7e99dcbabe11174fc440f44f22cb5a
2019-11-12 22:46:11 -08:00
Jooyung Han 18020eabc4 make ApexProperties defaultable
ApexPropreties are added in InitApexModule() and they are supposed to be
defaultable. To be defaultable, InitApexModule() should be called before
InitDefaultableModule().

Bug: 144332048
Test: m (soong test added)
Change-Id: I6c90ed3b66a086292a4c0ecb37c61f83769e62bd
2019-11-13 05:52:57 +00:00
Jiyong Park 92d6bc189c Rename # vndk tag to # llndk
The APIs that are tagged with # vndk are actually for LLNDK libraries.
Although LLNDK is part of VNDK, calling those APIs 'vndk' has given
users a wrong perception that the APIs don't need to be kept stable
because that's the norm for most of the VNDK libraries that are not
LLNDK.

In order to eliminate the misunderstanding, rename the tag to 'llndk' so
that people introducing new such API will realize what they are signing
themselves up for.

Exempt-From-Owner-Approval: cherry-pick from internal gerrit

Bug: 143765505
Test: m
Test: python3 test_gen_stub_libs.py
Merged-In: I2853df3b6e245056c21d4ab3d62466954cf26d72
(cherry picked from commit 3d7b69a657)
Change-Id: I2853df3b6e245056c21d4ab3d62466954cf26d72
2019-11-13 05:50:27 +00:00
Jooyung Han caea0ecc5a Merge "Remove unused "product_services_specific" prop"
am: 9ea28aef68

Change-Id: I6433c85e191be8e3fb4f0311c192c14a0095b7eb
2019-11-12 18:45:11 -08:00
Jiyong Park bfb534fe53 Merge "JNI lib is always embedded for APKs in APEX"
am: d006779e3e

Change-Id: Ia44557597a6171ae53be400a4221b51a6520433b
2019-11-12 18:44:37 -08:00
Treehugger Robot 9ea28aef68 Merge "Remove unused "product_services_specific" prop" 2019-11-13 02:37:35 +00:00
Treehugger Robot d006779e3e Merge "JNI lib is always embedded for APKs in APEX" 2019-11-13 02:25:25 +00:00
Colin Cross 39ef52f1df Forbid -Weverything
Use of -Weverything blocks build system changes and toolchain updates
on new warnings.  Forbid it in the build system.  Developers can
experiment with -Weverything on their module by adding it to their
Android.bp file and building with
m ANDROID_TEMPORARILY_ALLOW_WEVERYTHING=true

Fixes: 143713277
Test: manual
Change-Id: If154db328c52f687161e7a41e486d56a129850ac
2019-11-12 15:55:03 -08:00
Mitch Phillips fd869a69c7 Merge "'m fuzz' shared lib package should be per-fuzzer."
am: 38dec1bcb5

Change-Id: I610894e607a7146af4550dbdf9ca858e184f5046
2019-11-12 14:21:15 -08:00
Treehugger Robot 38dec1bcb5 Merge "'m fuzz' shared lib package should be per-fuzzer." 2019-11-12 22:13:36 +00:00
Mitch Phillips 13ed3f5e34 'm fuzz' shared lib package should be per-fuzzer.
Change the ClusterFuzz package built by 'make fuzz' to now package
shared libraries per-fuzz target.

Changes documented in go/proposed-clusterfuzz-package

This has the impact of:
 - This package is much easier to post-process in the Haiku export
 cronjob.
 - Shared libraries are now per-fuzz-target. This means that we will
 have some level of duplication (libdl, libc, libc++, libclang_rt.*,
 etc.) as these libraries will be in multiple fuzz target's dirs.

This *only* affects the fuzz-$target-$arch.zip file, not the fuzz targets in
$ANDROID_HOST_OUT/fuzz or $ANDROID_PRODUCT_OUT/data/fuzz. These two
install directories still use the global shared libraries in order to
preserve space on devices.

Bug: 144360679
Test: m fuzz
Change-Id: I5f19a13070e01d2d39598f9f215a983b398a9f37
2019-11-12 11:12:10 -08:00
Nick Desaulniers ebc13b056c Merge "Expand ClangExtraExternalCflags to non-Google vendor projects"
am: 69c013694d

Change-Id: I0357eceee54272fac3ab546d8eef0a52edbd0228
2019-11-12 10:13:44 -08:00
Nick Desaulniers 69c013694d Merge "Expand ClangExtraExternalCflags to non-Google vendor projects" 2019-11-12 17:45:15 +00:00
Jooyung Han 43240b1191 Remove unused "product_services_specific" prop
product_services_specific is not used any longer.

Bug: 135957588
Test: m
Change-Id: I6c09d3c09773034085a1419cbffe86954066df4e
2019-11-12 17:07:52 +09:00
Colin Cross 687801f83b Merge "Move partner androidmk and bpfix files to match their package path"
am: 650e8552a6

Change-Id: I99a7e77d5e9eb5d35a44c3b7655a9f9e4e8b6464
2019-11-11 22:16:09 -08:00
Treehugger Robot 650e8552a6 Merge "Move partner androidmk and bpfix files to match their package path" 2019-11-12 06:01:14 +00:00
Mitch Phillips b60e5fbdfe Merge "Sort fuzz target dependencies to avoid rebuilds."
am: 3eceaa3240

Change-Id: I727d245950912f91c4e0a2cd6beed8a71669f011
2019-11-11 18:50:21 -08:00
Treehugger Robot 3eceaa3240 Merge "Sort fuzz target dependencies to avoid rebuilds." 2019-11-12 02:42:10 +00:00
Colin Cross 4fe2e4f940 Silence trailing "1 warning" message from javac when warning is silenced
am: e94272d0b3

Change-Id: Id4946b2c763c229a31527a646839e08452268d36
2019-11-11 18:04:55 -08:00
Colin Cross 9016b91290 Set default pool when RBE or goma is enabled
Pass --default_pool=local_pool to kati when RBE or goma is enabled
to put most rules into the local_pool.  Specific rules that support
RBE or goma will set .KATI_NINJA_POOL := none to remove themselves
from the local_pool.  Passing --default_pool will also disable the
hack in kati that sets the pool based on the presence of the string
"/gomacc" in the command line.

Fixes: 143938974
Test: inspect pools in build-${TARGET-PRODUCT}.ninja for m USE_RBE=true
Test: inspect pools in build-${TARGET-PRODUCT}.ninja for m USE_GOMA=true
Change-Id: I839b2488383fcd63fffd613e25b0b9abcb72b567
2019-11-11 16:08:42 -08:00
Colin Cross ce23942f3c Move partner androidmk and bpfix files to match their package path
Using a gomod-aware editor with build/soong requires that files
in build/soong can be mapped to the android/soong package path.
Move the partner androidmk and bpfix files such that their path
matches the package path when the android/soong package prefix is
replaced with the build/soong path prefix.

Test: go test ./...
Test: m bpfix androidmk partner_bpfix partner_androidmk
Change-Id: Ic7f7aad9e5eb9178eef0383f0b37e4fb93ce8314
2019-11-11 15:44:09 -08:00
Colin Cross e94272d0b3 Silence trailing "1 warning" message from javac when warning is silenced
soong_javac_wrapper is silencing a useless warning:
warning: [options] bootstrap class path not set in conjunction with -source 1.9
but recent versions of javac have started also printing:
1 warning

Read the warning count, subtract the number of silenced warnings, and
reprint it if the non-silenced warning count is nonzero.

Fixes: 144118634
Test: javac_wrapper_test.go
Change-Id: Ie1d0a978188ab7b1c41027f718a1274608628123
2019-11-11 21:48:33 +00:00
Yi Kong 950e0baf2a Expand ClangExtraExternalCflags to non-Google vendor projects
Some of the warnings are too common to fix/opt-out for non-Google
projects.

Also in the change, minor clean up of duplicated code.

Test: presubmit
Bug: 139945549
Change-Id: Ic176ef1f17133405851a79592b6bef5ccb403bd9
2019-11-11 13:24:39 -08:00
Nick Desaulniers 3a24eefedb Merge "soong: move -Wimplicit-fallthrough from cflags to cxxflags"
am: 2d5ce8538b

Change-Id: I345c609bcbaf1cb869d60df5e505533e8111d9fe
2019-11-11 09:24:19 -08:00
Pete Gillin 6414dde54e Merge changes I0d679648,I31542e7f
am: 31d57588c9

Change-Id: I3cfdaf2cfb6b5eef840f66c2c9fce5d82c2cd10b
2019-11-11 09:23:35 -08:00
Ulyana Trafimovich 8ca57b35ea Merge "Revert^4 "Package dexpreopt artifacts for libcore jars in the ART apex.""
am: b21ed4281e

Change-Id: Idca5a2d9e14485efb99451ce689a470ce99ea2a8
2019-11-11 09:07:15 -08:00
Jeongik Cha 1859bcadbe Merge "Rearrange import order"
am: 5666126133

Change-Id: I1535f14d7dda5fa05d3d417b58ea55ffc262c21a
2019-11-11 09:06:44 -08:00
Jeongik Cha 8b822f70c3 Merge "Enforce hidden apis usage in product(soong)"
am: 80df439072

Change-Id: I88469277c70aeae5e66ceabe41e000dd113ef3e7
2019-11-11 09:05:13 -08:00
Jiyong Park 4538f60bfe Merge "APEX now correctly tracks jni_lib dependencies"
am: c70d3c3cf6

Change-Id: I1e1c7a8d9e230aa7e65ef94448fbebba8b7fc19f
2019-11-11 09:05:01 -08:00
Paul Duffin dc931028c5 Merge "Remove unnecessary constraint on previous_api"
am: e4ef280532

Change-Id: I6951a5df42c4153c813a105f7fed5416a79edd61
2019-11-11 09:03:35 -08:00
Colin Cross dcee4049d6 Merge "Remove -Wno-thread-safety-negative"
am: 075cc44a86

Change-Id: I626d7fa1a24599414446baba7e2ee9618a11fc28
2019-11-11 09:03:06 -08:00
Mitch Phillips f484975c2d Merge "Soong frontend for shared library fuzzing."
am: 722b02f84c

Change-Id: I86c282af40aa0c71b9c537e8e92616280ab64581
2019-11-11 09:02:27 -08:00
Jooyung Han 2d6a99599f Merge "apex_manifest in protobuf binary format"
am: d0e39622c7

Change-Id: Ieaf7d0535d58ac103f87c130c66dbc1d8557ccb0
2019-11-11 09:01:04 -08:00
Nick Desaulniers 2d5ce8538b Merge "soong: move -Wimplicit-fallthrough from cflags to cxxflags" 2019-11-11 16:54:25 +00:00