Commit graph

32380 commits

Author SHA1 Message Date
Ryan Prichard
809eac3057 Merge "Switch platform EH unwinder to prebuilt LLVM libunwind" 2021-01-20 00:10:59 +00:00
JaeMan Park
cdbbb1ea68 Merge "Make TestJavaSdkLibraryEnforce faster" 2021-01-20 00:00:54 +00:00
Treehugger Robot
de1357378b Merge "Implement code-generation step for bp2build." 2021-01-19 17:41:59 +00:00
Jingwen Chen
daa54bcbba Implement code-generation step for bp2build.
Implement bp2build codegen as a discrete step that runs after an
alternatively registered pipeline of mutators, instead of a
presingleton.

bp2build codegen requires a Context that supports VisitAllModules and
PathContext, so this CL also makes a BpToBuildWrapperContext that
conforms to PathContext by adding two method implementations.

Test: GENERATE_BAZEL_FILES=true m nothing && bazel query //... --config=bp2build | wc -l # 31433
Test: m queryview && bazel query //... --config=queryview # 63638

Change-Id: I0dd359746584b228046d2d0ff00895f28f9bdfc3
2021-01-19 11:03:36 -05:00
Christopher Parsons
ad3421aacf Merge "Improve aquery-related validation and error handling" 2021-01-19 14:59:51 +00:00
Paul Duffin
fe6147eb26 Merge "Export dex implementation jars from prebuilt_apex" 2021-01-19 14:34:29 +00:00
Treehugger Robot
0e3aaa47aa Merge "Remove unused parameter to newContext." 2021-01-19 13:10:28 +00:00
Inseob Kim
f61dfa5a02 Merge "Allow sysprop library API files to be missing" 2021-01-19 11:24:12 +00:00
Jingwen Chen
09b609d476 Remove unused parameter to newContext.
Test: TH, soong bootstrap tests
Change-Id: Ia7c0fdc2b5d784ef6b389858dab2fcbad35a3763
2021-01-19 04:55:02 -05:00
Chih-Hung Hsieh
4d31a041c7 Do not enable all clang-analyzer-* checks,
* clang-analyzer is slow and enables clang-diagnostic-padded,
  which cannot be suppressed yet.

Test: make with WITH_TIDY=1 for crosshatch-userdebug
Change-Id: I20193f0db3154b037d58c5ca012a9e753b176722
2021-01-15 21:10:35 -08:00
Treehugger Robot
9235fea8c3 Merge "add more global default checks" 2021-01-16 01:24:05 +00:00
Treehugger Robot
2207565b43 Merge "WITH_TIDY=1 implies -warnings-as-errors=-*" 2021-01-16 00:37:34 +00:00
Treehugger Robot
2b72906ade Merge "Add java_boot_libs to sdk" 2021-01-15 23:33:13 +00:00
Chih-Hung Hsieh
34850d350e add more global default checks
Test: make with and without WITH_TIDY=1
Change-Id: Iee07707158f7204e961970ba4d518403b3b2aaf3
2021-01-15 14:31:13 -08:00
Chih-Hung Hsieh
1b4934a215 WITH_TIDY=1 implies -warnings-as-errors=-*
* This allows local projects to enable clang-tidy
  and catch errors in a default build, but allows
  all warnings in a global build with WITH_TIDY=1.

Test: make with WITH_TIDY=1
Change-Id: I92a10af24b23ee9f04eebb0513e8f611dd7dcf59
2021-01-15 14:17:39 -08:00
Chris Parsons
4f069891ae Improve aquery-related validation and error handling
Also introduce test suite for aquery handling

Test: m nothing
Test: lunch aosp_flame && USE_BAZEL_ANALYSIS=1 m libc
Change-Id: I2493d42782099ea0b575968fca38bce6f0d59015
2021-01-15 13:53:57 -05:00
Paul Duffin
064b70c918 Export dex implementation jars from prebuilt_apex
Dexpreopt and boot jars package check all require access to dex
implementation jars created for java_library and java_sdk_library. They
were available when building from source but not when building from
prebuilts, even though they are embedded within the .apex files that
are referenced from prebuilt_apex.

