Commit Graph

3617 Commits

Author SHA1 Message Date
JaeMan Park
518e0d3ac2 Merge "Make TestJavaSdkLibraryEnforce faster" am: cdbbb1ea68 am: 4198b5c05a am: 6f4465cd8d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1549896

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id839aafd0d44904eba24b66c5f9c784546f1fa96
2021-01-20 02:15:36 +00:00
JaeMan Park
6f4465cd8d Merge "Make TestJavaSdkLibraryEnforce faster" am: cdbbb1ea68 am: 4198b5c05a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1549896

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iba0c06839f0d0ecce8c660f03fb9dc44a36b180a
2021-01-20 01:52:57 +00:00
JaeMan Park
cdbbb1ea68 Merge "Make TestJavaSdkLibraryEnforce faster" 2021-01-20 00:00:54 +00:00
Paul Duffin
d8733e056d Merge "Export dex implementation jars from prebuilt_apex" am: fe6147eb26 am: c022da2b2a am: bf4b8488e9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1523984

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1ec430725444022e43e9532964fdf4134031158c
2021-01-19 16:43:57 +00:00
Paul Duffin
bf4b8488e9 Merge "Export dex implementation jars from prebuilt_apex" am: fe6147eb26 am: c022da2b2a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1523984

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If1a7c988c1afe2d53982d33ffc2b93853189169c
2021-01-19 15:56:16 +00:00
Colin Cross
ff294f8d9c Merge "Revert "Add ArcSettings and SettingsGoogle to the legacy allowlist"" 2021-01-19 05:28:29 +00:00
Colin Cross
ce2b781448 Revert "Add ArcSettings and SettingsGoogle to the legacy allowlist"
Revert "Export proguard.flags, manifest and sources for use by S..."

Revert submission 13183140-SettingsGoogle-bp

Reason for revert: b/177766209
Reverted Changes:
I73bef76ec:Add ArcSettings and SettingsGoogle to the legacy a...
I385629c5c:Build Settings-robo-testutils for use by SettingsG...
I863e1d658:Convert ArcSettings to Android.bp
If095bc39d:Convert SettingsGoogleRoboTests to Android.bp
I8d3f32cd4:Convert SettingsGoogle tests to Android.bp
I7ddeb985c:Convert SettingsGoogle to Android.bp
I3b8223e64:Export elmyra and columbus aidl files for Settings...
I3d2f042a9:Export proguard.flags, manifest and sources for us...

Change-Id: I76e7d6ae91e838f03fce081d1b580e4e7b763c8b
2021-01-19 05:23:08 +00:00
Treehugger Robot
c60d8d0756 Merge "Add java_boot_libs to sdk" am: 2b72906ade am: 34309dcaa9 am: e40ff6cf08
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1526699

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic40ec096711eb48b884421f58a0a6be5f39e9dfd
2021-01-16 01:47:59 +00:00
Colin Cross
8d038bfccb Merge "Add ArcSettings and SettingsGoogle to the legacy allowlist" 2021-01-16 01:45:52 +00:00
Treehugger Robot
e40ff6cf08 Merge "Add java_boot_libs to sdk" am: 2b72906ade am: 34309dcaa9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1526699

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I361dd4062668a5731a98f088f53f687864ae2dd2
2021-01-16 01:20:10 +00:00
Paul Duffin
064b70c918 Export dex implementation jars from prebuilt_apex
Dexpreopt and boot jars package check all require access to dex
implementation jars created for java_library and java_sdk_library. They
were available when building from source but not when building from
prebuilts, even though they are embedded within the .apex files that
are referenced from prebuilt_apex.

This changes adds support to prebuilt_apex to export the dex
implementation jars and updates java_import to use those exported dex
implementation jars.

In a source build dexpreopt/boot jars package check access the apex (or
platform) specific variant of a java_library, e.g. core-oj, from which
it retrieves the dex implementation jar path.

