Commit Graph

45827 Commits

Author SHA1 Message Date
Pedro Loureiro
c362142438 Perform validation of shared library attributes
Perform consistency checks as per http://go/updatable-shared-libraries

These include:
  * no attribute can specified can be less than T
  * max-device-sdk can't be less than min-device-sdk
  * min and max-device-sdk need to be at least the module's
  min_sdk_version
  * using on-bootclasspath-before implies that the module's
  min_sdk_version is at least T or the library has min-device-sdk of at
  least T

Test: m nothing

Bug: 191978330

Change-Id: Iaca5cf23fb0bc7e65effb3529c8e829560894c2e
Merged-In: Iaca5cf23fb0bc7e65effb3529c8e829560894c2e
(cherry picked from commit f9e584dd20)
2021-11-24 17:09:19 +00:00
Pedro Loureiro
9956e5e281 Add support for new permissions library tag attributes
We are expanding PackageManager's supported attributes and this change
enables the developer to define them in the .bp file.

Test: m nothing

Bug: 191978330

Change-Id: I01d579190fb585662086a7fc456f3b33cb89fb57
Merged-In: I01d579190fb585662086a7fc456f3b33cb89fb57
(cherry picked from commit 826863c8e0)
2021-11-24 17:09:18 +00:00
Usta Shrestha
8c64fa9a8e Merge "Minor refactoring of Append/PrependProperties() methods Test: m nothing and compare ninja file Bug: n/a" 2021-11-24 15:18:37 +00:00
Jingwen Chen
4ad40d99b0 Add a mutex for soong config var map writes.
Fixes: 207572723
Test: CI
Change-Id: Ide4ca9961b8615186c3ab703c461b6ef53ef656e
2021-11-24 03:42:35 +00:00
Martin Stjernholm
ae44fd8032 Don't pass ":=" in variable name to AndroidMkEntries.SetString.
Fixes typos in https://r.android.com/1897972.

Test: m SOONG_CONFIG_art_module_source_build=false nothing
Bug: 204136549
Change-Id: I768c21bc99bfb4978fcf7f4f3631eef866e76764
2021-11-23 23:17:33 +00:00
Usta
ef3676c94b Minor refactoring of Append/PrependProperties() methods
Test: `m nothing` and compare ninja file
Bug: n/a

Change-Id: If6e4a0de0a8f4f479fe3cbe044cf50d07648c8d9
2021-11-23 17:31:51 -05:00
Treehugger Robot
b5f81d2a6a Merge "Account for "validations:"" 2021-11-23 22:12:26 +00:00
Cole Faust
b3b28012b9 Merge "Print product vars in board config launcher" 2021-11-23 20:46:45 +00:00
Bob Badour
0174ae3ae0 Account for "validations:"
Change-Id: I72b188c8cac54aa59d31e91b2a03b1329384e686
2021-11-23 12:12:06 -08:00
Sophie Zheng
1469ff6ece Merge "NDK API coverage" 2021-11-23 17:38:08 +00:00
Jingwen Chen
d43d4a4cdf Temporarily disable //system/apex from bp2build due to flaky failures.
Bug: 207466993
Test: CI
Change-Id: Ie8fad3e34113e037271cd9f869babe7630d434ad
2021-11-23 12:41:17 +00:00
Jingwen Chen
01812020c1 Add support for writing all Soong config variables into @soong_injection.
Also remove the need to use bp2build_available on
soong_config_module_types as we want to convert every single of them
into the tree for a complete soong_injection soong_config_variables.bzl
file.

The variables are split into their bool, value and string types
respectively, as they all need to be handled differently on the Bazel
product_platform side, as well as for generating constraint values and
settings. For example, value variables need to integrate with
TemplateVariableInfo, and string variables need to include the string
value itself into the select key/constraint value.

Sample soong_config_variables.bzl file: https://gist.github.com/jin/cef700bfb20c8656a931306dd71d47e1

