Commit graph

18601 commits

Author SHA1 Message Date
Treehugger Robot
06b362fad7 Merge "Apex_available check failure reveals dependency" 2020-03-09 10:59:36 +00:00
Jiyong Park
65cc4f7777 Apex_available check failure reveals dependency
When the check for apex_available has failed, the build system now shows
the module that brought the unavailable module into the APEX.

Bug: 151051671
Test: m
Merged-In: Id1a3fda67fe56fdc2dc90ec800d10689415de4d6
(cherry picked from commit 7bd9444b0f)
Change-Id: Id1a3fda67fe56fdc2dc90ec800d10689415de4d6
2020-03-09 18:56:54 +09:00
Nicolas Geoffray
714538fb5d Merge "Add a build script to compile modules and SDKs in AOSP." 2020-03-09 08:09:15 +00:00
Treehugger Robot
c6453295a2 Merge "Do not explicitly link ucrt, ucrtbase" 2020-03-07 21:22:23 +00:00
Treehugger Robot
7423398025 Merge "Add version suffix for stub modules' Android.mk" 2020-03-07 08:44:32 +00:00
Treehugger Robot
5bf449c597 Merge "Stop using the host python3" 2020-03-07 05:02:46 +00:00
Pirama Arumuga Nainar
b8eefa8956 Do not explicitly link ucrt, ucrtbase
This was required before MinGW's default crt was set to ucrt.  In the
new setting, libmsvcrt.a is similar to libucrt.a and is implicitly
linked-in by the Clang driver.  Not explicitly linking in ucrt avoids
the link-order issue discussed in
https://github.com/android/ndk/issues/1198.

Test: m native-host-cross, go/android-llvm-windows-testing.
Change-Id: Idc125e550cae2f0eb812ca310d1d4be898a29ab4
2020-03-06 15:07:19 -08:00
Dan Willemsen
669f769470 Stop using the host python3
We've now got a prebuilt in prebuilts/build-tools

Test: treehugger
Change-Id: Ic0fb09c8970f3a1c9f3b7b0303168520dcbfc3d8
2020-03-06 10:28:04 -08:00
Jooyung Han
ad4c18765e Add version suffix for stub modules' Android.mk
Becase there can be more than one stub libraries, LOCAL_MODULE should be
suffixed with SubName just like NDK stub.

Note that suffix should not be appended to the latest version if the
library is provided by APEX, Otherwise, those libs always need to be
referenced with suffix in .mk files.

Bug: 145796956
Test: m
Change-Id: If503fa651a63b0b215742553b250ecf5e0a30971
2020-03-07 03:12:45 +09:00
Jooyung Han
03b5185b88 apex: choose stub according to min_sdk_version
Native modules within APEX should be linked with proper stub version
according to its min_sdk_version.

For example, when min_sdk_version is set to "29", libfoo in the apex
would be linked to libbar of version 29 from platform, even if it has
a newer version like 30.

Bug: 145796956
Test: m nothing (soong tests)
Change-Id: I4a0b2002587bc24b7deeb5d59b6eeba5e1db5b1f
2020-03-07 03:12:45 +09:00
Nicolas Geoffray
90bc3cd304 Add a build script to compile modules and SDKs in AOSP.
Test: build-mainline-modules.sh
Bug: 142935992
Change-Id: I80a9bf8ce03d77705ba677f95b03aeb2ac2451d5
2020-03-06 14:35:48 +00:00
Paul Duffin
8c3fec4c37 Enable androidmk processing in sdk testing
Previously, while sdk tests would pass the sdk code would often fail
in androidmk processing. This change makes the tests more realistic
and will catch the errors earlier.

Bug: 142935992
Test: m nothing
Change-Id: Ifd0b2d7cf24e941c919f6b6e0beb2403a67d4308
2020-03-06 09:45:54 +00:00
Colin Cross
1ec3fce9b6 Disable goma for javac actions in Soong
goma can't handle the --system argument that Android must pass to
javac.

Bug: b/143658984
Test: treehugger
Change-Id: I207668d8baa4ab28160938732a38f696aeac3f44
2020-03-05 20:46:15 +00:00
Nicolas Geoffray
8f20563514 Merge "Add a nice install paths for module SDKs and exports." 2020-03-05 09:25:33 +00:00
Paul Duffin
befa4b91d7 Copy apex_available properties to snapshot modules
Bug: 142935992
Test: m nothing
Change-Id: I1cdaae5b4e13a89dc46541dacd34ef5a44735b6a
2020-03-05 08:29:02 +00:00
Treehugger Robot
c6d627b268 Merge "Capture snapshot headers in parallel" 2020-03-05 00:03:00 +00:00
Chih-hung Hsieh
286c318fa0 Merge "Add bugprone to global clang-tidy default checks" 2020-03-04 22:18:27 +00:00
Treehugger Robot
5d95387398 Merge "Make a soong-only copy of generate-notice-files.py" 2020-03-04 21:56:04 +00:00
Inseob Kim
eda2e9c728 Capture snapshot headers in parallel
VNDK and vendor snapshot singleton work in a single thread, so globbing
in singleton results in ridiculus running time. Moving codes to
GenerateAndroidBuildActions to reduce running time.