After this change in a prebuilt build dexpreopt/boot jars package check
behave in the same way except in this case they retrieve the dex
implementation jar path from the apex (or platform) specific variant of
the java_import, e.g. core-oj.

The work to export files from a `.apex` file for use by other modules
is performed by a new `deapexer` module type. It is not used directly
in an `Android.bp` file but instead is created implicitly by
`prebuilt_apex`,

In order to do that this contains the following changes:
* Adds a new `dexapexer` module type to handle the exporting of files
  from the `.apex` file.
* Adds an exported_java_libs property to prebuilt_apex to specify the
  set of libraries whose dex implementation jars need exporting.
* Creates apex specific variants of the libraries listed in the
  exported_java_libs property.
* Adds the set of exported files to the ApexInfo to make them available
  to the apex specific variants.
* Prevents the prebuilt_apex variants from being merged together as
  they will not be compatible.
* Modifies java_import to use the exported file for variants of a
  prebuilt_apex.
* Adds a ninja rule to unpack (using deapexer) the contents of the
  prebuilt_apex's apex file, verify that the required files are present
  and make them available as outputs for other rules to use.
* Some minor refactorings to support these changes.
* Adds tests to cover prebuilt only, prebuilt with source preferred,
  and prebuilt preferred with source.

Test: m nothing
Bug: 171061220
Change-Id: Ic9bed81fb65b92f0d59f64c0bce168a9ed44cfac
2021-01-15 18:14:10 +00:00
Paul Duffin
db170e4a92 Add java_boot_libs to sdk
The build has some implicit dependencies (via the boot jars
configuration) on a number of modules, e.g. core-oj, apache-xml, that
are part of the java boot class path and which are provided by mainline
modules (e.g. art, conscrypt, runtime-i18n) but which are not otherwise
used outside those mainline modules.

As they are not needed outside the mainline modules adding them to
the sdk/module-exports as either java_libs, or java_header_libs would
end up exporting more information than was strictly necessary. This
change adds the java_boot_libs property to allow those modules to be
exported as part of the sdk/module_exports without exposing any
unnecessary information.

Some points to note:
* The java_import has to have a valid file for the src property
  otherwise it will be disabled.
* The src property is supposed to reference a jar file but the
  java_boot_libs property will make it reference an empty file (not
  an empty jar) so that any attempt to use that file as a jar, e.g.
  compiling against it, will cause a build failure.
* The name of the file passed to the src property should make it
  clear that the file is not intended to be used.
* The test makes sure that only the jar file is copied to the
  snapshot.

Test: m nothing
Bug: 171061220
Change-Id: I175331e4c8e3874ab70a67cdc2f76ed1576e41eb
2021-01-15 18:14:10 +00:00
JaeMan Park
90e75350d7 Make TestJavaSdkLibraryEnforce faster
TestJavaSdkLibraryEnforce is too slow because it tests all
combinations of options. Change TestJavaSdkLibraryEnforce to
run test on specific test cases, not all combinations.

Bug: 177323052
Test: go test -timeout 10s -run ^TestJavaSdkLibraryEnforce$ android/soong/java
Change-Id: Ie7fe4e22b570a3e25259a6ad4bd37936805c6604
2021-01-15 13:24:09 +09:00
Mathew Inwood
bc6b491be8 Merge "Move temp blocklist APIs to max-sdk-r list." am: ecbe5598fc am: 3144918c99 am: ff759493c3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1549976

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id1b3a6ccbb71cf8e67f4e5bd534ccc7b020f6911
2021-01-14 12:15:35 +00:00
Mathew Inwood
ff759493c3 Merge "Move temp blocklist APIs to max-sdk-r list." am: ecbe5598fc am: 3144918c99
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1549976

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia0e3eb2de02b5512762bb4439308ed368bd590dc
2021-01-14 11:33:55 +00:00
Mathew Inwood
c1be2f8105 Move temp blocklist APIs to max-sdk-r list.
These APIs were temporarily blocked but are now being moved to the
max-sdk-r for final release. Tag these APIs as "lo-prio" since we
believe that they are unused.

