Commit Graph

4330 Commits

Author SHA1 Message Date
Paul Duffin
bb7f1ac794 Add a new platform_bootclasspath module type
Initially, this is just a placeholder but functionality will be added
in follow up changes.

Bug: 177892522
Test: m nothing
Change-Id: I890b0d5a117c51a19c9ac5df98c766761d3aa16c
2021-03-31 22:44:34 +01:00
Paul Duffin
4aa7faf487 Merge "Remove unused java testing methods" 2021-03-31 21:41:42 +00:00
Colin Cross
8095c29597 Remove support for unsandboxed metalava
Everything is running in the sandbox, remove the unsandboxed support.

Bug: 153703940
Test: m checkbuild
Change-Id: I811b8a0ad37143518c120367dd20b2b6aa011570
2021-03-31 13:17:42 -07:00
Colin Cross
d47f4ac828 Silence kotlinc JDK9 warnings
Silence the "Illegal reflective access" warning from kotlinc tracked
by https://youtrack.jetbrains.com/issue/KT-43704

Test: m SystemUI
Change-Id: I98eaf530c69cc4d3cefe09f5feab54c764352912
2021-03-31 13:17:42 -07:00
Paul Duffin
c29b3dd043 Merge "Remove varargs from RunTest(t *testing.T)" am: 5086512524 am: f199bedb2d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1658078

Change-Id: Ie5e8aae83feeb2e07bb5906de82536bd50171ce3
2021-03-31 18:27:29 +00:00
Paul Duffin
535e0a105e Remove unused java testing methods
Also, stops exporting methods that are no longer used outside the java
package.

Bug: 181070625
Test: m nothing
Change-Id: I23d35bbc21f82f2dae802aa53badda4c58b41024
2021-03-31 16:20:12 +01:00
Paul Duffin
55e740e9a6 Remove varargs from RunTest(t *testing.T)
Use GroupFixturePreparers instead.

Bug: 182885307
Test: m nothing
Change-Id: Iaedb0ddc9d6a704f4d41363e705f3025a1291dc8
2021-03-31 16:03:59 +01:00
Colin Cross
3fc612ce15 Merge "Default metalava sandboxing to true" am: 8b6378b0dc am: 0d6a3af0f7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1654170

Change-Id: Ibcc9359a4d1d447df72694224717c4a5e7a337ae
2021-03-31 00:55:23 +00:00
Paul Duffin
31638bfb46 Merge "Remove extraneous calls to TestingBuildParams.RelativeToTop()" am: dff50dffbc am: c9ec211cca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1655209

Change-Id: I37b829e1b74a249bba86bfdcaba791c471506af9
2021-03-30 23:31:06 +00:00
Colin Cross
8b6378b0dc Merge "Default metalava sandboxing to true" 2021-03-30 23:30:51 +00:00
Colin Cross
c7587234fb Merge changes I866850b3,I9022d17b am: ff1c8c49c0 am: d39b826a04
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1656461

Change-Id: Ia6520093dc8a10a42d932943e133153e9bd3a651
2021-03-30 23:30:47 +00:00
Paul Duffin
dff50dffbc Merge "Remove extraneous calls to TestingBuildParams.RelativeToTop()" 2021-03-30 23:09:52 +00:00
Colin Cross
ff1c8c49c0 Merge changes I866850b3,I9022d17b
* changes:
  Add dependencies for Metalava's implicit android.jar references
  Support sandboxing droiddoc and droidstubs with args properties
2021-03-30 21:54:51 +00:00
Paul Duffin
53325362e9 Automatically call TestingBuildParams.RelativeToTop() am: e8366da1f6 am: fe53b7a2df
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1655208

Change-Id: Ied3672ee9454a74a6b4d0169ea59898baf23b3cd
2021-03-30 21:44:07 +00:00
Paul Duffin
a71a67a4f5 Remove extraneous calls to TestingBuildParams.RelativeToTop()
Deprecated the method to try and prevent any other uses being added.

