Commit Graph

5623 Commits

Author SHA1 Message Date
Colin Cross
246164a055 Add jni_libs property to java tests
Add jni_libs property to java tests and treat it as test data that
should be copied to the lib or lib64 directory in the test directory.

Fixes: 176593487
Test: java_test.go
Change-Id: I3a118b933ab30dcd731c6dc2708da9bc63ab5520
2021-04-16 21:59:23 +00:00
Colin Cross
63eeda027c Fix metalava api baseline update command
metalava is run inside sbox with a modified $PWD, so putting $PWD in
the output message results in an incorrect path.  It was also always
incorrect when the output directory was an absolute path.  Add a
cd $ANDROID_BUILD_TOP to the command line and use relative paths
instead.

Bug: 185516277
Test: m out/soong/.intermediates/frameworks/base/system-api-stubs-docs-non-updatable/android_common/metalava/api_lint.timestamp with lint error
Change-Id: Iefe133cea4c3a604ecd2b0ea20f4ba14ae13b425
2021-04-16 14:55:50 -07:00
Paul Duffin
1267d875b6 java_sdk_library: Make dex stub jars available for hiddenapi
The hidden API processing needs access to dex jars for the API stubs in
order to determine which dex members are part of an API surface. The
dex stubs used for the monolithic file are provided by normal
java_library modules for legacy reasons. However, the APEXes that
contribute to the bootclasspath, and so need to perform hidden API
processing, typically provide stubs created by a java_sdk_library.

This change adds support to java_sdk_library/_import to make the dex
stub jars available when requested, that involves:
1. Adding compile_dex property to java_sdk_library_import and
   propagating it down the the java_import modules for the stubs. That
   is already handled for java_sdk_library.
2. Propagating the java_sdk_library compile_dex property to the
   java_sdk_library_import in the generated snapshot.
3. Refactoring and wiring to make the dex stubs jar available to other
   parts of Soong.

Bug: 179354495
Test: m nothing
Change-Id: I5895d4f2ba0b684870862b9429b2364865e4afc6
2021-04-16 18:48:20 +01:00
Jeongik Cha
485c26a6a0 Merge "Made ManifestPath OptionalPath instead of Path" am: 06d6373bbe am: 86b0677262 am: 8c16e8a061
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1675472

Change-Id: I5c1a2402098d9562e5f92a7c3960319f3d4c1714
2021-04-16 04:47:46 +00:00
Jeongik Cha
8c16e8a061 Merge "Made ManifestPath OptionalPath instead of Path" am: 06d6373bbe am: 86b0677262
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1675472

Change-Id: Ib5f8d4203fe3803c8d9050739877abd1ff79263e
2021-04-16 04:19:41 +00:00
Jeongik Cha
06d6373bbe Merge "Made ManifestPath OptionalPath instead of Path" 2021-04-16 03:40:51 +00:00
Paul Duffin
9b381ef2b8 platform_bootclasspath: aggregate hidden API flag files from fragments
Aggregates hidden API flag files from the bootclasspath_fragments which
will allow the hidden API flag files in frameworks/base/boot/hiddenapi
to be modularized and moved to the appropriate repo.

Bug: 177892522
Test: verified that the out/soong/hiddenapi/... files are unchanged
      by this change
      also verified that changes to the fragment provided files do
      affect the monolithic files.
Change-Id: Ifce14c9ef24c58c7ab1085475d85b61cfbfefecd
2021-04-16 00:29:53 +01:00
Treehugger Robot
91a6d73a97 Merge "Handle boot jars on /system_ext correctly." am: 107f92efbe am: c04c5d3d47 am: 2154e60320
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1672245

Change-Id: If7bfbe8e4fb630ee0d6f2bcf5920f82e749ccf5a
2021-04-15 17:37:58 +00:00
satayev
d103e4cb3f Merge "Generate classpaths.proto config for *CLASSPATH variables." am: 76f88384c4 am: 68e73fcb62 am: 95fe7fca0f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1650411

Change-Id: I890d6b67dc63d5795f0a5f962b3f39dfef44f46f
2021-04-15 17:37:52 +00:00
Paul Duffin
8d66423462 Merge "Rename hidden API types ..Augmentation.. to ..FlagFile.." am: d9d1102b35 am: 3e6023da6a am: f1016c4a30
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1675870