Bug: 173499988
Test: m
Change-Id: If9c6be963faa75df77cf3cc7761b384324c8cd3e
2021-01-13 15:49:17 +00:00
Colin Cross
91c750739c Add ArcSettings and SettingsGoogle to the legacy allowlist
Settings-core is already in the allowlist, ArcSettings and
SettingsGoogle need to compile the same source files but were
in Android.mk files.  Add them to the allowlist so they can
be converted to Android.bp.

Bug: 175124789
Test: m RunSettingsGoogleRoboTests RunArcSettingsRoboTests
Change-Id: I73bef76ecc517223827ac6f3cb1f0624c738fb9d
2021-01-13 00:12:28 +00:00
Colin Cross
e7a71fa844 Merge "Reduce legacy_core_platform_api_usage.go" 2021-01-13 00:10:34 +00:00
Colin Cross
5cf56302e5 Reduce legacy_core_platform_api_usage.go
Rerun the tools in ag/12184151 to remove unnecessary entries
from legacy_core_platform_api_usage.go.

Test: m checkbuild
Change-Id: I7467ce97fbd863371f5a732c34e647c660fca184
2021-01-11 18:11:47 -08:00
Ulyana Trafimovich
e66d78339b Merge "Remove obsolete class loader context API and update unit tests." am: 53230fefa3 am: 9f19d6b988 am: e2edc31bb9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1538885

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If8884f380bea51c59ad03cfe808c089e92303276
2021-01-08 17:55:11 +00:00
Ulyana Trafimovich
e2edc31bb9 Merge "Remove obsolete class loader context API and update unit tests." am: 53230fefa3 am: 9f19d6b988
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1538885

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8f0c9c8566829fb6a6788846919ff47d43f2c3b7
2021-01-08 17:38:41 +00:00
Ulyana Trafimovich
53230fefa3 Merge "Remove obsolete class loader context API and update unit tests." 2021-01-08 17:00:56 +00:00
Bob Badour
ed04b47876 Merge changes from topic "revert-1541855-revert-1377717-metalics-BOEMJWNSHV-PBOZXBJQZD" am: ddac9bf3f2 am: adf19116d3 am: 72deb7feda
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1540840

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5799dc9b0af0a0f2f36413ed69341dc318cf96ed
2021-01-07 23:48:20 +00:00
Bob Badour
72deb7feda Merge changes from topic "revert-1541855-revert-1377717-metalics-BOEMJWNSHV-PBOZXBJQZD" am: ddac9bf3f2 am: adf19116d3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1540840

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I17c75654bf575e5ebdee04fdbb48932c151088c0
2021-01-07 23:21:14 +00:00
Bob Badour
ddac9bf3f2 Merge changes from topic "revert-1541855-revert-1377717-metalics-BOEMJWNSHV-PBOZXBJQZD"
* changes:
  Revert^2 "Define the standard license_kind rules."
  Revert^2 "Export soong license data to make."
  Revert^2 "Add ability to declare licenses in soong."
2021-01-07 22:42:08 +00:00
Bob Badour
b499922acc Revert^2 "Export soong license data to make."
61a55a0344