Bug: 183650682
Test: m nothing
Change-Id: Ia6f43851e5a00c9d96af780e3bd21e03175e1a2f
2021-03-30 20:03:22 +01:00
Paul Duffin
e8366da1f6 Automatically call TestingBuildParams.RelativeToTop()
Fixes the few tests that break due to this and which cannot easily be
separated into their own changes.

Bug: 183650682
Test: m nothing
Change-Id: Ia2f31213a1f114a78e66a81d89279ecde9f4c465
2021-03-30 19:35:35 +01:00
Paul Duffin
b90f91e43f Merge "Migrate system_modules_test.go from NormalizePathsForTesting" am: 87d3bae657 am: 41ded6e7da
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1654684

Change-Id: Ifc8b29510a047b2efb4db78198e46f64449177b7
2021-03-30 18:02:41 +00:00
Paul Duffin
9b7d7f45f0 Merge "Add the transitive dependencies of boot_image to apex" am: 58367574a5 am: 023bd16632
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652623

Change-Id: Id6087a6d975ed2a9480141ff693f21e1355f8364
2021-03-30 18:02:29 +00:00
Paul Duffin
af5736ea92 Merge "Add contents property to boot_image (and prebuilt_boot_image)" am: 8d3c44a986 am: b8f0b4e1bf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652622

Change-Id: Ic8c97eb640ca5d6dc0de0a8ac08391ed73bc0a0a
2021-03-30 17:44:23 +00:00
Paul Duffin
87d3bae657 Merge "Migrate system_modules_test.go from NormalizePathsForTesting" 2021-03-30 16:42:55 +00:00
Paul Duffin
58367574a5 Merge "Add the transitive dependencies of boot_image to apex" 2021-03-30 16:42:07 +00:00
Paul Duffin
8d3c44a986 Merge "Add contents property to boot_image (and prebuilt_boot_image)" 2021-03-30 16:26:20 +00:00
Colin Cross
3fbf2bea6a Default metalava sandboxing to true
Turn on sandboxing everywhere.

Bug: 153703940
Test: m checkbuild
Change-Id: Ie64913d302efb780d5be9c1b32e6c368d72feba3
2021-03-29 21:57:49 -07:00
Colin Cross
5f6ffc72f7 Add dependencies for Metalava's implicit android.jar references
Metalava implicitly searches
prebuilts/tools/common/api-versions/android-%/android.jar and
prebuilts/sdk/%/public/android.jar when looking for --android-jar-patterns
matches, and fails if it can't find a match for an API level between 1 and
28 in at least one pattern.  Add android.jar files from the
api_levels_annotations_dirs directories to try to satisfy these patterns.

Bug: 153703940
Test: m docs
Change-Id: I866850b33d9a5cd82cc5135bd8f9e9400ed65439
2021-03-29 21:57:49 -07:00
Paul Duffin
78dd45f054 Merge "Add dependencies for art boot_image" am: 16e6aeeb51 am: d019752f73
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652451

Change-Id: Icf9a9823a7afb88ed96a0cd8aff0b43d983770ab
2021-03-29 21:39:57 +00:00
Paul Duffin
16e6aeeb51 Merge "Add dependencies for art boot_image" 2021-03-29 20:27:12 +00:00
Ulyana Trafimovich
42983b7316 Merge "Don't enforce <uses-library> checks if dexpreopt for apps is disabled." am: f682410cbf am: 1012c230b2
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1655690

Change-Id: Iabd8654c105f9db1ed18616127e90679f77938e4
2021-03-29 17:40:23 +00:00
Paul Duffin
29888b1bf0 Migrate system_modules_test.go from NormalizePathsForTesting
Bug: 183650682
Test: m nothing
Change-Id: I9ccbbe521a449cb88ab13cde10161a41cfcf244c
2021-03-29 17:29:30 +01:00
Ulyana Trafimovich
f682410cbf Merge "Don't enforce <uses-library> checks if dexpreopt for apps is disabled." 2021-03-29 16:21:24 +00:00
Paul Duffin
4d101b60f0 Add the transitive dependencies of boot_image to apex
This avoids having to specify boot libraries in both the boot_image
and separately as java_libs on the apex. Simply add them to the
boot_image (happens automatically ATM when using image_name: "art")
and add the boot_image to the apex.