Change-Id: I25a4f414dcb34bd14e0ab706021f7324ced17b63
2021-04-15 17:37:47 +00:00
Paul Duffin
0fce865c86 Merge "Generalize hiddenAPIAugmentationInfo to make it easier to use" am: bca75b1f77 am: 1b9d52d01e am: 6c58d44428
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1675869

Change-Id: Ifca59738c555ca5213a61025d30de19d045a9b2b
2021-04-15 17:37:36 +00:00
Treehugger Robot
2154e60320 Merge "Handle boot jars on /system_ext correctly." am: 107f92efbe am: c04c5d3d47
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1672245

Change-Id: Iaa11eb02f71aaa750e6c48f264d1b0efd9fb6c89
2021-04-15 16:48:50 +00:00
satayev
95fe7fca0f Merge "Generate classpaths.proto config for *CLASSPATH variables." am: 76f88384c4 am: 68e73fcb62
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1650411

Change-Id: Icb330819a50e59b978e56fc025e55000420c1401
2021-04-15 16:48:44 +00:00
Paul Duffin
f1016c4a30 Merge "Rename hidden API types ..Augmentation.. to ..FlagFile.." am: d9d1102b35 am: 3e6023da6a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1675870

Change-Id: I8d01bc2bc9866fcd3684c9b386d8ed24a06a0d90
2021-04-15 16:48:39 +00:00
Paul Duffin
6c58d44428 Merge "Generalize hiddenAPIAugmentationInfo to make it easier to use" am: bca75b1f77 am: 1b9d52d01e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1675869

Change-Id: Iaa55ecf2d6a6638b64dc0d4378c1a522a4ad2a99
2021-04-15 16:48:12 +00:00
Treehugger Robot
107f92efbe Merge "Handle boot jars on /system_ext correctly." 2021-04-15 16:30:03 +00:00
satayev
76f88384c4 Merge "Generate classpaths.proto config for *CLASSPATH variables." 2021-04-15 16:07:13 +00:00
Paul Duffin
d9d1102b35 Merge "Rename hidden API types ..Augmentation.. to ..FlagFile.." 2021-04-15 15:29:18 +00:00
Paul Duffin
bca75b1f77 Merge "Generalize hiddenAPIAugmentationInfo to make it easier to use" 2021-04-15 15:29:07 +00:00
Ulya Trafimovich
e736e13a8d Handle boot jars on /system_ext correctly.
When Soong looks for boot jars among all modules, it applies certain
constraints to each module that looks like a boot jar (e.g. that it
comes from the right apex or platform). Previously these constraints did
not handle boot jars on /system_ext correctly (they were handled like
apex jars, while they should be handled like platform jars).

Bug: 154976937
Test: m nothing (the modified Soong test would fail previously)
Change-Id: I0746a2fd276ab5ef0400340c5b61cf26c2570e5a
2021-04-15 15:07:06 +01:00
Pedro Loureiro
f0ff1d5243 Merge "Introduce NewApi lint checks" am: 53d69eb028 am: 4a77ab744d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1675510

Change-Id: Iff91bd3211debb0058541fcd01182d10994f695d
2021-04-15 12:27:01 +00:00
Paul Duffin
724f24e68a Merge "Move hidden API metadata file rule to platform_bootclasspath" am: fd105d469c am: c552799891 am: a9a8e07643
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674033

Change-Id: I68f24d678cdd437a1672047be672338184e12cd5
2021-04-15 11:23:04 +00:00
Paul Duffin
06f7d3d4c1 Merge "Move handling of prebuilt hiddenapi-index.csv to hiddenapi singleton" am: e2243eac3a am: 0b48ba43c4 am: 86963f54bc
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674032

Change-Id: I01dfda491e16a257e691c10ba506a84d9f89bcf7
2021-04-15 11:22:58 +00:00
Paul Duffin
b99e587b53 Merge "Move hidden API index file rule to platform_bootclasspath" am: a4b0d08b83 am: 7c03047b40 am: 3d82eade0b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674031

Change-Id: Ic8c404fde66d962f167f432322b13892a2260e7a
2021-04-15 11:22:37 +00:00
Pedro Loureiro
53d69eb028 Merge "Introduce NewApi lint checks" 2021-04-15 11:04:47 +00:00
Paul Duffin
a9a8e07643 Merge "Move hidden API metadata file rule to platform_bootclasspath" am: fd105d469c am: c552799891
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674033

