Commit Graph

72693 Commits

Author SHA1 Message Date
Cole Faust
fdff6b1e9c Allow multiple patterns in rblf_wildcard
This is to match the functionality of make's $(wildcard)

Bug: 201700692
Test: go test
Change-Id: Ib20c4a4aa9642a2d76b5da5c7accd60e6b91c8fc
2021-12-08 17:52:40 -08:00
Treehugger Robot
1295bc5138 Merge "Add missing apksigner dependency" 2021-12-07 11:43:06 +00:00
Treehugger Robot
0d8d378bd4 Merge "Revert "Revert "Move meta_lic files into per-module intermediates directories""" 2021-12-07 04:33:01 +00:00
Treehugger Robot
203bbf3254 Merge changes I5d48eaba,I4ff3f988
* changes:
  compliance package documentation
  compliance package: listshare and checkshare
2021-12-07 03:24:23 +00:00
Treehugger Robot
ea1a012972 Merge changes I98694001,I5fe57d36
* changes:
  compliance package: dumpresolutions
  compliance package for license metadata: dumpgraph
2021-12-07 02:55:12 +00:00
Bob Badour
afaeb6ae5f compliance package documentation
Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Test: m systemlicense
Test: m listshare; out/soong/host/linux-x86/bin/listshare ...
Test: m checkshare; out/soong/host/linux-x86/bin/checkshare ...
Test: m dumpgraph; out/soong/host/linux-x86/dumpgraph ...
Test: m dumpresolutions; out/soong/host/linux-x86/dumpresolutions ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I5d48eababce7bba39795d3668eee86b332cbe43d
2021-12-06 16:39:35 -08:00
Bob Badour
6dd0035e04 compliance package: listshare and checkshare
package to read, consume, and analyze license metadata and dependency
graph.

Includes the below command-line tools:

listshare outputs csv of projects to share to meet restricted and
reciprocal license requirements with one project per line. The first
field is the path to the project, and subsequent fields identify the
license resolutions as colon-separated target:annotations tuples.

checkshare outputs error messages to stderr for any targets where
policy dictates both sharing and not sharing the source-code, and PASS
or FAIL to stdout. exit status indicates success 0 or conflict found 1

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Test: m systemlicense
Test: m listshare; out/soong/host/linux-x86/bin/listshare ...
Test: m checkshare; out/soong/host/linux-x86/bin/checkshare ...
Test: m dumpgraph; out/soong/host/linux-x86/dumpgraph ...
Test: m dumpresolutions; out/soong/host/linux-x86/dumpresolutions ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I4ff3f98848f7e6d03a35734300d763ef5f245d53
2021-12-06 16:39:35 -08:00
Bob Badour
1ded0a1b18 compliance package: dumpresolutions
package to read, consume, and analyze license metadata and dependency
graph.

Includes the below command-line tool:

dumpresolutions outputs the resulting set of resolutions after the
bottom-up and top-down resolves, or after joining 1 or more condition
walks.

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Test: m systemlicense
Test: m dumpgraph; out/soong/host/linux-x86/dumpgraph ...
Test: m dumpresolutions; out/soong/host/linux-x86/dumpresolutions ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I9869400126cd7ad4b7376b0bab31b46aad732f5d
2021-12-06 16:38:08 -08:00
Bob Badour
fa739da020 compliance package for license metadata: dumpgraph
package to read, consume, and analyze license metadata and dependency
graph.

Includes testdata/ and the the below command-line tool:

dumpgraph outputs edges of the graph as "target dependency annotations"

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Test: m systemlicense
Test: m dumpgraph; out/soong/host/linux-x86/dumpgraph ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I5fe57d361da5155dbcb2c0d369626e9200c9d664
2021-12-06 16:37:17 -08:00
Treehugger Robot
e813a4a023 Merge "[cc/sanitize] Re-enable new pass manager for fuzzer targets" 2021-12-06 21:40:10 +00:00
Cole Faust
8fb2d83457 Merge "Pass input variables to product config" 2021-12-05 03:43:24 +00:00
Daeho Jeong
9a26cdbccd Merge "Add erofs tools in target" 2021-12-04 05:04:15 +00:00
Treehugger Robot
45deca7ff7 Merge "compliance package policy and resolves" 2021-12-04 03:29:58 +00:00
Treehugger Robot
f645c5041e Merge "compliance package structures for license metadata" 2021-12-04 02:49:23 +00:00
Treehugger Robot
742874e0e6 Merge "Add Soong variable for optimizing system Java" 2021-12-04 01:07:34 +00:00
Bob Badour
9ee7d03e1c compliance package policy and resolves
package to read, consume, and analyze license metadata and dependency
graph.

Bug: 68860345
Bug: 151177513
Bug: 151953481

Change-Id: Ic08406fa2250a08ad26f2167d934f841c95d9148
2021-12-03 15:52:48 -08:00
Bob Badour
a99ac620dd compliance package structures for license metadata
package to read, consume, and analyze license metadata and dependency
graph.

