Commit Graph

5839 Commits

Author SHA1 Message Date
Paul Duffin
3ed2d0e53c Merge "Add support for excluding libraries from class loader contexts" am: e95d77b964 am: ab9e6fe18f am: 7c89c48887 am: 10ccb6c274
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1971343

Change-Id: Ia03300d88199034f2cf07dbb9ca229e5e13ceb00
2022-02-07 18:39:48 +00:00
Paul Duffin
e95d77b964 Merge "Add support for excluding libraries from class loader contexts" 2022-02-07 17:52:27 +00:00
Treehugger Robot
cd814286bc Merge "Allow installing boot images outside of APEX for prebuilt." am: 210957500c am: fd08d7e9a5 am: 941eaf9fa1 am: cbe9579d13
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1964908

Change-Id: I85428312f74919580a4c177d637f917cf6211639
2022-02-07 16:47:29 +00:00
Treehugger Robot
210957500c Merge "Allow installing boot images outside of APEX for prebuilt." 2022-02-07 15:58:36 +00:00
Paul Duffin
0653057603 Add support for excluding libraries from class loader contexts
A number of tests in the cts/tests/signature/api-check check for the
accessibility of classes from the android.test.base,
android.test.runner and android.test.mock libraries. Some tests expect
to find the classes other do not. Unfortunately, the tests use
libraries, specifically compatibility-device-util-axt, that depend on
the android.test... libraries which causes Soong to implicitly add
<uses-library> entries to the manifest so that they will be accessible
at runtime. That causes the tests that do not expect to find the
classes to fail.

Bug: 209607558
Test: m nothing
Change-Id: I54c194ab23d5a70df790ece3fe98f2b3d6a1c1f6
2022-02-07 14:57:53 +00:00
Sam Delmerico
67a4f2511b Merge "add target_compatible_with stanza for host targets" am: 75664acd70 am: c9c5269342 am: 608b32f41a am: d3b10485f0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1966480

Change-Id: I521a6c7e2ef12516bebe06661086ebe3338a1bad
2022-02-04 20:15:02 +00:00
Sam Delmerico
75664acd70 Merge "add target_compatible_with stanza for host targets" 2022-02-04 19:15:04 +00:00
Romain Jobredeaux
a50778b117 Merge "Use common java library attributes for android_app bp2build converter." am: 99a81c8dfd am: abf2323829 am: 7b368117a6 am: 9be703df2c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1969119

Change-Id: I49791f01bdeced17d8ce5964d7e170ef588b922a
2022-02-03 22:16:09 +00:00
Romain Jobredeaux
99a81c8dfd Merge "Use common java library attributes for android_app bp2build converter." 2022-02-03 21:09:26 +00:00
Sam Delmerico
75539d62ae add target_compatible_with stanza for host targets
Soong modules that are specific for the host platform (e.g.
java_library_host, cc_binary_host, java_genrule_host, etc.) should
not be built on the target platform (Android), so we add a
target_compatible_with attribute to skip this type of module on an
Android target build.

Bug: 215229742
Test: go test ./bp2build
Change-Id: Ifb76ef4e0dc4cb3adb6a64b5c375ce36f7973e48
2022-02-03 19:25:12 +00:00
Sam Gilbert
b020b55a4c Merge "Disable a few metalava checks that platform fails after improvements." am: a6c0ac6529 am: 1d71e6047d am: 94dc2dbbbc am: 7efc7ddc37
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1968699

Change-Id: I7bb246d0f727fda4b14d941f957d0aa430dab8f6
2022-02-03 15:47:53 +00:00
Sam Gilbert
a6c0ac6529 Merge "Disable a few metalava checks that platform fails after improvements." 2022-02-03 14:28:42 +00:00
Treehugger Robot
8bf220137e Merge changes Ie5939628,Id103f70f am: d519b331f2 am: 6aa1338f6c am: 1a8394b6de am: 9d86abb522
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1963154

Change-Id: Ic15fc6c61d91a81331a4e33f72ff0996fc83017a
2022-02-02 18:53:55 +00:00
Sam Gilbert
1a0fa38342 Disable a few metalava checks that platform fails after improvements.
Change-Id: Iead8d6a26ba3c75d3612dccc5bebd82c39b5aad8
Tests: none
Bug: 217545629
Bug: 217552813
Bug: 217553717
2022-02-02 17:56:57 +00:00
Treehugger Robot
d519b331f2 Merge changes Ie5939628,Id103f70f
* changes:
  Only output annotations properties in snapshots for T+
  Allow pruning of unsupported fields in structs in maps