This changes adds support to prebuilt_apex to export the dex
implementation jars and updates java_import to use those exported dex
implementation jars.

In a source build dexpreopt/boot jars package check access the apex (or
platform) specific variant of a java_library, e.g. core-oj, from which
it retrieves the dex implementation jar path.

After this change in a prebuilt build dexpreopt/boot jars package check
behave in the same way except in this case they retrieve the dex
implementation jar path from the apex (or platform) specific variant of
the java_import, e.g. core-oj.

The work to export files from a `.apex` file for use by other modules
is performed by a new `deapexer` module type. It is not used directly
in an `Android.bp` file but instead is created implicitly by
`prebuilt_apex`,

In order to do that this contains the following changes:
* Adds a new `dexapexer` module type to handle the exporting of files
  from the `.apex` file.
* Adds an exported_java_libs property to prebuilt_apex to specify the
  set of libraries whose dex implementation jars need exporting.
* Creates apex specific variants of the libraries listed in the
  exported_java_libs property.
* Adds the set of exported files to the ApexInfo to make them available
  to the apex specific variants.
* Prevents the prebuilt_apex variants from being merged together as
  they will not be compatible.
* Modifies java_import to use the exported file for variants of a
  prebuilt_apex.
* Adds a ninja rule to unpack (using deapexer) the contents of the
  prebuilt_apex's apex file, verify that the required files are present
  and make them available as outputs for other rules to use.
* Some minor refactorings to support these changes.
* Adds tests to cover prebuilt only, prebuilt with source preferred,
  and prebuilt preferred with source.

Test: m nothing
Bug: 171061220
Change-Id: Ic9bed81fb65b92f0d59f64c0bce168a9ed44cfac
2021-01-15 18:14:10 +00:00
Paul Duffin
db170e4a92 Add java_boot_libs to sdk
The build has some implicit dependencies (via the boot jars
configuration) on a number of modules, e.g. core-oj, apache-xml, that
are part of the java boot class path and which are provided by mainline
modules (e.g. art, conscrypt, runtime-i18n) but which are not otherwise
used outside those mainline modules.

As they are not needed outside the mainline modules adding them to
the sdk/module-exports as either java_libs, or java_header_libs would
end up exporting more information than was strictly necessary. This
change adds the java_boot_libs property to allow those modules to be
exported as part of the sdk/module_exports without exposing any
unnecessary information.

Some points to note:
* The java_import has to have a valid file for the src property
  otherwise it will be disabled.
* The src property is supposed to reference a jar file but the
  java_boot_libs property will make it reference an empty file (not
  an empty jar) so that any attempt to use that file as a jar, e.g.
  compiling against it, will cause a build failure.
* The name of the file passed to the src property should make it
  clear that the file is not intended to be used.
* The test makes sure that only the jar file is copied to the
  snapshot.

Test: m nothing
Bug: 171061220
Change-Id: I175331e4c8e3874ab70a67cdc2f76ed1576e41eb
2021-01-15 18:14:10 +00:00
Colin Cross
0dd19125eb Merge "manifest_fixer: Set targetSdkVersion to '16' for libraries" 2021-01-15 17:13:31 +00:00
Inseob Kim
c9770d6a9c Allow sysprop library API files to be missing
If sysprop library contains only internal properties, the API txt file
will be empty. This allows the API files to be missing in such cases to
turn off API-Review bit.

Bug: 177036449
Test: manual test
Change-Id: I8cb0b10e135cf211dae45ab14ccc9bc04e248634
2021-01-15 18:10:05 +09:00
JaeMan Park
90e75350d7 Make TestJavaSdkLibraryEnforce faster
TestJavaSdkLibraryEnforce is too slow because it tests all
combinations of options. Change TestJavaSdkLibraryEnforce to
run test on specific test cases, not all combinations.

Bug: 177323052
Test: go test -timeout 10s -run ^TestJavaSdkLibraryEnforce$ android/soong/java
Change-Id: Ie7fe4e22b570a3e25259a6ad4bd37936805c6604
2021-01-15 13:24:09 +09:00
Treehugger Robot
b47dcf7f0d Merge "Adjust the double loadable check" 2021-01-15 02:22:09 +00:00
Treehugger Robot
ee8ae11c0f Merge "Must use vendor variant for health storage AIDL HAL" 2021-01-14 22:22:08 +00:00
Chris Li
46cad069d1 Revert "To use same default for the nightly builds."
This reverts commit b063dc4221.

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=crosshatch-userdebug&lkgb=7080774&lkbb=7082597&fkbb=7080869, bug 177549474

