Commit Graph

73158 Commits

Author SHA1 Message Date
Treehugger Robot
ccfd736eda Merge "license metadata remove path on top-down walk" am: 159ae38aaa
Original change: https://android-review.googlesource.com/c/platform/build/+/1915582

Change-Id: I5d4af25da66c92813a13c0653c710d5adbc21109
2021-12-09 00:18:38 +00:00
Treehugger Robot
159ae38aaa Merge "license metadata remove path on top-down walk" 2021-12-08 23:55:26 +00:00
Treehugger Robot
1fb8dbd1c8 Merge "license metadata performance" am: d497acc1c9
Original change: https://android-review.googlesource.com/c/platform/build/+/1914147

Change-Id: I253cfc5ff436b441c1abe35a6b3069d194bd7dbd
2021-12-08 23:01:12 +00:00
Dan Willemsen
b66a55ea05 Merge "Add basic Darwin+Arm64 support as HOST_CROSS" am: e808bc4a09
Original change: https://android-review.googlesource.com/c/platform/build/+/1883492

Change-Id: If566a5f3a588db74cc6d54d4c107c0f1c88bea4c
2021-12-08 22:59:34 +00:00
Treehugger Robot
d497acc1c9 Merge "license metadata performance" 2021-12-08 21:47:39 +00:00
Dan Willemsen
e808bc4a09 Merge "Add basic Darwin+Arm64 support as HOST_CROSS" 2021-12-08 21:08:43 +00:00
Bob Badour
b285515ca1 license metadata remove path on top-down walk
Performance optimization means not every path will be traversed.

Instead of updating parents via the path, perform a 2nd bottom-up walk
after the top-down walk to propagate the new resolutions to parents.

Note: the 2nd walk method will add resolutions to statically linked
libraries etc. at deeper levels, but those do not affect what gets
reported. In particular, note that test data for dumpresolutions
changes, but none of the test data for listshare, checkshare etc.
changes.

Test: m all systemlicense listshare checkshare dumpgraph dumpresolutions

Bug: 68860345
Bug: 151177513
Bug: 151953481
Change-Id: I76361c4e33bbadbbea38cbec260430e8f9407628
2021-12-08 12:52:59 -08:00
Dan Willemsen
8820840d57 Add basic Darwin+Arm64 support as HOST_CROSS
Soong will use this to turn on universal binary support (X86_64 + Arm64
in the same binary).

Bug: 203607969
Test: m sdk-repo-platform-tools sdk-repo-build-tools on Mac
Change-Id: I04612136a42e85f4add95202ce20e741d9aaa302
2021-12-08 09:26:27 -08:00
Bob Badour
3a820dd5a0 license metadata performance
Tune the top-down walk to avoid needlessly walking the same subtree
over and over again with the same condition(s).

Takes walking system image down from 3m to 1.5s.

Test: m all systemlicense listshare checkshare dumpgraph dumpresolutions

Bug: 68860345
Bug: 151177513
Bug: 151953481

Change-Id: I4354800cd8dfc42efd4df274d2ce45eaa3e0a99f
2021-12-07 15:36:10 -08:00
Treehugger Robot
37d01f684d Merge "Add missing apksigner dependency" am: 1295bc5138
Original change: https://android-review.googlesource.com/c/platform/build/+/1891388

Change-Id: Ie10a161857ad6ecd4d3d5f2cf5a43a5f2c7a0e00
2021-12-07 12:57:53 +00:00
Treehugger Robot
1295bc5138 Merge "Add missing apksigner dependency" 2021-12-07 11:43:06 +00:00
Treehugger Robot
793100509c Merge "Revert "Revert "Move meta_lic files into per-module intermediates directories""" am: 0d8d378bd4
Original change: https://android-review.googlesource.com/c/platform/build/+/1910142

Change-Id: I36aa20e6861144f547955e4750c43f1cd011ffeb
2021-12-07 04:52:20 +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
195ace0fa6 Merge changes I5d48eaba,I4ff3f988 am: 203bbf3254
Original change: https://android-review.googlesource.com/c/platform/build/+/1870079