2022-02-02 17:43:57 +00:00
Romain Jobredeaux
e8acade177 Use common java library attributes for android_app bp2build converter.
Change-Id: I4dc7600fbe80eddc54a7fadd6418d6911af0b7f2
Test: go test ./bp2build
2022-02-02 12:18:37 -05:00
Sam Delmerico
0967bbd2b9 Merge changes I09902215,I4f86780c am: ca1701f518 am: 1a55f241a3 am: ab2fb64e8f am: b97ce907cf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1963619

Change-Id: I7746497fa9c3f2dbcdbd13058139c9e6b72c64e3
2022-02-02 15:42:05 +00:00
Sam Delmerico
ca1701f518 Merge changes I09902215,I4f86780c
* changes:
  convert java_plugin with bp2build
  convert java static dependencies
2022-02-02 14:27:32 +00:00
Sam Delmerico
c06ea03c9e convert java_plugin with bp2build
Also, because java_plugin is only intended to be built for the host
platform to make additions to the javac compiler, a compatibility
requirement is added to java_plugin that ensure that it is not built
for android targets.

Bug: 215229742
Test: go test ./bp2build
Change-Id: I09902215a9f1e8b14d4de5a51328d08a7a0a4450
2022-02-01 22:59:19 +00:00
Sam Delmerico
fde9fb5c9c convert java static dependencies
This commit enables conversions of java_library_static and adds the
static_deps Soong attribute to Bazel deps for all Java libraries.
Currently, Soong handles static dependencies for Java differently, and
Bp2build may need to address that later (see b/217236083).

Bug: 215229742
Test: go test ./bp2build
Change-Id: I4f86780c634dca0a2cfb9294084b14e139cc2375
2022-02-01 22:59:04 +00:00
Gurpreet Singh
7286c45a7c Merge "Add testOnly attribute to AndroidManifest file of apex_test" am: ac0a9b00a4 am: dc3ffc8c3a am: 95068d632f am: 00568743ba
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1959021

Change-Id: I35cbfea1d3411bf8c6a5d05d5aaf09fd5f6073a8
2022-02-01 15:38:57 +00:00
Gurpreet Singh
ac0a9b00a4 Merge "Add testOnly attribute to AndroidManifest file of apex_test" 2022-02-01 14:25:16 +00:00
Gurpreet Singh
75d65f360c Add testOnly attribute to AndroidManifest file of apex_test
If the build file contains the apex_test module, add the
testOnly attribute to the application element of the
corresponding AndroidManifest file and set its value to true.
If the testOnly attribute is already present and has value
false, then do nothing.

Tests added in manifest_fixer_test.py to check if the updated
AndroidManifest file has the testOnly attribute set to true or not.

Bug: 213310150
Test: atest --host manifest_fixer_test
Test: m nothing
Test: manually checked the AndroidManifest file generated
Change-Id: I36247dbe0261c342d451a4422c314fd8fe0c2369
2022-02-01 12:03:48 +00:00
Treehugger Robot
75ecfec54f Merge changes from topic "sdk_repo_license" am: 97cffec54e am: 3e17f67a38 am: 211d8cd822 am: 7e7e0032ce
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1965242

Change-Id: I0ef64acca04c3a014e83df14b7d1fad16375141e
2022-02-01 00:31:56 +00:00
Treehugger Robot
97cffec54e Merge changes from topic "sdk_repo_license"
* changes:
  Generate sdk_repo notice files from license metadata
  Annotate more java dependencies for licensing
  Track transitive packaged license deps of containers
2022-01-31 23:34:59 +00:00
Treehugger Robot
d929bfdef7 Merge "Adding metalava team to OWNERS to be able to disable metalava checks that will break platform build." am: b8df4b890c am: 0f89a61d36 am: 4cff831ac7 am: 8c90024559
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1965539