Test: CI
Bug: 198556411
Change-Id: I8665dd1269a507edb37de62407ed3641564bea5c
2021-11-23 08:37:30 +00:00
Jingwen Chen
58ff6801f4 Fix bp2build select generation for inter-attribute soong config
variable usage.

There's bug a in the current soong_config_variable handling
implementation where a soong_config_variable sets conditions_default
value for an attr, and a non-conditions_default value for another attr.
This results in the former attr not properly setting the zero value for
the non-conditions_default select key, resulting in the pretty printer
omitting the attribute totally.

The current implementation in this CL ensures that the zero value is set
whenever this happens at the module level. This is seen in
library_linking_strategy_cc_defaults (see comments in code, and the new
tests)

Test: CI
Bug: 198556411

Change-Id: Ibaeb94508c51a7429fb7a08df610cbb5470f76d2
2021-11-23 08:37:30 +00:00
Jingwen Chen
228ef1e370 Allowlist //system/apex.
This bp2builds the one cc_binary in that package that uses
library_linking_strategy_cc_defaults. That target is buildable, but
there's still a bp2build_available allowlist bug that causes the select
statements and static_libs deps to not show up for the target (only
dynamic_deps are), due to how bp2build_available is special cased for
soong_config_module_type in the loadhook.

Test: b build //system/apex:library_linking_strategy_sample_binary
Change-Id: Ic38a1bfaa476108db63348d030e196d8561300ca
2021-11-23 08:37:30 +00:00
Jingwen Chen
84817de033 Add support for merging defaults soong_config_module_types into bp2build
select statements.

This supports defaults from the same or different namespaces, and
transitively defaults as well.

Test: soong unit tests
Test: CI
Change-Id: I99435bacfcfbfe20ad753b8021a1779531d7595a
2021-11-23 08:37:30 +00:00
Jack Yu
bc07b0c67e Merge "Support for OMAPI Vendor stable interface" 2021-11-23 04:54:02 +00:00
Jooyung Han
9876c5eaab Remove libsync from apex_available allowlist
As libsync is NDK/LLNDK, it doesn't need to be aded to allowlist as
apex_available.

Bug: n/a
Test: m
Change-Id: I16cfb258a24bde4def428f1e6277f5d3c95c228c
2021-11-23 11:06:16 +09:00
Cole Faust
3c1868bbcc Print product vars in board config launcher
Bug: 201700692
Test: ./build/bazel/ci/rbc_regression_test.sh -b aosp_cf_x86_64_phone-userdebug
Change-Id: I1d3f6f13fc662807db2a86d1daffcc81433d82fc
2021-11-22 16:34:11 -08:00
Treehugger Robot
0662933a18 Merge "Set min_sdk_version (packages/modules/adb)" 2021-11-22 23:00:34 +00:00
Treehugger Robot
1125dc5317 Merge "Update rust prebuilt version to 1.56.1p1" 2021-11-22 22:51:02 +00:00
Treehugger Robot
3eb75a72a0 Merge "Revert "Revert "Switch to clang-r437112""" 2021-11-22 22:07:06 +00:00
sophiez
3691097ba9 NDK API coverage
Fixed typo in dist path for backed by.

Test: TARGET_BUILD_APPS=com.android.adbd m dist apps_only

Change-Id: Ic67c0bd5644dec11829f0dc2535016fec788a067
2021-11-22 11:49:49 -08:00
Pirama Arumuga Nainar
1381dceeba Update rust prebuilt version to 1.56.1p1
Respin rust point release 1.56.1p1 with cherry-pick of
https://reviews.llvm.org/D104556 (needed for Rust coverage).