Test: make
Change-Id: I8b6cf3b56fddde9832e1428a3d1aef00f19637fb
2021-01-14 13:37:54 -08:00
Andrew Wheeler
18dcd046ad manifest_fixer: Set targetSdkVersion to '16' for libraries
manifest_fixer.py sets a lib's targetSdkVersion to '15' if it is
not explicitly set.  But ManifestMerger will add dangerous
permissions CALL_LOG_READ/CALL_LOG_WRITE if the following
conditions are met:

    - The app's targetSdkVersion is >16
    - A linked lib's targetSdkVersion is <16
    - The app has CONTACTS_READ/CONTACTS_WRITE permissions

This condition is triggered for some (OEM) app builds (of
Settings).  Update manifest_fixer.py to use '16' as its default
targetSdkVersion so that manifest_merge doesn't add these
dangerous permissions.

Change-Id: Id5f41f7da98c190c8d145fceba0085cf473f4c7a
2021-01-14 14:11:39 -06:00
Colin Cross
6c0a9f69e9 Merge "Remove global state from VNDK" 2021-01-14 18:31:06 +00:00
Thiébaud Weksteen
d7e51e0891 Merge "Use 1.49.0 prebuilts" 2021-01-14 18:26:41 +00:00
Janis Danisevskis
0ce3a40bf8 Merge "The build related changes for Secure Clock and Shared Secret functionalities." 2021-01-14 18:04:02 +00:00
Treehugger Robot
2463ec5ad5 Merge "Update apex/allowed_deps.txt" 2021-01-14 11:35:06 +00:00
Paul Duffin
4746ae400c Merge "Extract ApexFileProperties from apex PrebuiltProperties" 2021-01-14 11:07:16 +00:00
Mathew Inwood
ecbe5598fc Merge "Move temp blocklist APIs to max-sdk-r list." 2021-01-14 10:23:13 +00:00
Mill Chen
797e067b1c Update apex/allowed_deps.txt
Import intermediate-AndroidX Design Library from local Maven ZIP.

Bug: 177216791
Test: build/soong/scripts/update-apex-allowed-deps.sh
Change-Id: Iffdf5e03f76fa5583a751d048ccb85b69c091de2
Merged-In: Iffdf5e03f76fa5583a751d048ccb85b69c091de2
2021-01-14 17:57:05 +08:00
Jiyong Park
0474e1f677 Adjust the double loadable check
The check no longer tracks private dependencies like stubImplDepTag and
staticVariantTag. It also doesn't do the check for double_loadable
libraries that are not depended on by a LLNDK library.

Bug: N/A
Test: m
Test: add 'double_loadable: true, gen_trace: true` to an aidl_interface
module. The build doesn't break.

Change-Id: Iccd1a9d445a48d03c373708ba1bdd34b9a7f152d
2021-01-14 18:29:47 +09:00
Maciej Żenczykowski
47dbd2619b Merge "Add bpf_syscall_wrappers for tethering apex and update allowed-deps.txt" 2021-01-14 07:36:50 +00:00
Ryan Prichard
b35a85ee8b Switch platform EH unwinder to prebuilt LLVM libunwind
For the platform libc++ STL, remove the
-Wl,--exclude-libs,libunwind_llvm.a argument, which is redundant with
the same argument in deviceGlobalLdflags.

Bug: http://b/153025717
Test: device boots
Change-Id: Idd7791d52f74aab2d5f59419fb75f841fc29a2eb
2021-01-13 19:51:06 -08:00
Colin Cross
7821224d8e Remove global state from VNDK
Move the global lists of VNDK modules into boolean properties on the
modules themselves, and use the new SingletonModule functionality
to visit all modules and collect the list of modules with the properties
set.