Change-Id: Ia243d6fd870acc89a74c12fa675da131f0519d93
2022-01-31 18:55:53 +00:00
Treehugger Robot
b8df4b890c Merge "Adding metalava team to OWNERS to be able to disable metalava checks that will break platform build." 2022-01-31 17:49:47 +00:00
Paul Duffin
a54016c3ba Only output annotations properties in snapshots for T+
Marks the `scopeProperties.AnnotationsZip` property as only being
supported on T builds and above.

Bug: 204763318
Test: m nothing
Change-Id: Ie59396287c08da77a6a1f15d4be202429e011e17
2022-01-31 12:28:04 +00:00
Paul Duffin
106a3a4bec Allow pruning of unsupported fields in structs in maps
Adds support for traversing into a field that is of type:
   map[...]*struct{...}

This is needed to allow java_sdk_library to mark scope specific
properties, e.g. public.annotations as being target build release
specific.

It was necessary to change the Scope field from:
   Scope map[*apiScope]scopeProperties
to:
   Scope map[*apiScope]*scopeProperties

That is because there is no way in go to change the field of a struct
value of a map. i.e. you cannot do the following, not even using
reflection:
   Scope[apiScopePublic].AnnotationsZip = nil

Bug: 204763318
Test: m nothing
Change-Id: Id103f70f55d4202971321ef4925cbec4b55f8136
2022-01-31 12:28:04 +00:00
Romain Jobredeaux
05169e81cc Merge "Basic bp2build converter for java_import." am: ea64e62dab am: bf670bc2c5 am: 9fcbe2509a am: fb012b7baa
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1965379

Change-Id: Ib1139bd6914423c79b45e7d673a2264e070d91b5
2022-01-29 21:15:26 +00:00
Romain Jobredeaux
ea64e62dab Merge "Basic bp2build converter for java_import." 2022-01-29 20:05:08 +00:00
Romain Jobredeaux
428a366703 Basic bp2build converter for java_import.
This only supports the `jars` property/attribute.

Test: b build external/error_prone:error_prone_core_jars
Bug: 215229744
Change-Id: If0d9c8c4e9c1c560d35a501c20bef9361ef45e15
2022-01-29 09:44:37 -05:00
Colin Cross
ce56425a6b Annotate more java dependencies for licensing
Annotate more dependencies as runtime linked or toolchain.

Bug: 207445310
Test: m checkbuild
Change-Id: Ia5dc3321a1e476b16058eee94d6dc494fe1e933e
2022-01-28 15:42:06 -08:00
Treehugger Robot
04236b4319 Merge "Limit JIT tier for javac" am: 52ef4c3373 am: cc5e84c5a1 am: 2f148420af am: 4fb4f5136a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1964540

Change-Id: I6d82259156eeac59544b5305746ee250502e4670
2022-01-28 23:12:50 +00:00
Treehugger Robot
52ef4c3373 Merge "Limit JIT tier for javac" 2022-01-28 21:59:05 +00:00
Jared Duke
0849c14aea Limit JIT tier for javac
javac is generally a short-lived JVM invocation that doesn't greatly
benefit from deep JIT tiering. As such, favor faster startup time
by limiting to tier 1 JIT for javac execution. This should greatly
reduce overall CPU usage from Java compilation for an arbitrary
Android build (~20%), and deliver a small but modest improvement in
overall Java build times (~5%).

Representative incremental build times with this change:
  * real 18m3.507s
  * user 563m4.838s
and without:
  * real 19m11.909s
  * user 751m27.790s

Follow-up changes will apply similar flags for other short-lived JVM
build commands.

Bug: 205303544
Test: m
Change-Id: Ic6315b976063f4330902930a6cf5e5cb394c554c
2022-01-28 11:39:47 -08:00
Sam Gilbert
e607988f01 Adding metalava team to OWNERS to be able to disable metalava checks that will break platform build.
Change-Id: Ic560361afc8d982422beef33049278bf480e3964
2022-01-28 18:34:08 +00:00
Keyi Gui
15d2da292a Merge "Add new file name to output inputs/outputs of actions of modules into a new file when m json-module-graph is executed." am: 0107901dec am: 2b4514dc6f am: dc8ac9c98c am: 77177d1e82
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1959122

Change-Id: If0957203d0785453c9a04485d5051ccd84b4abca
2022-01-28 15:55:46 +00:00
Jiakai Zhang
e6e90db00a Allow installing boot images outside of APEX for prebuilt.
This change is similar to aosp/1947127, but for prebuilts.