Bug: 68860345
Bug: 151177513
Bug: 151953481
Change-Id: I3ebf44e4d5195b9851fd076161049bf82ed76dd2
2021-12-03 15:52:48 -08:00
Colin Cross
52a0c97e5a Revert "Revert "Move meta_lic files into per-module intermediates directories""
This reverts commit e41ad14f58.

Change-Id: I77211030b657b894002a1a1bded773b3c4b0334a
2021-12-03 22:46:20 +00:00
Daeho Jeong
99f5c768c7 Add erofs tools in target
Bug: 201685920
Test: mm fsck.erofs
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Change-Id: I43ebe6c40c705526e205a08fe8fcd34d265d0245
2021-12-03 19:37:46 +00:00
Jiyong Park
160149e42d Merge "Reland: Add NEED_AIDL_NDK_PLATFORM_BACKEND" 2021-12-03 10:56:52 +00:00
Cole Faust
f1f49bb910 Pass input variables to product config
Passing variables via a makefile instead of
rblf_cli / rblf_env allows us to give them correct
types while converting the makefile to starlark,
as opposed to the variables always being strings
when given via rblf_cli / rblf_env.

This also allows us to remove some hand-converted
starlark code.

Bug: 201700692
Test: ./out/soong/rbcrun ./build/make/tests/run.rbc
Change-Id: I58c4f20b29171c14e5ae759beb26a849426f6961
2021-12-02 20:47:31 -08:00
Colin Cross
ccb353501d Merge "Revert "Move meta_lic files into per-module intermediates directories"" 2021-12-03 00:46:31 +00:00
Colin Cross
e41ad14f58 Revert "Move meta_lic files into per-module intermediates directories"
This reverts commit 44858d35ce.

Reason for revert: b/208892388

Change-Id: I058e988a8949ed9aa1fac086a69b37a053681982
2021-12-03 00:44:23 +00:00
Jared Duke
2819a5beed Add Soong variable for optimizing system Java
Introduce a Soong variable to allow selective enabling of Java
optimizations for platform targets. This will be used initially
to control optimizations (and shrinking) for system server + sysui.

Opting in to optimizations can be achieved with either:
  * Env:
export SYSTEM_OPTIMIZE_JAVA=true
  * Make:
$(call add_soong_config_var_value,ANDROID,SYSTEM_OPTIMIZE_JAVA,true)

Note that the actual framework build rule changes to hook into this
variable will land separately.

Bug: 203088572
Test: `SYSTEM_OPTIMIZE_JAVA=true m` (observe env variable change log)
Change-Id: I959985bdff394c2445cb1632116846a8d2f5443d
2021-12-02 15:56:10 -08:00
Colin Cross
dd93bd5b72 Merge "Move meta_lic files into per-module intermediates directories" 2021-12-02 22:54:05 +00:00
Treehugger Robot
5a0cef1c00 Merge "Remove 26.0 and 27.0 compat support" 2021-12-02 06:26:58 +00:00
Pirama Arumuga Nainar
49f052d155 [cc/sanitize] Re-enable new pass manager for fuzzer targets
Bug: http://b/133876586

This was turned off but the upstream change fixing this has been long
part of the Android toolchain.

Test: Output of
  m aidl_parser_fuzzer; readelf aidl_parser_fuzzer | grep -c sancov
hasn't changed.

Change-Id: I1d5f9c94cebad74ee00adc1290bbf425bb5c4cd3
2021-12-01 20:50:38 -08:00
Jiyong Park
c99f65fa6c Reland: Add NEED_AIDL_NDK_PLATFORM_BACKEND
The config variable is used to force the generation of the AIDL
ndk_platform backend which will eventually be removed in favor of the
ndk backend. The switch is needed as an escape hatch for some devices
whose BSP (outsourced and thus hardly modifiable) depends on the
ndk_backend libraries.

Bug: 161456198
Test: m

Merged-In: Iba8633263ae649af783e94b01f5c1b5c6e042948
Change-Id: I8b73a6a1e5169c35daf333316857b3c3b110a0f7
2021-12-02 13:16:13 +09:00
Cole Faust
b3eb2087df Merge "Strip more board config variables" 2021-12-01 23:30:32 +00:00
Treehugger Robot
b5373a9845 Merge "Add 32.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS" 2021-12-01 23:10:38 +00:00
Colin Cross
44858d35ce Move meta_lic files into per-module intermediates directories
Store the meta_lic files in the per-module intermediates directories
to avoid conflating multiple variants for the same module, for example
host and device.

Bug: 207445310
Test: m checkbuild
Change-Id: I2b0ca22c1f7b069f79d2026707be3294c488f6de
2021-12-01 14:38:13 -08:00
Cole Faust
f900cb4c12 Merge "Correctly copy the board configuration input variables" 2021-12-01 22:37:09 +00:00
Colin Cross
3db143c452 Merge "Remove duplicate includes of BUILD_NOTICE_FILE" 2021-12-01 21:08:12 +00:00
Cole Faust
3be5b72ad6 Correctly copy the board configuration input variables
dict(**h[0]) was only copying the top level dictionary
object, but not any other dictionaries/lists inside of
it. This was causing us to not find all the changes to
variables the board configuration was making, and so
some variables were not included in the output.

