Commit graph

17082 commits

Author SHA1 Message Date
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
Mitch Phillips
0553ba356e Sort fuzz target dependencies to avoid rebuilds.
Some fuzz target dependencies are generated at Soong-time in a
nondeterministic fashion. When these are interpreted by Make, they may
cause rebuilds due to being in a different order.

Ensure that the dependencies are always sorted, which should avoid
triggering unnecessary rebuilds.

Bug: 144250431
Test: make <module> && make <module>, ensure no rebuild.
Change-Id: I44edc1a3bb3f57be3e3f093f765241b41928fa4d
2019-11-11 07:46:58 -08:00
Pete Gillin
31d57588c9 Merge changes I0d679648,I31542e7f
* changes:
  Remove the EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN option.
  Add a new option OVERRIDE_JLINK_VERSION_NUMBER.
2019-11-11 11:59:36 +00:00
Pete Gillin
a7a3d64a36 Remove the EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN option.
Previously, this setting environment variable to false reverted to an
OpenJDK 9 toolchain. This change removes that option.

Test: m core-all-system-modules
Test: zcat out/verbose.log.gz | grep 'prebuilts/jdk/jdk[0-9]*'
Test: EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN=false m core-all-system-modules (fails)
Bug: 131683177
Change-Id: I0d679648e1236925ce3ef7e1652379127e846b00
2019-11-11 11:03:58 +00:00
Ulyana Trafimovich
b21ed4281e Merge "Revert^4 "Package dexpreopt artifacts for libcore jars in the ART apex."" 2019-11-11 10:30:12 +00:00
Treehugger Robot
5666126133 Merge "Rearrange import order" 2019-11-11 04:57:09 +00:00
Jiyong Park
d237ad6d71 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: Icf490d2701a7ede8bcad7e671fc72be9c8d7c01e
2019-11-11 12:40:09 +09:00
Treehugger Robot
80df439072 Merge "Enforce hidden apis usage in product(soong)" 2019-11-11 02:05:16 +00:00
Jeongik Cha
28df257fea Rearrange import order
Bug: 132780927
Test: m
Change-Id: I4b2c40bb0fb3dd5ff31f65811a6fef28e946f028
2019-11-11 10:46:36 +09:00
Treehugger Robot
c70d3c3cf6 Merge "APEX now correctly tracks jni_lib dependencies" 2019-11-09 13:53:08 +00:00