Bug: 177892522
Test: m nothing
Change-Id: I7e0c41665604b73780cdf0dc555067497b1e6ef0
2021-03-29 17:15:29 +01:00
Paul Duffin
82886d6cbf Add contents property to boot_image (and prebuilt_boot_image)
Allows boot_image modules to be created for any module that contributes
to the boot class path, e.g. core-i18n from the com.android.i18n.

A boot_image module with a contents property cannot specify an
image_name, and vice versa. Only those boot_image modules with an
image_name create .art, .oat and .vdex files, either in their
associated APEX or as part of the framework "boot" image.

Bug: 177892522
Test: m nothing
Change-Id: Idfc2bcf00dd6d3ed36ac4df46fcf18e8aa7e2c92
2021-03-29 17:15:27 +01:00
Paul Duffin
c7ef9892dd Add dependencies for art boot_image
Adds dependencies for the art boot image. The art boot image only
includes modules from the com.android.art APEX and so this change adds
some verification to make sure that the APEX component of the
configuration is compatible with the boot_image's apex_availabilty
settings and then just adds dependencies on the modules. It relies on
the normal APEX processing to cause the com.android.art variant of the
boot_image to depend on the equivalent variant of its contents.

This purposely does not check that the configuration specifies an APEX
of com.android.art and instead relies on the apex_available property
being set.

Bug: 177892522
Test: m nothing
Change-Id: I75a8238546b01e1f166a1d1444215f4afb441780
2021-03-29 17:13:29 +01:00
Paul Duffin
3e56890e1d Merge "Add bootclasspath_fragment as an alias for boot_image" am: 755b10fe53 am: 0c541b7c1d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1655217

Change-Id: Id99ca66bcec57e6fb4937479c789592609e45290
2021-03-29 14:56:24 +00:00
Ulya Trafimovich
39dd0a4b87 Don't enforce <uses-library> checks if dexpreopt for apps is disabled.
Otherwise the check fails, as it depend on non-existent dexpreopt.config
files. This CL fixes broken build cf_x86_phone-userdebug_coverage.

Bug: 183931403
Bug: 132357300
Test: forrest build for cf_x86_phone-userdebug_coverage.
Change-Id: Id3ffeb742c1b82c677795fa701a7b5a867eabbbd
2021-03-29 14:57:34 +01:00
Paul Duffin
682589237f Merge "Convert java/boot_image_test.go to test fixtures" am: 60fbea0ec6 am: 9b66f48c17
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652450

Change-Id: I8d726e6dc502f7821834ac03facd7bcd7b70c381
2021-03-29 13:32:14 +00:00
Paul Duffin
04a10f160c Merge "Change type of Image_name from string to *string" am: 63782aba78 am: fb2be116cc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652449

Change-Id: Icc357e1d093767bcf87481cb3f0875f3467a0853
2021-03-29 13:32:09 +00:00
Paul Duffin
4b64ba05b6 Add bootclasspath_fragment as an alias for boot_image
This is part of the work to rename boot_image to bootclasspath_fragment
which is being done for two reasons:
1. To avoid clashing with the bootimg module type.
2. To better reflect what this represents.

While a bootclasspath_fragment can create what ART calls a boot image
(which is different to what the bootimg module type represents) it does
not have to do so.

Bug: 177892522
Test: m nothing
Change-Id: Ib45604be7adc790ded9e27a2ac812dd7522ca8db
2021-03-29 11:05:55 +01:00
Paul Duffin
837486d308 Convert java/boot_image_test.go to test fixtures
Bug: 177892522
Test: m nothing
Change-Id: I91d2bd2eabe5916fd158501bd0d4fdb608919019
2021-03-29 11:05:55 +01:00
Paul Duffin
64be7bb32f Change type of Image_name from string to *string
Bug: 177892522
Test: m nothing
Change-Id: Id72b6079f11c28df6248e71998fb97851cfc5be9
2021-03-29 11:05:55 +01:00
Colin Cross
3ea82d3acd Merge changes I71a83e3a,I66101c0c,Ie387c8c4,Iea742e75 am: 045ed0f684 am: db081efb32
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652575