Bug: 201700692
Test: ./build/bazel/ci/rbc_regression_test.sh mainline_system_x86_64-userdebug
Test: ./out/soong/rbcrun ./build/make/tests/run.rbc
Change-Id: I4467eead7e597f6f49119a8c4832126f39d646e7
2021-12-01 11:06:23 -08:00
Tianjie Xu
fab626b7d0 Merge "Revert "Temporarily remove the care_map in the ota package"" 2021-12-01 18:23:41 +00:00
Jiakai Zhang
1ecb2f952c Merge "Add a variable to specify standalone system server jars." 2021-12-01 12:29:37 +00:00
Kedar Chitnis
161c7aa777 Merge "Add dumpstate device AIDL HAL packages to target/product/gsi/current.txt" 2021-12-01 12:16:33 +00:00
Tianjie Xu
2f76f90616 Revert "Temporarily remove the care_map in the ota package"
This reverts commit 5856cfbf82.

Reason for revert: re-enable care_map b/205541521

Change-Id: I64b4637991a80c9d08a28bdd324c47b4067b1762
2021-12-01 05:54:27 +00:00
David Anderson
0096a750c2 Merge "build_image: Query the actual image size after invoking the final mkfs." 2021-12-01 03:28:10 +00:00
Treehugger Robot
9118768352 Merge "Define $(PRODUCT_OUT) before running the board config" 2021-12-01 01:15:53 +00:00
Treehugger Robot
a9bc0e1db5 Merge "Embed zucchini version info in target_files" 2021-11-30 23:35:29 +00:00
David Anderson
009d6f8c73 build_image: Query the actual image size after invoking the final mkfs.
It's not guaranteed that the requested image size to mkfs is precisely
respected, due to metadata alignment and such. For accurate care maps
use the real image size rather than requested.

Bug: 205541521
Test: smartsync to 7892270, check that care_map.pb has the right block
      count
Change-Id: I60fe64f720db13d3c3c4f1d8968341d7293217c9
2021-11-30 15:13:56 -08:00
Cole Faust
29bb6132c8 Strip more board config variables
These variables' values show up in the command line
of certain build commands, so they need to be stable
to have stable ninja files.

The starlark board configuration strips these variables,
causing a discrepency between the starlark and make
versions of board configuration.

Bug: 201700692
Test: ./build/bazel/ci/rbc_regression_test.sh beagle_x15-userdebug
Change-Id: Id053435409821a3fe5997c07610ef835e0c83112
2021-11-30 14:00:57 -08:00
Colin Cross
143af9284f Remove duplicate includes of BUILD_NOTICE_FILE
Some module types include BUILD_NOTICE_FILE a second time after
the include from base_rules.mk.  This won't work after a future
change, and doesn't seem to be necessary as none of the files
leave any modified LOCAL* variables in place for notice_files.mk
to read.

Bug: 207445310
Test: m checkbuild
Change-Id: I8c68888d6bf26926f5c2216abe147ccf28ddc2b8
2021-11-30 13:20:01 -08:00
Kelvin Zhang
c06f0627c3 Embed zucchini version info in target_files
external/zucchini/version_info.h contains version info for zucchini
diffing algorithm. OTA tools will use these version info to check for
compatibility and determine if zucchini can be used safely. Owners of
zucchini agreed to keep the format of version_info.h stable so it's
parser friendly.

Bug: 194237829
Test: m dist
Change-Id: If8e37533933b346d3f03adab9263679910ab328c
2021-11-30 12:38:39 -08:00
Colin Cross
6013329bff Merge "Make SOONG_HOST_OUT an alias for HOST_OUT" 2021-11-30 20:31:26 +00:00
Cole Faust
52e5d9c776 Define $(PRODUCT_OUT) before running the board config
Certain board configurations reference $(PRODUCT_OUT)
through deferred expansion, which will no longer work
after conversion to starlark.

Bug: 201700692
Test: build/bazel/ci/rbc_regression_test.sh -b yukawa-userdebug
Change-Id: I02055f5c4a05e540c1752d5964d4db4306292c3b
2021-11-30 11:24:33 -08:00
Jiakai Zhang
44ffb21e53 Add a variable to specify standalone system server jars.
This is the list of jars that system_server loads dynamically using
separate classloaders. We will rely on this variable to decide which
jars to preopt in the build system and on the device for system_server.

The list is supposed to be in sync with the code in SystemServer.java.
There will be a follow-up CL to add a comment in SystemServer.java to
remind developers to keep them in sync.

Bug: 203198541
Test: m nothing
Change-Id: I305a73218ef2d2c61ac3795d21026b2afe7007fd
2021-11-30 11:07:37 +00:00
Treehugger Robot
d373dd2938 Merge "Use dex2oat64 on 64-bit-only builds" 2021-11-30 09:48:09 +00:00
Roland Levillain
9bc6186a78 Merge "Remove gdbserver from PRODUCT_PACKAGES_DEBUG in base_system.mk." 2021-11-30 09:19:09 +00:00