Bug: 150406226
Test: VNDK_SNAPSHOT_BUILD_ARTIFACTS=true m dist vndk vendor-snapshot
Test: vendorSnapshotSingleton build time became 0.56s (from 10s)
Test: build.ninja building time became 1m11s (from 1m21s)
Change-Id: I4a081eef5847c62ca00280ca426f5b4e10f87b59
2020-03-04 23:39:42 +09:00
Nicolas Geoffray
1228e9c0ba Add a nice install paths for module SDKs and exports.
Following how NDK also creates its own install path.

Bug: 142935992
Test: cc_sdk_test.go, java_sdk_test.go
Change-Id: I98a3656903f37f6d7c90e6cf609431b2461a6161
2020-03-04 14:20:46 +00:00
Automerger Merge Worker
ea1fcb630f PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES is applicable to override_apex am: 20bacabe0b
Change-Id: Ia1255de0c065be74bfa4be7d88a19800be2e603c
2020-03-04 05:57:11 +00:00
Jiyong Park
20bacabe0b PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES is applicable to override_apex
apex { name: "foo" }
override_apex { name: "override_foo", base:"foo" }

PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES := foo:com.android.foo

Previously, the override was done only for the overridden package "foo",
but not for "override_foo". Fixing this issue by using ctx.ModuleName()
when finding the package name to use.

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

Bug: 150645663
Test: m
Merged-In: I2947e5c75369216a4bbce8749503236be86771c3
(cherry picked from commit a519c54dd3)
Change-Id: I2947e5c75369216a4bbce8749503236be86771c3
2020-03-04 12:03:59 +09:00
Automerger Merge Worker
fff0ad2041 Enable vndk-ext for product variants am: 0ecf0b223f
Change-Id: I6c000e1cfb142a20c6c5ab1067ab1043bd9b7579
2020-03-04 01:40:23 +00:00
Justin Yun
0ecf0b223f Enable vndk-ext for product variants
To build vndk-ext for product variants use `vndk.extends` property
with `product_specific: true` as for the vndk-ext for vendor
variants. For example:
cc_library {
    name: "libvndk_ext_product",
    product_specific: true,
    vndk: {
        enabled: true,
        extends: "libvndk",
    },
}

It will install the vndk-ext libs for product variants in
product/lib[64]/vndk/

Test: m nothing
Bug: 147778025
Change-Id: If1ee5be93c579abad302f44f18e6316f27e70019
2020-03-04 01:22:16 +00:00
Automerger Merge Worker
8813c95bb8 Merge "Update build_broken_logs script" am: 49b445cace
Change-Id: I5962efed46aed54c2488f31181263a1e235a469a
2020-03-04 00:38:46 +00:00
Treehugger Robot
49b445cace Merge "Update build_broken_logs script" 2020-03-04 00:21:51 +00:00
Automerger Merge Worker
2db5d65577 Merge "Make __ANDROID_APEX_<NAME>__ macro optional" am: 6efd3598c5
Change-Id: I71a7d1f7e0ad08f9edd037645ed9b38f1457816d
2020-03-03 23:50:04 +00:00
Jooyung Han
6efd3598c5 Merge "Make __ANDROID_APEX_<NAME>__ macro optional" 2020-03-03 23:35:02 +00:00
Bob Badour
3911e6a1c4 Make a soong-only copy of generate-notice-files.py
This is an unchanged copy of build/make/tools/generate-notice-files.py

After this change, the make implementation of generate-notice-files.py
will change to take a required parameter for $(PRODUCT_OUT) and will
only include notices for files built under $(PRODUCT_OUT).

Because soong has the ability to walk dependency trees, the soong
version will likely change in the future to use that ability causing
both versions to move in different directions.

After those changes are complete, we can look into factoring out any
remaining shared logic.

Test: run manually and system image notices checked for changes