Change-Id: Idaf766bbdb25fa297f742764235a26bd7fe1bd65
2021-12-07 03:48:59 +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
a1a1606184 Merge changes I98694001,I5fe57d36 am: ea1a012972
Original change: https://android-review.googlesource.com/c/platform/build/+/1911224

Change-Id: Icc0b5417b5d874a1c57a0a75dc1c10307a6b6320
2021-12-07 03:08:04 +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
9498b39594 Merge "[cc/sanitize] Re-enable new pass manager for fuzzer targets" am: e813a4a023
Original change: https://android-review.googlesource.com/c/platform/build/+/1908951

Change-Id: Ief74d2d1faf733bab6a86fed95cceea956c4ad03
2021-12-06 21:42:56 +00: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
d8b85632e3 Merge "Pass input variables to product config" am: 8fb2d83457
Original change: https://android-review.googlesource.com/c/platform/build/+/1908233

Change-Id: I182cdec2014ebf8409ad192c1ffd82b2cda7cf5f
2021-12-05 04:05:50 +00:00
Cole Faust
8fb2d83457 Merge "Pass input variables to product config" 2021-12-05 03:43:24 +00:00
Daeho Jeong
3bda74b77e Merge "Add erofs tools in target" am: 9a26cdbccd
Original change: https://android-review.googlesource.com/c/platform/build/+/1908037

Change-Id: Idfce5a9c0945b59833ba12117e07d2e685768934
2021-12-04 05:21:07 +00:00
Daeho Jeong
9a26cdbccd Merge "Add erofs tools in target" 2021-12-04 05:04:15 +00:00
Treehugger Robot
e7d26816bb Merge "compliance package policy and resolves" am: 45deca7ff7
Original change: https://android-review.googlesource.com/c/platform/build/+/1870078

Change-Id: Ied21f22a1230f7865aad360c9bf77aadccd9fffa
2021-12-04 03:45:35 +00:00
Treehugger Robot
45deca7ff7 Merge "compliance package policy and resolves" 2021-12-04 03:29:58 +00:00
Treehugger Robot
8b078073c0 Merge "compliance package structures for license metadata" am: f645c5041e
Original change: https://android-review.googlesource.com/c/platform/build/+/1906558

Change-Id: I1e75ad6a44936f66c5d997590ffaf7d162b2fa1d
2021-12-04 03:08:13 +00:00
Treehugger Robot
f645c5041e Merge "compliance package structures for license metadata" 2021-12-04 02:49:23 +00:00
Treehugger Robot
7939f4bca2 Merge "Add Soong variable for optimizing system Java" am: 742874e0e6
Original change: https://android-review.googlesource.com/c/platform/build/+/1896612

Change-Id: I0ca5c029e3bc6213179d67f923cf962b6c0474eb
2021-12-04 01:25:26 +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
e414a733cb Merge "Reland: Add NEED_AIDL_NDK_PLATFORM_BACKEND" am: 160149e42d
Original change: https://android-review.googlesource.com/c/platform/build/+/1902831

Change-Id: I311adebfd0e51ee56a6d6c16b6f82093863880df
2021-12-03 11:17:57 +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
d821c63926 Merge "Revert "Move meta_lic files into per-module intermediates directories"" am: ccb353501d
Original change: https://android-review.googlesource.com/c/platform/build/+/1908224

Change-Id: Iffd05ce12c5338ebc545e6f3789431beae569bca
2021-12-03 01:06:06 +00: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
d24ec61b85 Merge "Move meta_lic files into per-module intermediates directories" am: dd93bd5b72
Original change: https://android-review.googlesource.com/c/platform/build/+/1906234

Change-Id: Id0864e473fc41db29f41284006858495476a26a9
2021-12-02 23:15:01 +00:00
Colin Cross
dd93bd5b72 Merge "Move meta_lic files into per-module intermediates directories" 2021-12-02 22:54:05 +00:00
Treehugger Robot
e802f38861 Merge "Remove 26.0 and 27.0 compat support" am: 5a0cef1c00
Original change: https://android-review.googlesource.com/c/platform/build/+/1904274

Change-Id: I299faad441b394d731b7ec0526b0954dfe995c1a
2021-12-02 06:46:29 +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