Bug: https://issuetracker.google.com/issues/206980172
Test: m rust
Change-Id: Ib63a7d8128c86ae9291c4f5275726cfc3bc15f48
2021-11-22 09:55:44 -08:00
Colin Cross
ab6db81276 Merge "Move apex module installation into Soong" 2021-11-22 17:29:11 +00:00
Anton Hansson
c5eac1cf47 Merge "Silence unpack-prebuilt-apex" 2021-11-22 16:36:49 +00:00
Anton Hansson
ff2804e195 Silence unpack-prebuilt-apex
Build tools should not output anything on success, as it clutters
the terminal.

Test: No
Change-Id: Iadfc326be58b32d5cb4f40dd114d3f0a54dbd9b4
2021-11-22 15:07:35 +00:00
Treehugger Robot
07549129e2 Merge "Make CompOS library optional in PRODUCT_APEX_SYSTEM_SERVER_JARS" 2021-11-22 10:31:59 +00:00
Jooyung Han
4f71e12cc7 Set min_sdk_version (packages/modules/adb)
Many modules requiring min_sdk_version have been used without setting
it, but hard-coded in allowlist.

Bug: 158059172
Test: m
Change-Id: I6d11425f9c5db11cd52dd81f7500e4424555bfb5
2021-11-22 10:20:53 +09:00
Treehugger Robot
ec014011ea Merge "sbox: run commands using script for large commands" 2021-11-19 22:06:02 +00:00
Colin Cross
3d56ed5605 Prepend header jar for sharded javac compilation
When compiling without sharding javac will prefer classes built from
source over classes in the classpath.  Compiling with sharding puts
the header classes for all the sources onto the classpath, including
the sources that are not part of the current shard.  Emulate the
behavior when building without sharding by putting the header jar
first on the classpath so classes are resolved from the rest of
the sources before the real classpath.

Also switch to using the header jar without static libs dependencies
merged in, as those will already be present in the classpath.

Test: m framework-minus-apex
Test: m services.core
Test: TestSharding
Change-Id: Id11b39c15d89ce70da27d746a5c7e6b603c3c0f9
2021-11-19 21:57:21 +00:00
Colin Cross
6340ea50d4 Move apex module installation into Soong
Move apex module installation rules into Soong by overriding
InstallBypassMake.

Soong installs don't support post install commands, so move the
symlinks into separate rules and add dependencies on them.

This relands If65d283abc86f18ad266da0bf16fe95971a0bf9c with fixes
to install files into $OUT/apex and I606286e971b55d9d1fc4dcd0fbd476962de5fa79
with a fix for reversed logic.

Bug: 204136549
Test: m checkbuild
Change-Id: Ie65c53ebc7911efacdb8e11ba49059448f03c658
2021-11-19 13:37:36 -08:00
Colin Cross
500bba1b20 Merge "Revert "Move apex module installation into Soong"" 2021-11-19 21:33:46 +00:00
Colin Cross
555c52491d Revert "Move apex module installation into Soong"
This reverts commit 246e3eed67.

Reason for revert: broke aosp_bonito-userdebug build

Change-Id: Ib613f8f22532fe4588d3ec96aa001de869f8a633
2021-11-19 21:32:54 +00:00
Yuntao Xu
ac69c239d1 Merge "Revert^2 "Add seapp_contexts to allowlist of makefile goal"" 2021-11-19 19:24:55 +00:00
Colin Cross
50f6f869a2 Merge "Move apex module installation into Soong" 2021-11-19 19:24:02 +00:00
Treehugger Robot
71fe2cc783 Merge "A script to update the file contents with the command output." 2021-11-19 03:12:12 +00:00
Colin Cross
25f15a18e5 Merge changes from topic "app_set"
* changes:
  Install android_app_set modules in Soong
  Extract primary apk from apk set zip
2021-11-19 02:18:20 +00:00
Sasha Smundak
82b6e8483c A script to update the file contents with the command output.
Used to avoid rerunning Ninja files regeneration if m2rbc conversion
generated the same makefile.

