Commit Graph

37453 Commits

Author SHA1 Message Date
Colin Cross 06eea2c9b8 Store real number of records in regular end record when possible
Only store uintmax for the number of entries in the regular end record
if it doesn't fit.  p7zip 16.02 rejects zip files where the number of
entries in the regular end record is larger than the number of entries
counted in the central directory.

Fixes: 187485108
Test: TestZip64P7ZipRecords
Change-Id: I0d116e228a0ee26e4e95bb3f35771da236a056eb
2021-05-08 00:18:04 +00:00
satayev 01ac28b3bb Merge "Declare ConfiguredJarList in specific fragment implementations." am: ee7e359131 am: 4c58850bbf
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699192

Change-Id: Ief67bfa6e112726d610acc30547b3526d563bce0
2021-05-07 20:29:12 +00:00
satayev 4c58850bbf Merge "Declare ConfiguredJarList in specific fragment implementations." am: ee7e359131
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699192

Change-Id: I4d406077cdcbc092b9672bf3bf1c05c464c9e1eb
2021-05-07 19:58:58 +00:00
satayev ee7e359131 Merge "Declare ConfiguredJarList in specific fragment implementations." 2021-05-07 19:41:08 +00:00
Treehugger Robot 1ba4987c0e Merge "Split SYSTEMSERVERCLASSPATH entries from platform_bootclasspath." am: 3b755d4560 am: afa1bff5aa
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1689755

Change-Id: I6346fe8c962441bebd49bb007f888e3577a94cbe
2021-05-07 18:49:22 +00:00
Elliott Hughes 2aa090f638 Merge "Remove most of the remaining references to gccCmd." am: aa4c712989 am: a09ee94843
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1696319

Change-Id: I3d6520fb4d290158d729225fbed945f28625b142
2021-05-07 18:48:29 +00:00
Elliott Hughes 9fb4c1bbac Merge "Remove unused parts of the strip implementation." am: 2e0436c7af am: e21f8f645c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1697656

Change-Id: I877f85e65332773d4649754e1573d9a0cff3ee58
2021-05-07 18:48:18 +00:00
Treehugger Robot afa1bff5aa Merge "Split SYSTEMSERVERCLASSPATH entries from platform_bootclasspath." am: 3b755d4560
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1689755

Change-Id: I1241af54ca19334578bb43005700bde5fae32afa
2021-05-07 18:41:01 +00:00
Elliott Hughes a09ee94843 Merge "Remove most of the remaining references to gccCmd." am: aa4c712989
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1696319

Change-Id: Ia39631f189b56118df77fd22794cb3add7fc25a5
2021-05-07 18:35:21 +00:00
Elliott Hughes 8df4b3dc6b Use SHT_RELR relocations where possible.
Ideally we'll want to move this logic to the toolchain itself, but right
now the linker doesn't even know it's targeting Android, let alone which
API level.

Bug: http://b/147452927
Test: treehugger
Change-Id: I6c5c822d0767e789fa0e2c8e5668fddfd90680bb
2021-05-07 11:35:19 -07:00
Treehugger Robot 3b755d4560 Merge "Split SYSTEMSERVERCLASSPATH entries from platform_bootclasspath." 2021-05-07 18:34:52 +00:00
Elliott Hughes e21f8f645c Merge "Remove unused parts of the strip implementation." am: 2e0436c7af
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1697656

Change-Id: I4fa057fce73f68a436dad57d7d6ff0387297c1ff
2021-05-07 18:33:04 +00:00
Elliott Hughes aa4c712989 Merge "Remove most of the remaining references to gccCmd." 2021-05-07 18:15:42 +00:00
Elliott Hughes 2e0436c7af Merge "Remove unused parts of the strip implementation." 2021-05-07 18:15:17 +00:00
satayev 013485bd83 Declare ConfiguredJarList in specific fragment implementations.
Each specific classpath_fragment module knows what jars must be part
of the corresponding classpaths.proto config.

