Commit Graph

3986 Commits

Author SHA1 Message Date
Treehugger Robot
af25c6cab8 Merge changes from topic "tvts-test-host-jni" am: aef14db78a am: 3640bc3f70
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1560314

Change-Id: I0a1531f9830b489fb04d44b23df3f895420ee41f
2021-04-17 05:29:50 +00:00
Treehugger Robot
aef14db78a Merge changes from topic "tvts-test-host-jni"
* changes:
  Add jni_libs property to java tests
  Add Target to cc.SharedLibraryInfo
2021-04-17 04:35:24 +00:00
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
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
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
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
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
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
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
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
a2f33cc96e Merge "Support UNSAFE_DISABLE_HIDDENAPI_FLAGS in platform_bootclasspath" am: 6050c3c31e am: 58a26e96b7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674036

Change-Id: Iffa71d25dea6845866854cbb2e72036a64c330e0
2021-04-13 18:25:38 +00:00
Paul Duffin
97838afd6f Merge "Remove noop code from generateHiddenAPIBuildActions" am: 149e19ef70 am: ee207a67e8
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674035

Change-Id: I27758217e5dfd1660729e39125d4a5d9224bd25b
2021-04-13 18:25:04 +00:00
Paul Duffin
8f146b99e6 prebuilt_apex created ApexInfo must not include prebuilt_ prefix
As part of the work to modularize the hiddenAPI processing the
generation of the monolithic hidden API index file needs to be moved
to the platform_bootclasspath module type. Doing that broke the
TestBootDexJarsFromSourcesAndPrebuilts tests which checks the inputs to
the rule that creates that file. Fixing that required added a
platform_bootclasspath module to the test fixture for those tests which
highlighted an issue with the prebuilt_apex module.

Previously, when the prebuilt_apex created apex variants it would use
its own name as the apex variant name, even when that name included the
prebuilt_ prefix. That broke the platform_bootclasspath logic as it was
looking for apex variants for "myapex" but the only ones available were
"prebuilt_myapex".

This change ensures that it always uses the unprefixed name and fixes
the TestNoUpdatableJarsInBootImage to match. This also adds some
improved error reporting in platform_bootclasspath which helped debug
this problem.

Bug: 177892522
Test: m nothing
Change-Id: I3e88b5cec767f77dcc0e94b3ae38b499d07eadf0
2021-04-13 19:15:27 +01:00
Anton Hansson
fa5e6b50aa Remove special case code for obsolete files
incompatibilities.txt doesn't exist anymore, only
"<module>-incompatibilities.txt". Clean up the associated logic that
mapped incompatibilities.txt to android-incompatibilities.txt.

Bug: 178171189
Test: m
Change-Id: I61eeb5dcc82770fa2af356bad11b7205551d6d83
2021-04-13 19:09:48 +01:00
Pedro Loureiro
f4a88b1633 Introduce NewApi lint checks
We are enabling NewApi lint check where the min sdk != compile sdk.
At the same time, we are introducing baseline files for existing
projects that fail this check in order to keep the build running.

At the very least we stop introducing new problems and teams might
realise of risks in their projects they were not aware of.

Bug: 150847901

Test: m lint-check
Change-Id: Icfa5eb98cc6b6708149f0c52fac8fc1440d9c3b0
Merged-In: Icfa5eb98cc6b6708149f0c52fac8fc1440d9c3b0
2021-04-13 15:19:02 +00:00
Paul Duffin
60264a0b99 Improve realism of boot jar tests
Boot jars, updatable boot jars and art apex jars are part of two
separate but related configuration objects, the main Config struct
(actually the nested productVariables struct) and the dexpreopt
specific GlobalConfig. The fields in both are initialized from the same
data in the make config files but handled separately.

Previously each test that used one of the configuration objects would
generally just initialize the one it used. That would make the test
sensitive to the specific configuration object that was used. A
refactoring that change the code from using one configuration object to
the other would cause the test to fail.