Test: treehugger
Change-Id: I1b0a619f961e6d2c7bf99a48053ecb58147c6db0
2021-11-18 15:15:45 -08:00
Yuntao Xu
feb0756d41 Revert^2 "Add seapp_contexts to allowlist of makefile goal"
e87a81673e

Change-Id: I461f3ecdd0b0ea0a4b7b12531cf8b561e170df55
2021-11-18 22:33:02 +00:00
Treehugger Robot
f18bedf1c3 Merge changes from topics "dist_for_goals", "mk2star"
* changes:
  Generate runtime conversion diagnostics
  Convert dist-for-goals.
2021-11-18 22:04:52 +00:00
Colin Cross
246e3eed67 Move apex module installation into Soong
Move apex module installation rules into Soong by overriding
InstallBypassMake.

Soong installs don't support post install commands, so move the
symlinks into separate rules and add dependencies on them.

This relands If65d283abc86f18ad266da0bf16fe95971a0bf9c with fixes
to install files into $OUT/apex.

Bug: 204136549
Test: m checkbuild
Change-Id: I606286e971b55d9d1fc4dcd0fbd476962de5fa79
2021-11-18 13:13:44 -08:00
Treehugger Robot
7868f6818e Merge "Simplify equality expressions when comparing to "true"" 2021-11-18 21:11:17 +00:00
Cole Faust
f1f44d3d21 Simplify equality expressions when comparing to "true"
If a boolean type is compared to a string literal with
the value "true", it should just output that boolean
type unchanged (or prefixed with "not" if ifneq).

Fixes: 206637085
Test: go test
Change-Id: I0c116bb68b96d21ba3783c01fc4ca524aaa04143
2021-11-18 10:15:26 -08:00
Sasha Smundak
422b614355 Generate runtime conversion diagnostics
Instead of inserting a comment with error description into the generated code,
generate a call to a function that will print out a conversion error when executed.
Do not print generic "partially converted" message anymore.
Remove --verbose and --no_warnings options.

Bug: 204062171
Test: internal
Change-Id: Ib126e16dc76f49635e4939e670922f2561781049
2021-11-18 10:01:37 -08:00
Sasha Smundak
d679785d0d Convert dist-for-goals.
Bug: 198496782
Test: internal
Change-Id: I64ae938a5809238c18aca272ba73e4328fcb9efe
2021-11-18 10:01:37 -08:00
Vova Sharaienko
030878a492 Merge "Revert "Add seapp_contexts to allowlist of makefile goal"" 2021-11-18 17:56:09 +00:00
Vova Sharaienko
e87a81673e Revert "Add seapp_contexts to allowlist of makefile goal"
Revert submission 1795972-Convert security/Android.mk to Android.bp

Reason for revert: http://b/206976319 Broken build 7928060 on aosp-master on sdk_arm64-sdk
Reverted Changes:
I0e0e7f677:Split property and file contexts modules
I5596d6f00:Add seapp_contexts to allowlist of makefile goal
If685e5ccc:Convert security/Android.mk to Android.bp

Change-Id: I8cf8c0bc2f88172bb3bfa850bbd7ce6daa170c3d
2021-11-18 17:29:01 +00:00
Yuntao Xu
cd6c3cd868 Merge "Add seapp_contexts to allowlist of makefile goal" 2021-11-18 17:05:46 +00:00
Victor Hsieh
83742ea9e9 Merge "Revert "Include compos-module-sdk in the SDK build."" 2021-11-18 15:47:01 +00:00
Colin Cross
50ed1f9ccb Install android_app_set modules in Soong
Add support for installing extra files from a zip file when installing
a primary file, and use it to support installing android_app_set modules,
which install a primary APK and then an unknown set of additional splits
APKs.

Test: app_set_test.go
Test: install test android_app_set
Bug: 204136549
Change-Id: Ia92f7e5c427adcef3bcf59c82a2f83450905c01d
2021-11-17 19:55:33 -08:00