Note that bootclasspath_fragment does not implement classpath_fragment
yet, thus all boot jars and all system server jars go into corresponding
platform classpaths.

Bug: 180105615
Test: m && launch_cvd; atest CtsClasspathsTestCases
Change-Id: I6a8c7b0a5d17d62e790a441b8e2c5c1a816e7f30
2021-05-07 16:31:07 +01:00
Paul Duffin 690697082b Merge "Install updatable-bcp-packages.txt and boot-image.bprof" am: 225e4dbae4 am: 655970204c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699203

Change-Id: I4954e75a300a11f86a20e7113afaeec107295faf
2021-05-07 15:04:51 +00:00
Paul Duffin 655970204c Merge "Install updatable-bcp-packages.txt and boot-image.bprof" am: 225e4dbae4
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699203

Change-Id: I1153a08b44946b9d4b8100e79f55faa77f232386
2021-05-07 14:34:55 +00:00
Paul Duffin 225e4dbae4 Merge "Install updatable-bcp-packages.txt and boot-image.bprof" 2021-05-07 14:14:20 +00:00
Paul Duffin 2e4abd4a58 Merge "Stop exporting java_sdk_library libs in the snapshot" am: 320055eb8c am: 78ff835a32
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1697676

Change-Id: I309abc61fb11075093214df29eda9ef1d44cd595
2021-05-07 14:05:10 +00:00
Paul Duffin 64fb526cd0 Add SOONG_SDK_SNAPSHOT_PREFER support
By default the generated snapshot has prefer: false. Building it with
SOONG_SDK_SNAPSHOT_PREFER=true will force it to generate prefer: true.

Bug: 157884619
Test: m nothing
      m SOONG_SDK_SNAPSHOT_PREFER=true art-module-sdk
      - check the generated Android.bp file to make sure it contains
        prefer: true
Change-Id: Ied297b32d9bd4822a140fa99016f38e234c50f64
2021-05-07 14:54:35 +01:00
Paul Duffin 78ff835a32 Merge "Stop exporting java_sdk_library libs in the snapshot" am: 320055eb8c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1697676

Change-Id: If21ded2582835f36062511d43d03aa2c10827cf4
2021-05-07 13:48:55 +00:00
Paul Duffin 320055eb8c Merge "Stop exporting java_sdk_library libs in the snapshot" 2021-05-07 13:34:33 +00:00
Paul Duffin 8d108bac17 Merge "Make all SdkMemberTypes support transitive member deps" am: dbb490359a am: e1fab6a30b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699188

Change-Id: Ia82883e6085db6f19ed5c5307b78e72959cd4da2
2021-05-07 12:44:10 +00:00
Paul Duffin 65d891eb67 Merge "Make licenseModule SdkAware" am: e746f30a0b am: 11abc8f8d6
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699187

Change-Id: I15ee1ef26db007e5b65152baf05e84b5bbbffbb4
2021-05-07 12:44:05 +00:00
Paul Duffin 7b8d04b3b8 Merge "Make sdk tests more realistic" am: e0fc8725f3 am: bef3a5ce3e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699186

Change-Id: I899ecb12c2d87598befccdb2a98b8047ffec7fe3
2021-05-07 12:44:01 +00:00
Paul Duffin 33334e65b7 Merge "Add missing calls to InitSdkAwareModule" am: 820ed78954 am: c74ff5cae5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699185

Change-Id: I4bf1ee3640bab68d7c38079e71eec25f212a84c3
2021-05-07 12:43:54 +00:00
Jeongik Cha a596909342 Rename fields in dexpreopt config
Add 'host' into the name of fields regarding path on the host side to
distinguish between paths on the device(which will be added in the
following commit), and paths on the host.

Bug: 158843648
Test: build and flash, and then
  adb wait-for-device \
    && adb -s $S root \
    && adb -s $S logcat \
    | grep -E 'ClassLoaderContext [a-z ]+ mismatch' -C 1