Change-Id: I5fb017c683df18bad42a8e27fb2d7c7c510514e5
2021-01-06 20:49:11 -08:00
Jooyung Han
a2861d19f5 Merge "Add "aidl.flags:" property for cc_/java_ modules" am: 26ab0f1051 am: 076ed3bca3 am: fccf62ed45
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1538625

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7842f59026d63a2aab8efe354cc37f20ee9e39ab
2021-01-07 03:16:17 +00:00
Jooyung Han
fccf62ed45 Merge "Add "aidl.flags:" property for cc_/java_ modules" am: 26ab0f1051 am: 076ed3bca3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1538625

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I040864a9f24805fc9d3f8ad426e72566be1fb7eb
2021-01-07 02:25:31 +00:00
Jooyung Han
26ab0f1051 Merge "Add "aidl.flags:" property for cc_/java_ modules" 2021-01-07 01:28:47 +00:00
Bob Badour
a163fe55f9 Merge changes from topic "revert-1377717-metalics-BOEMJWNSHV" am: a1b87c81ca am: 72b5c0288a am: 15ef54bab8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1541852

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I917681ef203a9974b958ef1086f4e8e161cb7baa
2021-01-06 20:22:46 +00:00
Bob Badour
15ef54bab8 Merge changes from topic "revert-1377717-metalics-BOEMJWNSHV" am: a1b87c81ca am: 72b5c0288a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1541852

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie75ae43eb4e19104a2d7702819de6ab57a97bf5b
2021-01-06 20:01:12 +00:00
Bob Badour
5293a09d57 Export soong license data to make. am: 74fab31712 am: de77ecd56b am: 0b061c969c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1454916

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6decb1f33ea120a79a8de2c5b26dd4d87db627d3
2021-01-06 19:54:08 +00:00
Bob Badour
a1b87c81ca Merge changes from topic "revert-1377717-metalics-BOEMJWNSHV"
* changes:
  Revert "Add ability to declare licenses in soong."
  Revert "Export soong license data to make."
  Revert "Define the standard license_kind rules."
2021-01-06 19:17:45 +00:00
Bob Badour
0b061c969c Export soong license data to make. am: 74fab31712 am: de77ecd56b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1454916

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1d9075f4d60f9c94b18345cb67e800f10af1e338
2021-01-06 19:12:13 +00:00
Jerome Gaillard
61a55a0344 Revert "Export soong license data to make."
Revert submission 1377717-metalics

Reason for revert: This has broken renderscript_mac target for aosp-master, see b/176909442

Reverted Changes:
I26ac54ca9:Define the standard license_kind rules.
I656486070:Export soong license data to make.
If9d661dfc:Export soong license data to make.
I97943de53:Add ability to declare licenses in soong.
Icaff40171:Rough-in license metadata support to make.
Ib8e538bd0:Add variables for notice deps, license kinds etc.

Change-Id: I51799c94a274eadab414abd80a07b5cda4584be9
2021-01-06 19:00:05 +00:00
Bob Badour
de77ecd56b Export soong license data to make. am: 74fab31712
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1454916

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ied2ab6fb4455326b4e0f1f58fba8d637a2a8f3c9
2021-01-06 18:42:30 +00:00
Bob Badour
659f11fcfc Merge changes from topic "metalics"
* changes:
  Define the standard license_kind rules.
  Export soong license data to make.
  Add ability to declare licenses in soong.
2021-01-06 18:08:07 +00:00
TreeHugger Robot
c154901324 Merge "Revert "Enforce <uses-library> checks for android_app and android_app_import."" into rvc-qpr-dev-plus-aosp am: f1f47a341b
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/13287340

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I809e76224b019edf346b335f9ef8814592002308
2021-01-06 17:15:03 +00:00
Ulyana Trafimovich
c2b6b65d73 Revert "Enforce <uses-library> checks for android_app and android_app_import."
This reverts commit 22890c466e.

Reason for revert: Broken build 7065627 on git_rvc-qpr-dev-plus-aosp
  on aosp_sunfish-userdebug branch.

Bug: 176892941
Test: treehugger
Change-Id: I0f5da13644fd2ec7b0472fe82918e3c6a72d953c
2021-01-06 15:30:09 +00:00
Ulyana Trafimovich
dd1807bb60 Merge "Enforce <uses-library> checks for android_app and android_app_import." am: 0a984f559f am: 5e5db14cc3 am: 35efc7221d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1535007

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I071cc685c59e5c58f9efd3fbfbc42900056cb4f4
2021-01-06 14:32:51 +00:00
Bob Badour
74fab31712 Export soong license data to make.
See: http://go/android-license-checking-in-soong-v2-design