Also, some tests would inadvertently create invalid configurations by
setting ArtApexJars without also setting BootJars. While the ability to
create invalid configurations is useful (and there are some tests that
exist to verify the behavior in that case) most tests should not be
using them.

This change simplifies the configuration of the tests and improves
their realism by:
1. Providing a new FixtureConfigureBootJars method that takes a set of
   boot jars and sets ArtApexJars, and BootJars in the
   dexpreopt.GlobalConfig and BootJars in the product variables too.
2. Providing a new FixtureConfigureUpdatableBootJars method that takes
   a set of boot jars and sets UpdatableBootJars in both the
   dexpreopt.GlobalConfig and productVariables.
3. Migrating existing tests to use these new methods.

Some tests still use the dexpreopt.FixtureSet...Jars() methods directly,
generally to create invalid configurations.

Bug: 177892522
Test: m nothing
Change-Id: I4d8f0b9762cfcc7ae6383bef08563d7c3fa13955
2021-04-13 14:48:34 +01:00
Paul Duffin
0b659866e8 Support UNSAFE_DISABLE_HIDDENAPI_FLAGS in platform_bootclasspath
Previously attempting to use m UNSAFE_DISABLE_HIDDENAPI_FLAGS would
cause a build failure.

It is necessary when UNSAFE_DISABLE_HIDDENAPI_FLAGS=true to create
empty files for the monolithic files so that those usages which are not
protected by the build flag, e.g. in dists or CTS tests like
CtsHiddenApiBlocklistTestApiTestCases do not cause ninja failures due
to reliance on a file that does not exist and has no rule to create it.

Bug: 177892522
Test: m nothing
      m UNSAFE_DISABLE_HIDDENAPI_FLAGS=true CtsHiddenApiBlocklistTestApiTestCases
Change-Id: I05d0b3680dbc0b5b7c7c0d792550faf848829647
2021-04-13 14:19:51 +01:00
Paul Duffin
90b8ad38e0 Remove noop code from generateHiddenAPIBuildActions
Change https://r.android.com/1673266 introduced some code that does
nothing. This change removes that.

Bug: 177892522
Test: m nothing
Change-Id: I349b17c7fe7e2f68a807dab43a4300da7fe0ad4d
2021-04-13 14:18:34 +01:00
Paul Duffin
51ae64962d Merge "Remove unused hiddenapi_flags module type" am: 99e4fc13bf am: 93391542f9
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1674027

Change-Id: I5c46593a38ede8963eeb6287f4ff1588ef3bccb9
2021-04-13 12:15:29 +00:00
Paul Duffin
703509119f Merge "Export monolithic hidden API files from platform_bootclasspath" am: db173510d3 am: 64e6f0ff5d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1673266

Change-Id: I35021b0746a5aa9ac071ca488ae530f950634159
2021-04-13 12:15:17 +00:00
satayev
f92ad57372 Merge "Introduce classpath_fragment.go." am: 86628403e9 am: 94a783223d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1670069

Change-Id: Id9da955035530a1b64b987f83cebf8c729df65df
2021-04-13 12:15:02 +00:00
Paul Duffin
99e4fc13bf Merge "Remove unused hiddenapi_flags module type" 2021-04-13 09:57:31 +00:00
Paul Duffin
db173510d3 Merge "Export monolithic hidden API files from platform_bootclasspath" 2021-04-13 09:57:12 +00:00
Artur Satayev
eabf2c175f Introduce classpath_fragment.go.
A skeleton of a classpath fragment's interface and base to be used by
any modules that provide entries for *CLASSPATH variables at runtime.

In follow up changes, this would be extended to generate
packages/modules/SdkExtensions/proto/classpaths.proto configs for such
modules to be bundled into system and individual apex binaries.

Bug: 180105615
Test: m
Change-Id: I2df550862e97222c5650c4d0480c90231fd78ef0
2021-04-13 08:58:18 +01:00
Paul Duffin
082afbb656 Remove unused hiddenapi_flags module type
Bug: 177892522
Test: m nothing
Change-Id: I604a86a25bbc722ec718b0b0272d0481218d3cd9
2021-04-13 00:23:55 +01:00