Change-Id: Ib2645ed51591ba2f4b726c115b401ad2bd6675da
2021-05-07 21:40:23 +09:00
Paul Duffin e1fab6a30b Merge "Make all SdkMemberTypes support transitive member deps" am: dbb490359a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699188

Change-Id: Id7f35c99e3cf7ffdb9627afb73b802fac734e154
2021-05-07 12:36:35 +00:00
Paul Duffin 11abc8f8d6 Merge "Make licenseModule SdkAware" am: e746f30a0b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699187

Change-Id: I700e883007f12cf70a118b9708314c1297c18144
2021-05-07 12:36:28 +00:00
Paul Duffin dbb490359a Merge "Make all SdkMemberTypes support transitive member deps" 2021-05-07 12:31:15 +00:00
Paul Duffin e746f30a0b Merge "Make licenseModule SdkAware" 2021-05-07 12:31:03 +00:00
Paul Duffin bef3a5ce3e Merge "Make sdk tests more realistic" am: e0fc8725f3
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699186

Change-Id: I4f52029c1044d9f888413e936b2f752b3c004a6b
2021-05-07 12:28:34 +00:00
Paul Duffin c74ff5cae5 Merge "Add missing calls to InitSdkAwareModule" am: 820ed78954
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699185

Change-Id: Ic6c043bb9f549fc2326f44b50ee5ff2f38c199c1
2021-05-07 12:27:37 +00:00
satayev 95e9c5bbfa Split SYSTEMSERVERCLASSPATH entries from platform_bootclasspath.
Boot jars are different to system server jars at build level, due to
added complexity of dexpreopt. As a logical separation add a new
classpath fragment type and split existing classpaths.proto generation
into relevant pieces.

Bug: 180105615
Test: m && launch_cvd; atest CtsClasspathsTestCases
Change-Id: I88bec09fc920166ffd0092faef980754ddeb6593
2021-05-07 13:24:16 +01:00
Paul Duffin e0fc8725f3 Merge "Make sdk tests more realistic" 2021-05-07 12:16:25 +00:00
Paul Duffin 820ed78954 Merge "Add missing calls to InitSdkAwareModule" 2021-05-07 12:15:16 +00:00
Paul Duffin be007d1800 Install updatable-bcp-packages.txt and boot-image.bprof
Previous refactorings of the code for creating these two files caused
them to be created before the boot.prof file instead of afterwards. As
a result even though they were appended to the list of files to install
they were discarded when the boot.prof file set the list rather than
appended to it. That worked before the refactoring because the
boot.prof file set the list first before the others were appended to
it.

This change appends the boot.prof file to the list making the order in
which they are added irrelevant.

Bug: 187494247
Test: m nothing
      - check DEXPREOPT_IMAGE_PROFILE_BUILT_INSTALLED in generated
        make_vars file to ensure it includes all 3 files.
Change-Id: Idb94531daf61b1b047c72eb5c67a57d3fdced05c
2021-05-07 13:07:34 +01:00
Paul Duffin 85e40bba2c Merge "Transitively add APEX variants for contents of prebuilt_apex/apex_set" am: c76155cd71 am: c8e88cf3f7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1697056

Change-Id: I25aaada86866e4a869972a106d07a8e7c9208f68
2021-05-07 09:00:35 +00:00
Paul Duffin c8e88cf3f7 Merge "Transitively add APEX variants for contents of prebuilt_apex/apex_set" am: c76155cd71
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1697056

Change-Id: I0d375fe05a3f2935d2cae0425322a2d36a6f5c96
2021-05-07 08:45:39 +00:00
Paul Duffin c76155cd71 Merge "Transitively add APEX variants for contents of prebuilt_apex/apex_set" 2021-05-07 08:24:06 +00:00
Inseob Kim 0a834e5ad7 Merge "Add prebuilt_defaults for prebuilt etc modules" am: d91c75ca09 am: 837b94419f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1698425