Change-Id: I8eee029810dffcc3f9c0c2f69419713f84ed2144
2021-04-15 10:54:33 +00:00
Paul Duffin
86963f54bc Merge "Move handling of prebuilt hiddenapi-index.csv to hiddenapi singleton" am: e2243eac3a am: 0b48ba43c4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674032

Change-Id: I119f06b49f3653298a5fb4439e3a632cf1ea027c
2021-04-15 10:54:13 +00:00
Paul Duffin
3d82eade0b Merge "Move hidden API index file rule to platform_bootclasspath" am: a4b0d08b83 am: 7c03047b40
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674031

Change-Id: I16b705f3690a259ececa010388dd37e973d1d201
2021-04-15 10:54:02 +00:00
Paul Duffin
4616977948 Rename hidden API types ..Augmentation.. to ..FlagFile..
Augmentation was too abstract this makes it clearer.

Bug: 177892522
Test: m nothinge
Change-Id: I60ad005e68d9e15b01bcb46bc6a9b7f84d8bfd43
2021-04-15 10:45:39 +01:00
Paul Duffin
e3dc6608cb Generalize hiddenAPIAugmentationInfo to make it easier to use
Previously, each category of flag file had its own property in the
hiddenAPIAugmentationInfo struct that required a lot of repetition
to use. This change moves the flag file specific handling into a
new hiddenAPIFlagFileCategory struct which allows use of the
hiddenAPIAugmentationInfo struct to be parameterized.

Bug: 177892522
Test: verified that the out/soong/hiddenapi/... files are unchanged
      by this change
Change-Id: I4413134c0c9382139bef3813f847e453f426692c
2021-04-15 10:45:39 +01:00
Jeongik Cha
33a3a8182f Made ManifestPath OptionalPath instead of Path
because it is actually an optional value.

Bug: 158843648
Test: m nothing
Change-Id: If323eacf6a7aa83dcf5ce4825ad8cabeeaa97ac9
2021-04-15 09:12:49 +09:00
Paul Duffin
85dee5d8fb Move hidden API metadata file rule to platform_bootclasspath
This change moves the monolithic hidden API index file creation rule
from the hiddenAPISingleton into the platform_bootclasspath.

Bug: 179354495
Test: verified that the out/soong/hiddenapi/... files are unchanged
      by this change
Change-Id: Ib25be3618e30a83dc2929a18062eb58eefdabefb
2021-04-14 18:54:55 +01:00
Paul Duffin
22c743170d Move handling of prebuilt hiddenapi-index.csv to hiddenapi singleton
This change moves the handling of the prebuilt hiddenapi-index.csv file
from the hiddenAPIIndexSingleton and removes that as it no longer
needed.

Bug: 179354495
Test: verified that the out/soong/hiddenapi/... files are unchanged
      by this change
Change-Id: Iab1b39a57f28caa855c48538aa2230795f2c3271
2021-04-14 18:54:45 +01:00
Paul Duffin
00b2bfdea5 Move hidden API index file rule to platform_bootclasspath
This change moves the monolithic hidden API index file creation rule
from the hiddenAPIIndexSingleton into the platform_bootclasspath. It
also moves the corresponding test from java/hiddenapi_singleton_test.go
to java/platform_bootclasspath_test.go.

Bug: 179354495
Test: verified that the out/soong/hiddenapi/... files are unchanged
      by this change
Change-Id: Ia295d0f7ae9b51ea816f16921aa42339ed91704e
2021-04-14 18:54:29 +01:00
Paul Duffin
282f7ecb20 Merge "Ensure boot jar modules have been initialized properly for hidden API" am: 08abf7274a am: 45027631f3 am: c7eb9c4037
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674030

Change-Id: I8bbbdd25e87cf5df81590435c8fbf085d5d18845
2021-04-14 17:22:37 +00:00
Paul Duffin
c7eb9c4037 Merge "Ensure boot jar modules have been initialized properly for hidden API" am: 08abf7274a am: 45027631f3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674030

