Commit graph

2021 commits

Author SHA1 Message Date
Ramy Medhat
0a5c8dea01 Add sourcepath to inputs of remoteable metalava action.
Test: presubmit
Change-Id: Idd77abddac0a676302226eb62883c74d5d7489af
2020-05-11 16:49:37 -04:00
Makoto Onuki
88b9905d74 Merge the "big 3" metalava invocations into one
This CL merges the biggest three metalava invocations --
stub and signature file generation, api lint, and "check released" --
into one call.

For each of the existing separate rules for api lint and check released this change:
1) Stopped creating a separate rule containing its own metalava invocation.
2) Moved the code for creating the rule earlier so it can add extra flags to the combined metalava command.
3) Moved the message handling into metalava, allowing the message to be passed in.
4) Added a flag to record whether the specific check was needed so that you can separate the timestamp file creation out to run after the merged metalava command.

A couple of minor bug fixes and clarifications.

Bug: 151160048
Test:  "m" and treehugger

Test: Apply https://android-review.googlesource.com/c/platform/frameworks/base/+/1295541 and run `NINJA_ARGS="-k 999" m checkapi`
-> Make sure there are 4 kinds of lint failures ("AddedFinal" and "VisiblySynchronized") with the valid error messages, from:
- api-stubs-docs
- system-api-stubs-docs
- test-api-stubs-docs
- module-lib-api-

Test: Run the 4 cp commands shown by lint
-> Make sure the following 4 baseline files are updated:
frameworks/base/api/lint-baseline.txt
frameworks/base/api/module-lib-lint-baseline.txt
frameworks/base/api/system-lint-baseline.txt
frameworks/base/api/test-lint-baseline.txt

Test: Then run `NINJA_ARGS="-k 999" m checkapi` again.
-> Make sure the API lint errors are gone
-> Make sure "api-stubs-docs" shows the "You have tried to change the API from what has been
previously released in ..." error. (because of "AddedFinal")
-> Make sure it the other 3 API surfaces show the "You have tried to change the API from
what has been previously approved" error.

Test: Remove "final" from Intent.java and run "NINJA_ARGS="-k 999" m checkapi" again.
-> This time, all the 4 API surfaces say "You have tried to change the API from
what has been previously approved" error."

Test: Run the 4 "make *-update-current-api" commands shown in the above errors and "NINJA_ARGS="-k 999" m checkapi"
-> The exact command is:
$ make \
  module-lib-api-update-current-api \
  api-stubs-docs-update-current-api \
  test-api-stubs-docs-update-current-api \
  system-api-stubs-docs-update-current-api