Bug: 151953481
Bug: 151177513
Bug: 67772237

Change-Id: If9d661dfcaa732c459d38d8ad7ec4a0e540846b8
2021-01-05 08:42:48 -08:00
Ulya Trafimovich
7bc1cf508f Remove obsolete class loader context API and update unit tests.
The removed API has been unused since https://r.android.com/1533342
(except for unit tests).

Changes in the unit tests reflect the change of API in
https://r.android.com/1533342: early errors caused by unknown library
paths at CLC construction time have been replaced with late errors at
the time of CLC validation.

Bug: 132357300
Test: m nothing
Change-Id: I739c7c41b6f882b7e28cdd6acd05961d754d8687
2021-01-05 15:41:55 +00:00
Ulya Trafimovich
22890c466e Enforce <uses-library> checks for android_app and android_app_import.
Bug: 132357300
Test: lunch aosp_cf_x86_phone-userdebug && m
Change-Id: Ib9653aa27a173f0f0c03c7c9b0963d8ea71bb155
2021-01-05 12:04:17 +00:00
Anton Hansson
2729ae87c5 Remove Ignore_missing_latest_api am: e6056153cf am: a14b27e1f6 am: 6d906c4f39
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1538883

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1e07de0a6dae26d377fb93cd4778cd50aeeafda1
2021-01-05 10:54:36 +00:00
Jooyung Han
e197d8b174 Add "aidl.flags:" property for cc_/java_ modules
The property can be used to pass additional flags to the AIDL compiler.
For example,

  cc_library {
    ..
    srcs: ["Foo.aidl"],
    aidl: {
      flags: [
        "-Werror",      // warnings as error
        "-Weverything", // turn on all warnings
      ],
    },
  }

Bug: 168028537
Test: soong test
Change-Id: I8120eeae7cd7b1acdd34c554af996a29e760a368
2021-01-05 10:40:22 +09:00
Anton Hansson
e6056153cf Remove Ignore_missing_latest_api
This flag was only used by sdk_library.go, and is no longer needed
since sdk_library.go now knows which libraries are missing latest_api
tracking files.

Bug: 176092454
Test: m
Change-Id: I5a967f784bde99f103b85654c794e8d7110fd0db
2020-12-31 10:44:38 +00:00
Anton Hansson
ea74599a08 Merge "Stop allowing missing last-api files by default" am: 591920fcfa am: 55677bc46b am: f6e4184684
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1534347

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2c763c877ad92b57fd2a6408f9d64f4aa5b9f1ef
2020-12-31 09:58:02 +00:00
Anton Hansson
9790c37691 Merge "Set previous_api correctly for java_sdk_library" am: 6b8c40036c am: a3804d57a2 am: 003604862b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1534348

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0237942bb160abd3a2711fc661be9a951b6593fc
2020-12-31 09:57:52 +00:00
Anton Hansson
591920fcfa Merge "Stop allowing missing last-api files by default" 2020-12-31 08:53:45 +00:00
Anton Hansson
e87b03d1bb Set previous_api correctly for java_sdk_library
Metalava used this attribute to potentially re-write some nullness
annotations from @Nullable to @RecentlyNonNull, and not doing so can
cause problems when compiling kotlin.

Bug: 176092452
Test: m art.module.public.api.stubs && \
      rm -rf /tmp/lib && \
      unzip -qd /tmp/lib art.module.public.api.stubs.jar && \
      javap -v /tmp/lib/java/util/concurrent/ConcurrentHashMap.class | \
      grep Recently
Change-Id: I9012798f27e39d9a53dbcf0976548f6cec2d3150
2020-12-29 13:24:02 +00:00