Change-Id: Ib5d41670b0fdb8dd1af0299a54fc6eadcb8ed0f5
2021-04-14 16:32:10 +00:00
Paul Duffin
08abf7274a Merge "Ensure boot jar modules have been initialized properly for hidden API" 2021-04-14 15:53:15 +00:00
Jiyong Park
e5ec499aa2 Merge "SdkSpec is fully using ApiLevel" am: f398995a64 am: fe24728dc9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1663140

Change-Id: Idf353e3d18b3d4831d08d71cc718f305da8995e6
2021-04-14 14:42:56 +00:00
Artur Satayev
97259dc625 Generate classpaths.proto config for *CLASSPATH variables.
Instead of embedding "raw" values from PRODUCT_*_CLASSPATH variables
into /etc/classpath, encode them into classpaths.proto binary format.

Existing platform_bootclasspath{} module is used to generate the whole
monolithic config to begin with. Later, the config will be split
among individual bootclasspath_fragment and
systemserverclasspath_fragment modules.

Bug: 180105615
Test: m && launch_cvd
Change-Id: Ia66f521f8976ff78a62ecf91131d26db21064de7
2021-04-14 15:03:23 +01:00
Jiyong Park
f398995a64 Merge "SdkSpec is fully using ApiLevel" 2021-04-14 13:27:05 +00:00
Anton Hansson
f57d624f2d Merge "Remove special case code for obsolete files" am: e9d2f9fcda am: ad0ffa9f98 am: 62f49d1ea7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674037

Change-Id: I672937c1a5f8e53a9d0d728955d902106a733bf1
2021-04-14 11:38:53 +00:00
Anton Hansson
62f49d1ea7 Merge "Remove special case code for obsolete files" am: e9d2f9fcda am: ad0ffa9f98
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674037

Change-Id: I83b307277946b613df3f464f7c08e8cc648e6ada
2021-04-14 10:51:47 +00:00
Paul Duffin
1711f4e539 Merge "prebuilt_apex created ApexInfo must not include prebuilt_ prefix" am: 35584eeb93 am: 1cc6122b55 am: 303eed8e87
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674029

Change-Id: I3b96d66b67b26a3035c43b48c6b32e237b452346
2021-04-14 10:13:42 +00:00
Paul Duffin
303eed8e87 Merge "prebuilt_apex created ApexInfo must not include prebuilt_ prefix" am: 35584eeb93 am: 1cc6122b55
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674029

Change-Id: I56a4b2aeacef0b4f4a96af90f88c2b25bfee8f9d
2021-04-14 09:23:43 +00:00
Anton Hansson
e9d2f9fcda Merge "Remove special case code for obsolete files" 2021-04-14 09:22:51 +00:00
Paul Duffin
1ba246732d Ensure boot jar modules have been initialized properly for hidden API
Checks to make sure that every module that is part of the platform
bootclasspath has been initialized property for hidden API processing.

Bug: 177892522
Test: verified that the out/soong/hiddenapi/... files are unchanged
      by this change
Change-Id: Ic4368963f2011784b537b8aebf5ef97ea22b2db5
2021-04-14 09:08:02 +01:00
Paul Duffin
ce858caec5 Merge "Improve realism of boot jar tests" am: 21fb92d7f6 am: 590a50fe8f am: 401eaf7dd9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674028

Change-Id: I5b5b42c6583290af8510bfe1a45bcd11f61960d6
2021-04-13 21:12:40 +00:00
Paul Duffin
401eaf7dd9 Merge "Improve realism of boot jar tests" am: 21fb92d7f6 am: 590a50fe8f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674028

Change-Id: I7fc246996b751bb748b33877f8e758bf5a9a3516
2021-04-13 19:46:44 +00:00
Paul Duffin
9a117ac0cb Merge "Support UNSAFE_DISABLE_HIDDENAPI_FLAGS in platform_bootclasspath" am: 6050c3c31e am: 58a26e96b7 am: a2f33cc96e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674036

Change-Id: I362404f58342fc1b04cd011197c24e4970043e93
2021-04-13 19:12:27 +00:00
Paul Duffin
37b54b73c8 Merge "Remove noop code from generateHiddenAPIBuildActions" am: 149e19ef70 am: ee207a67e8 am: 97838afd6f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674035

Change-Id: I1cb631e1095ae429917972a600566521b46c9c54
2021-04-13 19:12:20 +00:00