-> Make sure frameworks/base/api/*-current.txt are properly updated.

Test: Run "m update-api"
-> Make sure no text signature files get updated.

Test: Run "m droid".
-> Make sure everything builds fine.

Change-Id: Ia1a5510b57d58748b4655473d4585636deb7f45e
Merged-In: Ia1a5510b57d58748b4655473d4585636deb7f45e
2020-05-06 13:00:01 +01:00
Ramy Medhat
a1ffd53fe4 Merge "Add support for the remote execution of metalava actions." 2020-05-05 21:53:26 +00:00
Chris Gross
7097b0580c Merge "Allow bootjars in system_ext." 2020-05-05 21:12:39 +00:00
Anton Hansson
a1910e8488 Merge "Disable "check last" for test api" 2020-05-05 15:42:53 +00:00
Anton Hansson
6478ac17fc Disable "check last" for test api
@TestApi does not have stability requirements, so we shouldn't be
checking its compatibility with the last released version.

This CL removes the expectation that a test-removed.txt is checked in
for each module during finalization.

Bug: 155197156
Test: m (with SDK 30 imported)
Change-Id: Ib3f671493f1d230116bec51b884e8072643b10d4
Merged-In: Ib3f671493f1d230116bec51b884e8072643b10d4
(cherry picked from commit 6bf8e415a50826a378cc58aba87854f52c9f1d32)
2020-05-05 14:52:49 +01:00
Anton Hansson
fb6d57e134 Merge "Make prebuilt_sdk support module-lib and system-server" 2020-05-05 13:12:10 +00:00
satayev
292e7c0721 Merge changes Ie6568cb8,Ibd521c96
* changes:
  Introduce min_sdk_version to deps info.
  Introduce flat deps info list.
2020-05-05 12:47:48 +00:00
Jaewoong Jung
baf8c3a804 Merge "Make android_app_import multi targets arch module." 2020-05-05 01:20:51 +00:00
Anton Hansson
ede5078144 Merge "Fix soong crashing when there's no baseline file" 2020-05-04 20:33:26 +00:00
Artur Satayev
480e25b74f Introduce min_sdk_version to deps info.
Bug: 149622332
Test: m
Change-Id: Ie6568cb8a82d5cca9a3dc91b5a068abf4b0632dc
2020-05-04 19:44:28 +01:00
satayev
9d6ea77c52 Merge "Ensure APEX's Java deps use stable SDKs." 2020-05-04 16:03:44 +00:00
Anton Hansson
8d23969bb6 Make prebuilt_sdk support module-lib and system-server
This makes prebuilt_sdk look for and create modules in the module-lib
and system-server subdirs too, e.g.:
    framework-wifi.api.module-lib.latest

Bug: 149293194
Test: follow-up change
Change-Id: Idbded6b633315034e669e9c5dd2bd30725d5c76b
Merged-In: Idbded6b633315034e669e9c5dd2bd30725d5c76b
2020-05-04 13:52:43 +01:00
Ulya Trafimovich
817133ee2a Add forgotten apex prefix to Jacoco boot image module.
This is a follow-up for https://r.android.com/1292915, which introduced
two-column format for the components of the boot jar list. This CL
fixes build failure for the coverage build.

Test: m EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true
Change-Id: Ib8b156bf81943fe07084cbce5e7e9bf70e759a5d
2020-05-04 12:16:25 +01:00
Ulyana Trafimovich
2aa8e0be11 Merge "Use two-column format for PRODUCT_BOOT_JARS components." 2020-05-04 08:57:47 +00:00
Chris Gross
06c8036ac8 Allow bootjars in system_ext.
Bug: 148385042
Test: Built and booted Pixel 3a both with and without a boot jar in system_ext.
Change-Id: I0702aa8259478a71cf96a5cd3a425071ccdafdfb
2020-05-02 14:56:51 -07:00
Anton Hansson
75ac71eea2 Fix soong crashing when there's no baseline file
Soong was referencing the baseline file regardless of whether it was
valid or not.

Also update the lint message to match the one metalava itself prints,
which only suggests whitelisting the error if it's not possible to fix
it properly.

Bug: 154616909
Test: m (with lint error)
Change-Id: I4c6ec327a59aefe74825b4c4719393dd267ba3aa
Merged-In: I4c6ec327a59aefe74825b4c4719393dd267ba3aa
(cherry picked from commit 34ced82d2a)
2020-05-02 11:23:34 +01:00
Jaewoong Jung
243688ea1b Make android_app_import multi targets arch module.
This makes it consistent with android_app. Also, most android_app_import
modules with JNI libs target a single arch.

Test: TreeHugger
Bug: 154281342
Change-Id: I5bbb2d2b733bbd6b868898285683ba5ff45be10b
2020-05-01 15:50:08 -07:00
Songchun Fan
4b25e319e6 Revert "[soong] new field in Android.bp to request APK signing V4"
This reverts commit 17d69e3484.

Reason for revert: This new field is not useful without dependencies in aosp

Test: builds
Change-Id: I87bd820cd6dbc5274ce3d28c4578381718aa805d
Merged-In: I70d6f7dc751510311b03e245b2189a76b395a49c
2020-05-01 11:29:36 -07:00
Jaewoong Jung
32335f90b1 Merge "Add defaults support to runtime_resource_overlay." 2020-04-30 17:43:37 +00:00
Ulya Trafimovich
50c4a4b19f Use two-column format for PRODUCT_BOOT_JARS components.
The first component is the apex name, or a special name "platform"
if the boot jar is a platform jar rather than a part of some apex.
This is a prerequisite change for moving core-icu4j to a separate
com.android.i18n apex.

Old one-column format is still supported, but all unqualified
components of PRODUCT_BOOT_JARS get "platform:" prepended to them
after reading the product makefiles.

Test: aosp_walleye-userdebug boots
Bug: 138994281
Change-Id: Ic229159fdcdaf6182210a53b63850a389dd786fc
2020-04-30 14:42:32 +01:00
Ramy Medhat
427683cad7 Add support for the remote execution of metalava actions.
Test: built aosp crosshatch userdebug with RBE_METALAVA=1
Change-Id: I3d42d75b4522f99ff95ce8c997ead782e4322f6e
2020-04-30 03:24:48 -04:00
Treehugger Robot
b407131a0e Merge changes I7bc54dc4,I4e9bfebd
* changes:
  java_sdk_library: Correct stubs source generation classpath
  Fix definition of android_stubs_current in sdk tests
2020-04-29 21:31:21 +00:00
Paul Duffin
7b78b4d404 java_sdk_library: Correct stubs source generation classpath
The stubs source should be generated using the same classpath that is
used to compile the implementation library, i.e. sdk_version,
system_modules and libs/static_libs.

Previously, the sdk_version used to generate the stubs was different.
It provided access to a wider API surface than was necessary. This
change fixes that.

Test: m checkapi
Bug: 155164730
Change-Id: I7bc54dc4ad12a7d6c7503111d1322ee35c56d713
2020-04-29 19:03:45 +01:00
Treehugger Robot
6e2fb5c0cd Merge "soong: Add support for override_runtime_resource_overlay" 2020-04-29 17:30:00 +00:00
Liz Kammer
8e25bcb895 Merge "Document Instrumentation_for android app tests." 2020-04-29 16:06:49 +00:00
Roshan Pius
4df2bc76d5 soong: Add support for override_runtime_resource_overlay
Bug: 154960712
Test: go test ./... -test.v -run TestOverrideAndroidApp
(cherry-picked from ag/11270710)

Change-Id: I8ca9d173b6ab7f9306c83c2b434107111aa2ca88
Merged-In: I8ca9d173b6ab7f9306c83c2b434107111aa2ca88
2020-04-29 09:01:51 -07:00
Liz Kammer
6b0c55263c Document Instrumentation_for android app tests.
Test: m soong_docs

Change-Id: I84fd20ea563fc75dc04ac41f44f2f53df994925f
2020-04-28 16:45:51 -07:00
Jaewoong Jung
bf13546f54 Add defaults support to runtime_resource_overlay.
(This is a cherry-pick change.)

Bug: 154956723
Test: app_test.go
Change-Id: Ida29035ef45ec188c95a07a8bccaaa77eea486d7
Merged-In: Ida29035ef45ec188c95a07a8bccaaa77eea486d7
2020-04-28 20:49:17 +00:00
Anton Hansson
6affb1f4fe Remove obsolete var apiFileMakeVariableSuffix
Not used anymore, as the make variables have been deleted.

Test: m
Change-Id: I1b29ec33951588ab479fc3e14f85e9aa189b971b
2020-04-28 20:30:25 +01:00
Treehugger Robot
0b3b3db525 Merge "Refactor RBE support for Javac/R8/D8 to use the remoteexec package." 2020-04-28 17:53:50 +00:00
Treehugger Robot
c869812b04 Merge "runtime_resource_overlay can be included in APEXes" 2020-04-28 17:13:26 +00:00
Ramy Medhat
1dcc27e47c Refactor RBE support for Javac/R8/D8 to use the remoteexec package.
Test: build with and without RBE_JAVAC/RBE_R8/RBE_D8 set.
Change-Id: I1607f8cfb4d2c3cbb3672152bbeb561d9968bc60
2020-04-28 11:37:20 -04:00
Jiyong Park
69aeba9982 runtime_resource_overlay can be included in APEXes
runtime_resource_overlay is put to an APEX via 'apps' property. It is
placed under ./overlay directory in it.

Bug: 154822536
Test: m
Change-Id: I8edf4a26c26368c52fb7b327b2ecc829f21ea148
2020-04-28 22:55:54 +09:00
Ulyana Trafimovich
e3b49c69da Merge "Fix host path for dexpreopted system server modules defined in Make." 2020-04-28 08:19:34 +00:00
Jaewoong Jung
bf5ed2d676 Merge "Add overrides to runtime_resource_overlay" 2020-04-28 01:19:50 +00:00
Jaewoong Jung
ad0177b1fb Add overrides to runtime_resource_overlay
(This is a cherry-pick change.)

Bug: 154928457
Test: app_test.go
Change-Id: Ia52bb9fd18c22b1a02d7b36afd41561cec0473f0
Merged-In: Ia52bb9fd18c22b1a02d7b36afd41561cec0473f0
2020-04-27 16:44:33 -07:00
Makoto Onuki
ef720013ef Merge "Don't use metalava for "check-current"" 2020-04-27 18:39:07 +00:00
Treehugger Robot
8df4e08e53 Merge "Do not allow updatable apps without min_sdk_version." 2020-04-27 18:20:10 +00:00
Artur Satayev
8cf899afcc Ensure APEX's Java deps use stable SDKs.
Test: m
Bug: 153333044
Change-Id: Ib1acf3073e96fe23c92d292ec0b1a91e2cd408db
2020-04-27 19:16:40 +01:00
Artur Satayev
f40fc858a2 Do not allow updatable apps without min_sdk_version.
All updatable modules are expected to declare their earliest platform
version they support.

Bug: 153539598
Test: m
Change-Id: I6243d276e5ab25a1007187ad34789ca1b4cc87bf
2020-04-27 16:26:31 +01:00
Ulya Trafimovich
6cf2c0c197 Fix host path for dexpreopted system server modules defined in Make.
Previously there was a discrepancy between the generated paths for
Soong modules that used "out/soong/system_server_jars" and Make modules
that used "out/system_server_jars". This happened because the default
output directory is $OUT/soong for the normal Soong config and jsut $OUT
for the reduced "null config" created by dexpreopt_gen.

As a result, class loader context for system server jars defined in Make
was referring to nonexistent jars, which caused non-fatal dex2oat errors
(the build was not broken, so the errors remained unnoticed):

  Failed to determine oat file name for dex location out/system_server_dexjars/[...]
  Could not open dex files from location: out/system_server_dexjars/[...]

Test: aosp_walleye-userdebug boots
Test: cherry-picked in master-arc-dev that has a Make system server jar
  arc-services, `lunch lunch cheets_x86-userdebug && m`, check that the
  generated dexpreopt.sh for arc-services contains paths starting with
  "out/soong/system_server_jars" rather than "out/system_server_jars".

Bug: 140712566
Change-Id: Ia7ea8ac383e32042c31d64971cdc8101ea3068cd
2020-04-27 09:46:02 +01:00
Treehugger Robot
52c0b7b35b Merge "Repeat kapt processor argument for multiple processors" 2020-04-24 15:51:13 +00:00
Treehugger Robot
65c1d14cfa Merge "android_app_import is now ApexModule" 2020-04-24 12:12:23 +00:00
Ulyana Trafimovich
dc9510537a Merge "Add "updatable" property to ApexModule interface." 2020-04-24 08:25:34 +00:00
Ulya Trafimovich
7c140d828a Add "updatable" property to ApexModule interface.
For a given variant of a module that implements ApexModule interface,
the "updatable" property tests if this variant comes from an updatable
apex. For platform variants it is always false.

Test: lunch aosp_walleye-userdebug && m nothing
Bug: 138994281
Change-Id: I2d4c54fb397e29dc9b3203be7fb17be4536529f7
2020-04-23 11:58:53 +01:00
Jiyong Park
592a6a41de android_app_import is now ApexModule
Like other prebuilts (java_import, etc.), android_app_import has now
became ApexModule. It means it supports APEX-specific properties like
apex_available, min_sdk_version, etc.

Bug: 154488897
Test: m
Change-Id: I86f02771496ffc68c98a50ddfc786788fa1e05fb
2020-04-23 19:02:04 +09:00
Anton Hansson
14f42d34af Merge "Remove unused arguments in droiddoc" 2020-04-23 09:56:40 +00:00
Colin Cross
5a11686e64 Repeat kapt processor argument for multiple processors
kapt claims to support a comma separated list of annotation
processors, but it errors if multiple annotation processors
are given.  Surrounding the the list with {} does not error,
but it also doesn't even warn if the second element in the
list is garbage, so it may not be running the second
processor.  Repeat the processor argument for each
annotation processor class instead.

Bug: 154736649
Test: TestKapt
Test: m checkbuild
Change-Id: I4c7c161dbf867d7fba1aaf16fd5e502647e3f682
2020-04-22 20:43:37 -07:00
Anton Hansson
0f15a9f866 Remove unused arguments in droiddoc
Nothing passes these arguments, so it's dead code.

There is a lot of other cruft in this file that is effectively
dead code, but required further cleanup.

Bug: 152479829
Test: m
Change-Id: Ib2630d4d49f21003b17e2331b0900e8df0a27e66
Merged-In: Ib2630d4d49f21003b17e2331b0900e8df0a27e66
(cherry picked from commit 0ee713aa0e)
2020-04-22 21:15:09 +01:00