After this change, if `bootImageConfig.installDirOnDevice` is set to a
path outside of the APEX, the build system will build a boot image from
the dex files and the profile extracted from the prebuilt APEX.
Otherwise, it keeps the current behavior: extracting the boot image from
the prebuilt APEX.

This is a no-op change. Current behavior is not affected.

Bug: 211973309
Test: m nothing
Test: -
  On internal master:
  1. Patch aosp/1947128.
  2. Patch ag/16743847 and ag/16746804.
  3. m SOONG_CONFIG_art_module_source_build=false com.google.android.art
  4. See the boot image being installed in `/system/framework/<arch>`.
Change-Id: I24ca525309fecaf3ab7a67960fbf118cd00ecd1d
2022-01-28 15:08:06 +00:00
Keyi Gui
0107901dec Merge "Add new file name to output inputs/outputs of actions of modules into a new file when m json-module-graph is executed." 2022-01-28 14:39:31 +00:00
Pedro Loureiro
029d01c158 Merge "Add special case for test-only module in configuredJars method" am: e4c255cb04 am: f4ddb097e5 am: b30ad5c950 am: c85877030d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1960850

Change-Id: If0bfc07720e517139f93f0e59d34847e77cd4f8b
2022-01-28 10:51:31 +00:00
Pedro Loureiro
e4c255cb04 Merge "Add special case for test-only module in configuredJars method" 2022-01-28 09:50:36 +00:00
kgui
67007248a5 Add new file name to output inputs/outputs of actions of modules into a new file when m json-module-graph is executed.
And also delete the logic in droidstubs to output JSONDataActions.

Test: local.

Change-Id: Ib5d6f1f69c16c41f128e481131775c7699f96464
2022-01-28 13:52:50 +08:00
Sam Delmerico
e647d0bbb5 Merge "build device binary for java_test_host" am: af20c7cad1 am: a4a08a2bcb am: 4a428735e9 am: 95b3310514
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1957100

Change-Id: If9c805a47b5d35d3e6ae87035e8f6d7924c210f7
2022-01-27 15:43:16 +00:00
Sam Delmerico
af20c7cad1 Merge "build device binary for java_test_host" 2022-01-27 14:30:39 +00:00
Sam Delmerico
b3342ce580 build device binary for java_test_host
This commit adds support for a java_host_test that requires a target
binary to run. If the binary has host and target variants and is added
as a dependency in the `data` attribute, then the host variant is used.
Instead, we need a way to force the use of the target variant.

Bug: 182919153
Test: add code from aosp/1647282/1 && atest AuthFsHostTest
Change-Id: I68a6259b41a5e6809e1b82eec3122ffdf5067f56
2022-01-26 19:57:27 +00:00
Pedro Loureiro
561c7765de Add special case for test-only module in configuredJars method
Same pattern used for com.android.sdkext / test_framework-sdkextensions

Test: m nothing
Test: also tried this with related CLs that make use of this
functionality

Bug: 195732042
Change-Id: I5adfb0e8650e2e262bf646e56b29965798d0a42f
2022-01-26 18:48:07 +00:00
Sorin Basca
a1ab606045 Merge "Revert^2: "Setting Java 11 as the default version"" am: eb76d218e9 am: 9aef4c5930 am: f982c27555 am: a27fd80f3f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1957404

Change-Id: Ic137f0b90b7cdda77059f99d2f8acfbcefa9c070
2022-01-25 07:01:48 +00:00
Sorin Basca
18ecf61090 Revert^2: "Setting Java 11 as the default version"
Reverted Change: I2f9866deff41406aede24758f6eda5e5808c7f29

Reason for revert: Post-submission failure have been fixed.

Test: presubmit
Bug: 195387473
Change-Id: If5db1614ef455e2f1eae1d36cf514e13e7aab993
2022-01-24 13:31:05 +00:00
Romain Jobredeaux
9246215c1d Merge "Revert "Revert "Add static_libs support to android_app bp2build converter.""" am: f49ca9e40d am: 2303c67479 am: b2e3ee4575 am: 0b93c3e3f1
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1948956

Change-Id: I8ba757d3164908e6c2f9361cb2d6f8735c67a98b
2022-01-21 22:13:58 +00:00