Change-Id: Id139a66503457615548b46e7996349ca0817e831
2020-03-03 13:50:53 -08:00
Automerger Merge Worker
27205840f4 Merge "Optimize FirstUniqueStrings and FirstUniquePaths" am: 1a0f984d43
Change-Id: Icccf040e94e300673a7a515845b8b9cac37f8d0d
2020-03-03 21:05:12 +00:00
Colin Cross
1a0f984d43 Merge "Optimize FirstUniqueStrings and FirstUniquePaths" 2020-03-03 20:48:35 +00:00
Chih-Hung Hsieh
70b9316309 Add bugprone to global clang-tidy default checks
Test: WITH_TIDY=1 make
Change-Id: I1533c30035296fb1eaa7e2ff42360c5ff60a1d07
2020-03-03 12:05:22 -08:00
Automerger Merge Worker
5439035616 Merge "Improve documentation of CompileMultiTargets and related properties" am: db78490ecb
Change-Id: Icaf4932ed0a1a5cf65a7eac131f1992d703fdc2d
2020-03-03 20:03:06 +00:00
Automerger Merge Worker
a86effc0bb Merge "Add -z separate-code to default ARM64 device flags" am: 593c8c332c
Change-Id: I6ee3df09f89169309f986d1e6aa3c56744266bbc
2020-03-03 20:03:02 +00:00
Paul Duffin
db78490ecb Merge "Improve documentation of CompileMultiTargets and related properties" 2020-03-03 19:59:49 +00:00
Ivan Lozano
593c8c332c Merge "Add -z separate-code to default ARM64 device flags" 2020-03-03 19:32:47 +00:00
Automerger Merge Worker
c579ed61a0 Only check copy rules into the snapshot directory am: e1ddcc9d5a
Change-Id: I5903b4192cc108302215d1680ab160d88a701d6e
2020-03-03 18:18:34 +00:00
Ivan Lozano
c80bbb46b1 Add -z separate-code to default ARM64 device flags
Removing XOM had the side effect of removing "-z separate-code", which
was needed to override a new default after a recent toolchain update.
This led to some performance regressions in some tests. For now, add
this flag to the global arm64 device flags to return to the previous
behavior.

Bug: 150506341
Test: m -j
Change-Id: I54787954141d133e245dfd259a37bf4c3c8e7caa
2020-03-03 16:09:08 +00:00
Paul Duffin
e1ddcc9d5a Only check copy rules into the snapshot directory
Test: m nothing
Change-Id: I6d9ab5a9f003193c5791a4ee6d3ee35730ddf96c
2020-03-03 16:02:26 +00:00
Automerger Merge Worker
578e7c8d35 Merge "Simplify java library sdk member code" am: 68e7d4a212
Change-Id: I6a0ab21d568a3ee1c2d19a35cfddafe91f113f0a
2020-03-03 15:49:52 +00:00
Paul Duffin
68e7d4a212 Merge "Simplify java library sdk member code" 2020-03-03 15:38:30 +00:00
Automerger Merge Worker
2b7ffbf6fc Merge "Add CommonOS variant for sdk" am: 38301601f7
Change-Id: I641dd33fc3a4af1def67157529bcc0239fbbf2de
2020-03-03 14:44:13 +00:00
Paul Duffin
38301601f7 Merge "Add CommonOS variant for sdk" 2020-03-03 14:32:07 +00:00
Automerger Merge Worker
d679af350c Merge "Fix bug in error reporting when adding duplicate properties" am: 193d3b8e86
Change-Id: Ib9929e402cf3ed0c5649c25c98f2a494938734a2
2020-03-03 02:04:15 +00:00
Treehugger Robot
193d3b8e86 Merge "Fix bug in error reporting when adding duplicate properties" 2020-03-03 01:50:12 +00:00
Automerger Merge Worker
97cdc9ed00 Simplify message around nsjail error am: 1871d88e4f
Change-Id: I1f5aec4e094df4806041c86e1f4bc82771b7270c
2020-03-02 23:27:03 +00:00
Colin Cross
27027c765e Optimize FirstUniqueStrings and FirstUniquePaths
FirstUniquePaths is called on some long lists where the O(n^2)
behavior is problematic.  Use a map-based implementation for
longer lists.

Test: TestFirstUniqueStrings
Change-Id: I7181aba869e5ccc0f99c2fa7b8f03839f06e4307
2020-03-02 15:00:15 -08:00
Dan Willemsen
1871d88e4f Simplify message around nsjail error
We have known problems (docker; distros w/o user namespaces) which mean that we won't be turning this into a fatal error anytime soon. Also remove the bug report link, it's not useful to continue getting the same reports.

Change-Id: I271871d68150417ac938f074d3730cad4518e327
Test: treehugger
2020-03-02 20:36:06 +00:00
Paul Duffin
ca7f0efc2d Improve documentation of CompileMultiTargets and related properties
Test: m nothing
Change-Id: I1e3f0bf7e2a1303d2519d8405a228e9234235514
2020-03-02 19:32:40 +00:00
Paul Duffin
f5c0a9c8f3 Simplify java library sdk member code
Adds the accessor function for retrieving the impl/header jars to the
librarySdkMemberType structure instead of passing it into its
buildSnapshot() method.

That enabled:
* The removal of the [header/impl]LibrarySdkMemberType structs.
* The removal of their implementations of BuildSnapshot.
* Replacing buildSnapshot() with BuildSnapshot()

This will make subsequent refactoring of the SdkMemberType interface
a little simpler.

Test: m nothing
Bug: 150451422
Change-Id: I1f96986bb497cf9d9df9916e40065f66b35a4704
2020-03-02 19:32:40 +00:00