Change-Id: I0549652db3e5aa97ce46bb6fc1a1b0efd72988a6
2021-05-07 00:44:11 +00:00
Inseob Kim 837b94419f Merge "Add prebuilt_defaults for prebuilt etc modules" am: d91c75ca09
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1698425

Change-Id: Icf6552fe42f1427feabab0562c530fe64a7756ae
2021-05-07 00:29:10 +00:00
Colin Cross 81866c119c Merge "Support blueprint_go_binary in PathForModuleSrc" am: 57892ceafb am: c24869d391
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1694192

Change-Id: I197f8493e767bf255387d4bec456e3a706e8f63b
2021-05-07 00:03:58 +00:00
Inseob Kim d91c75ca09 Merge "Add prebuilt_defaults for prebuilt etc modules" 2021-05-06 23:59:18 +00:00
Colin Cross c24869d391 Merge "Support blueprint_go_binary in PathForModuleSrc" am: 57892ceafb
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1694192

Change-Id: I37850b744a3f3eb89bc6566c191fb25e5001ef07
2021-05-06 23:47:54 +00:00
Colin Cross 57892ceafb Merge "Support blueprint_go_binary in PathForModuleSrc" 2021-05-06 23:29:22 +00:00
Paul Duffin b17d044628 Transitively add APEX variants for contents of prebuilt_apex/apex_set
This is part of the work needed to allow the exported_java_libs
property to be replaced by exported_bootclasspath_fragments.

Bug: 187266082
Test: m nothing
      m SOONG_CONFIG_art_module_source_build=false nothing
Change-Id: I2c1d70a390200b93163f9799719290c9d55a041c
2021-05-06 23:43:43 +01:00
Paul Duffin e7c94a689b Stop exporting java_sdk_library libs in the snapshot
The libs property in java_sdk_library is not safe to export as it can
contain libraries that contain implementation specific classes. No
snapshot appears to need this capability but if it does become
necessary then either it will need to use the existing stub_only_libs
property or a new one will need to be added.

Bug: 157884619
Test: m nothing
Change-Id: I60a069177dbee4070d311b23d25f4eb3c5e7ea13
2021-05-06 23:22:15 +01:00
Paul Duffin 2d3da31d41 Make all SdkMemberTypes support transitive member deps
Previously, only those SdkMemberTypes which had specific need to
automatically add some of their dependencies as sdk members would cause
the sdk to visit their transitive dependencies. However, as any module
can have dependencies on license modules and license modules need to be
included in the sdk then it needs to visit transitive dependencies of
all members.

So, this change removes the support for allowing an SdkMemberType to
control whether its transitive dependencies are visited and just visits
them all.

This does not have any effect on sdk snapshots as in order for a
dependency to be added to an sdk it needs to be added with a tag that
implements SdkMemberTypeDependencyTag and the only tags that implement
this are used by SdkMemberTypes that had enabled transitive members.

Bug: 181569894
Test: m art-module-sdk art-module-host-exports art-module-test-exports
      - verify that this change has no effect on the generated snapshots
Change-Id: If0293af0237aa7e39335e5b8383a41c023ff5853
2021-05-06 23:13:06 +01:00
Paul Duffin b9e7a3ca7a Make licenseModule SdkAware
Making licenseModule SdkAware caused two breakages in the build. The
breakages were both caused by having an SdkAware module that was
depended upon by a versioned sdk snapshot but which was not itself
versioned and so did not have the member_name property set.

That occured because some default licenses have been added to the
packages containing prebuilts, e.g. prebuilts_runtime_license in
prebuilts/runtime/Android.bp. They apply to both the versioned and
unversioned members.

Once license support has been added to the sdk most of those will be
removed and replaced with properly versioned license modules. However,
in the meantime it is necessary to support that.

This change avoids the issue by checking to see whether the module is
itself versioned before relying on the member_name property. It also
improves the error message when a panic is recovered to make it easier
to identify where it originates.

Bug: 181569894
Test: m nothing
Change-Id: I0e7da2e0c4a30a6f814c2faab821b185aaed2135
2021-05-06 23:13:06 +01:00