Bug: 176904285
Test: all soong tests
Test: m checkbuild
Test: compare Soong outputs
Change-Id: Icf7e2f8f190a517d30f0780e98762bc0084ddb24
2021-01-13 16:44:32 -08:00
Yifan Hong
78d0f4880c Must use vendor variant for health storage AIDL HAL
Test: mmma hardware/interfaces/health/storage
Bug: 177470478
Change-Id: Iae8dc547d68ecb528c0eb9684353267c1dd30459
Merged-In: Iae8dc547d68ecb528c0eb9684353267c1dd30459
2021-01-13 16:11:45 -08:00
Paul Duffin
851f3995bc Extract ApexFileProperties from apex PrebuiltProperties
The properties and logic to select the appropriate arch specific src
property will need to be shared between the 'prebuilt_apex' module type
and an upcoming 'deapexer' module type to which the `prebuilt_apex`
will delegate responsibility for exporting the '.apex' file's contents.
This refactoring extracts them into the new ApexFileProperties struct
for reuse.

Bug: 171061220
Test: m nothing
Change-Id: Iac321a28afc469e885ee5b19ad33fecd94117236
2021-01-13 23:22:13 +00:00
Chih-Hung Hsieh
b767f913f1 Fix comment.
Test: make
Change-Id: I6c69549cb873e1d160ec6d590749361dc1a291dd
2021-01-13 13:24:15 -08:00
Chih-hung Hsieh
66f7fdd1c8 Merge "To use same default for the nightly builds." 2021-01-13 21:22:48 +00:00
Evgenii Stepanov
8b638ad78e Merge "Add memtag_heap notes to allowed deps." 2021-01-13 19:53:27 +00:00
Hungming Chen
e261c0107a Add bpf_syscall_wrappers for tethering apex and update allowed-deps.txt
Split the BPF system calls header definition into a new header library
(bpf_syscall_wrappers). Both platform and tethering apex require the
BPF system call definition. Move the definition from system/bpf/
libbpf_android/include/bpf/BpfUtils.h to frameworks/libs/net/
common/native/bpf_syscall_wrappers

Test: build, flash and run atest BpfMapTest
Change-Id: Ief5ffbb96c216796e4f0f4cacbde7c08f4af274a
2021-01-13 17:09:21 +00:00
Mathew Inwood
c1be2f8105 Move temp blocklist APIs to max-sdk-r list.
These APIs were temporarily blocked but are now being moved to the
max-sdk-r for final release. Tag these APIs as "lo-prio" since we
believe that they are unused.

Bug: 173499988
Test: m
Change-Id: If9c6be963faa75df77cf3cc7761b384324c8cd3e
2021-01-13 15:49:17 +00:00
Nicolas Geoffray
e045b0cff8 Merge "Add tzdata-module-test-exports to the list of targets." 2021-01-13 14:19:44 +00:00
Orion Hodson
62555ffa5a Merge "Remove remaining libnativehelper implicit includes" 2021-01-13 06:11:03 +00:00
Evgenii Stepanov
aa12c9b040 Add memtag_heap notes to allowed deps.
Bug: b/135772972
Test: build with SANITIZE_TARGET=memtag_heap
Merged-In: Id580f55cc9ee6d0ef452d7c0d84f56bf8cd1402a
Change-Id: Id580f55cc9ee6d0ef452d7c0d84f56bf8cd1402a
2021-01-12 21:22:35 -08:00
Colin Cross
2bcb4940bb Merge changes Ib29ede45,I1b2bfdfb
* changes:
  Create LLNDK vendor variants when DeviceVndkVersion is not set
  Add a new SingletonModule type
2021-01-12 20:43:39 +00:00
Evgenii Stepanov
e7c39a5da4 Merge "Include/exclude lists for memtag_heap sanitizer." 2021-01-12 19:33:02 +00:00
Chirag Pathak
cfa220559d The build related changes for Secure Clock and Shared Secret functionalities.
Also restored sorting.

Test: N/A
Bug: b/171844725
Bug: b/168673523

Change-Id: I423e08cab38ef685fd9eb6a3c338e285de0e8757
2021-01-12 11:13:16 -08:00
Mohammad Islam
fdb9e89642 Merge "Add property to apex soong modules to forcefully compress an APEX" 2021-01-12 13:51:50 +00:00