Change-Id: I37da513e99d28c8b718800a7dcf0e82520f5c2ec
2021-03-26 16:34:29 +00:00
Colin Cross
045ed0f684 Merge changes I71a83e3a,I66101c0c,Ie387c8c4,Iea742e75
* changes:
  Strengthen metalava sandbox support using sbox
  Move metalava's output files into a subdirectory
  Fix lint warnings in droidstubs.go
  Split droidstubs out of droiddoc.go
2021-03-26 15:14:53 +00:00
Colin Cross
bc13992711 Support sandboxing droiddoc and droidstubs with args properties
args properties can access arbitrary files with $(location) expansions,
so they need to pass them through RuleBuilderCommand.PathsForInputs
to produce a path inside the sandbox.  Extract the arg expansion out
of collectDeps into a new expandArgs method that takes the
RuleBuilderCommand.

Test: TestDroidstubsSandbox
Change-Id: I9022d17bf3cb64c97b2008c4c1b733bf48edca95
2021-03-25 22:21:23 -07:00
Colin Cross
defc5c9f8a Merge changes Ie8721dcd,If1827b9d,Iec250a2d,I3f46f611,Idf136919, ... am: ba5fff85a7 am: 0b0fcae3ca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1651847

Change-Id: I93a2b690fa182ec885e3c941df516c2e04679f1c
2021-03-25 22:13:56 +00:00
Colin Cross
ba5fff85a7 Merge changes Ie8721dcd,If1827b9d,Iec250a2d,I3f46f611,Idf136919, ...
* changes:
  Replace ANDROID_SDK_HOME with ANDROID_PREFS_ROOT for metalava
  Simplify lint rules using improved RuleBuilder rsp support
  Support multiple rsp files in RuleBuilder
  Pass rsp files into sbox and rewrapper
  Add test for sbox input sandboxing
  Support multiple rsp files in REParams
  Move response file handling to a separate package
2021-03-25 20:55:56 +00:00
Paul Duffin
d412d5404f Merge "Filter duplicate modules in platform_compat_config_singleton" am: f329307878 am: 8313fb112c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652267

Change-Id: I0d3d24bb408375cf08d129acb8b6f89c66636a34
2021-03-25 19:02:17 +00:00
Paul Duffin
37bb2910cc Merge "Fix TestDroiddoc's reliance on absolute paths" am: 6c968b1f0f am: 166ae29441
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652617

Change-Id: I0342edafa036858721bfc0e919cfc7c63ae5010d
2021-03-25 19:02:02 +00:00
Roland Levillain
ff6d63e4f2 Merge "Fix a typo in the definition of varApexNames in java/dexpreopt_bootjars.go." am: 737ad608ab am: 1cb436ebf0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1652467

Change-Id: Ibd098123bdde4b3c08d71b557f9b9a9b1e26b106
2021-03-25 19:00:06 +00:00
Colin Cross
6aa5c40393 Strengthen metalava sandbox support using sbox
Run sandbox metalava rules inside sbox, which copies only the expected
inputs into a separate directory tree.  This ensures it can't read any
extra inputs.

Test: m hwbinder.stubs
Test: TestDroidstubs
Test: TestDroidstubsSandboxed
Change-Id: I71a83e3af6a385cc23f895397c2c883a2ac5fa22
2021-03-25 11:11:36 -07:00
Colin Cross
cb77f75aae Move metalava's output files into a subdirectory
Move all of the output files of the metalava rule into a single
subdirectory to make it compatible with sandboxing in sbox.

Test: TestDroidstubs
Change-Id: I66101c0c224dee702c8175e61c12cc9cd1aa8b93
2021-03-25 11:11:36 -07:00
Colin Cross
0d5324165a Fix lint warnings in droidstubs.go
Test: none
Change-Id: Ie387c8c4feddad7bd134604e442fd326e606cd2f
2021-03-25 11:11:36 -07:00