Commit graph

81347 commits

Author SHA1 Message Date
Jihoon Kang
641bd9daee Merge "Enable non-"everything" stubs generation in java_api_library" into main 2024-02-28 22:38:52 +00:00
Yu Liu
ab31c828d7 Some tweaks to the aconfig flag collection logic
1. Output the aconfig flags pb and storage files to /etc
2. Fix a bug where aconfig flags were not collected for java_sdk_library

Bug: None
Test: manual and unit tests.
Change-Id: I0896e91918c1b53c98ac9dc0f4a636f158200891
2024-02-28 22:21:31 +00:00
Aditya Kumar
b54effc612 Merge "Update unaligned-vector-mem to -munaligned-access" into main am: 592b54c443
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2977952

Change-Id: I5001c1465f48c0a9647026864fff6b655d717077
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28 20:15:53 +00:00
Colin Cross
bb77d8e948 Use R.txt files from aar files directly
Use the R.txt files from aar imports directly instead of recreating
one using aapt2 from the embedded resources.  Fixes an issue with
com.google.android.material where the jar was referencing
com.google.android.material.R.attr.theme, aapt2 was not producing
"int attr theme 0x0" in R.txt, but the aar's R.txt had it.

Bug: 294256649
Test: builds
Change-Id: Ibe1e5535a75eed59f3b8dbbc12eff9c07af51d37
2024-02-28 11:54:48 -08:00
Colin Cross
fd620b2b44 Put extraCombinedJars after the compiled jars
extraCombinedJars contains the R.jar generated by
ResourceProcessorBusyBox for apps.  It needs to go before any
static_libs dependencies so that the finalized R values take
precedence over any non-final R values that may have been included
in the dependencies.  Moving after the javac and kotlinc compiled
jars helps minimize differences when turning on use_resource_processor
by default by using the MANIFEST.MF generated by soong_zip instead of
the one generated by ResourceProcessorBusyBox, which contains a
different Created-By field.

Bug: 294256649
Test: m javac-check
Change-Id: I8d060594404121fd36ef650ac317f0c5d5f92b23
2024-02-28 11:54:48 -08:00
Colin Cross
c52d523327 Use RSP file for long classpaths
Setting use_resource_processor: true can increase the length of the
classpath enough to trigger "command line too long" errors.  There are
clockwork libraries with 546 transitive android_library dependencies.
Write classpaths longer than 64kB to a separate file and add them
to the javac and turbine command lines with the @file syntax.

Bug: 294256649
Test: m checkbuild
Change-Id: I2b6a57ae30de03347db3221e9c9a4b2efb490115
2024-02-28 11:54:48 -08:00
Aditya Kumar
592b54c443 Merge "Update unaligned-vector-mem to -munaligned-access" into main 2024-02-28 19:35:39 +00:00
Spandan Das
be455487bf Merge "Use BaseModuleName of dep when writing to make" into main am: 4dc449593a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2978136

Change-Id: I089b921d4c953aca8dce8dc72882da1d0778b98a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28 18:54:56 +00:00
Spandan Das
4dc449593a Merge "Use BaseModuleName of dep when writing to make" into main 2024-02-28 18:03:41 +00:00
Spandan Das
3faa792093 Use BaseModuleName of dep when writing to make
Since BaseModuleName of the dep becomes its LOCAL_MODULE name in the
generated mk file, we should also use BaseModuleName of dep for populating
properties such as LOCAL_SHARED_LIBS of rdeps

Test: m nothing --no-skip-soong-tests
Bug: 322175508

Change-Id: I6b47112faa63f85d19b5b71e0e102cea0ab68e3b
2024-02-28 18:03:00 +00:00
Jihoon Kang
5d701272e4 Enable non-"everything" stubs generation in java_api_library
This change adds support to generate non-"everything" (i.e. "runtime"
and "exportable") stubs in java_api_library, which generates the stubs
from the api signature files.

Unlike droidstubs module that generates "everything", "exportable" and
"runtime" stubs in a single module, java_api_library generates a single
set of stubs per module, which is set by the default-"everything"
property `stubs_type`. This is because java_api_library is responsible
for both generation and the compilation of the stubs srcjar, and
compilation of the stubs srcjar are done in separate java_library
modules for from-source stubs.

Utilization of this feature will be done in a follow up change that
generates the "exportable" java_api_library modules in java_sdk_library.

Test: m nothing --no-skip-soong-tests
Bug: 318009570
Change-Id: I1051544ac3bcdb3ba1f78bfec28eba4e9fad9c2d
2024-02-28 07:55:32 +00:00
AdityaK
2c90a92d77 Update unaligned-vector-mem to -munaligned-access
Latest compiler has merged both unaligned access flags into one.

TODO:  This is needed until we change clang driver to enable -munaligned access by default.for Android b/327307773

Bug: 326790418
Change-Id: Ia8c29dc56104d2cffb8ac41aae6eeacccae68e61
2024-02-28 06:14:57 +00:00
Inseob Kim
3c0c9d7816 Sort jarjar rename keys before using
To make it deterministic

Bug: 327302642
Test: compare build commands among different targets
Change-Id: I890dcd67c62db58938a6e6d1c4e3fbd323c72b18
2024-02-28 14:28:59 +09:00
Riya Thakur
54905d0584 Merge "Add sh_binary dependencies to primary abi of the target" into main am: 88c21f567f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2977494

Change-Id: I4f00c169027dd886030404ab7ce00b826e204b72
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28 03:26:31 +00:00
Riya Thakur
88c21f567f Merge "Add sh_binary dependencies to primary abi of the target" into main 2024-02-28 02:37:09 +00:00
Jihoon Kang
58551161ca Merge changes I14928b7b,Ia009df3d into main am: 60bdd05b21
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2929615

Change-Id: I6c50871814d4165f6b546edae39ca8b16ebba9fc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28 01:15:48 +00:00
Jihoon Kang
60bdd05b21 Merge changes I14928b7b,Ia009df3d into main
* changes:
  Generate runtime stubs in droidstubs
  Additional cleanup prior to adding the runtime stubs
2024-02-28 00:29:08 +00:00
Riya Thakur
654461cde9 Add sh_binary dependencies to primary abi of the target
If compile_multilib is set to 'both' for an apex having a sh_binary
dependency for which compile_multilib is not set, then the sh_binary
dependency should be added for the primary ABI of the target

Bug: 325628733,326985291
Test: m
Change-Id: Ie9cd12d49f6854c33af3724cb8e2fc3d8b7627a0
2024-02-27 07:23:45 +00:00
Treehugger Robot
a948adc496 Merge "Support new property "arch_dpi" for android_import" into main am: 8bf3013844
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2967069

Change-Id: I0eb96ab1d45a47c4a67d4fef7f79d813846a6441
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-27 03:26:27 +00:00
Treehugger Robot
8bf3013844 Merge "Support new property "arch_dpi" for android_import" into main 2024-02-27 02:56:45 +00:00
Jihoon Kang
ca2f9e8bf4 Generate runtime stubs in droidstubs
Similar to how the exportable stubs are generated in droidstubs, this
change adds the rule to generate the runtime stubs in droidstubs. Unlike
the exportable stubs, which the artifacts are dist'ed during the sdk
build, the runtime stubs will only used in the hiddenapi flags
generation. Therefore, only the stubs are generated and no other
artifacts are generated during the "runtime" metalava invocation. When
`aconfig_declarations` property is not defined (i.e. no flags are
enabled, thus the exportable and the runtime stubs are identical), the
runtime stubs are simple copied from the exportable stubs.

Note that the runtime stubs are not a dependency of `droid` as of now.
The dependency of the hiddenapi flags will be replaced to the runtime
stubs in the child CL.

Test: m nothing --no-skip-soong-tests && m api-stubs-docs-non-updatable
Bug: 319162970
Change-Id: I14928b7b5619522c4caab1dfc795bc9c7e929639
2024-02-27 01:51:05 +00:00
Jihoon Kang
6b93b38e34 Additional cleanup prior to adding the runtime stubs
This change performs additional cleanups in the build rules of the
droidstubs module, specifically optionalizing annotationFlags(...) and
apiLevelsAnnotationsFlags(...). This is required as "runtime" stubs
would not generate other artifacts than the stubs, and thus
`stubsArtifacts` would not be generated for "runtime".

Test: m nothing
Bug: 319162970
Change-Id: Ia009df3d01f49841d5041fb2dfdfa7ef8671bf18
2024-02-27 01:01:44 +00:00
Spandan Das
a0aa5e030b Ignore prebuilt apex_contributions in coverage builds am: bffd7fbaba
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2976971

Change-Id: Ieba81fa75cec4a38159c16befa1d84c0df12aabc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-26 15:16:06 +00:00
Spandan Das
bffd7fbaba Ignore prebuilt apex_contributions in coverage builds
This CL unsets the prebuilt contents of a selected apex_contribution
in coverage builds. The effect of this will be that mainline modules
will be built from source with the following in coverage builds
1. Instrumentation turned on
2. RELEASE_ACONFIG_VALUE_SETS for that release config

Test: Added a unit test
Test: lunch cf_x86_64_phone-next-userdebug && EMMA_INSTRUMENT=true m nothing (with ag/26298763)
Bug: 325666427
Change-Id: Ic4e1f0612072377261602842dfd303c064095035
2024-02-26 10:07:45 +00:00
Mårten Kongstad
0091bf0d2b Merge "Include all_aconfig_declarations in droid dist" into main am: 50bfc34894
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2973436

Change-Id: I5706e69be381c4ff41cc49712da01ce28f98323b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-26 07:56:29 +00:00
Mårten Kongstad
50bfc34894 Merge "Include all_aconfig_declarations in droid dist" into main 2024-02-26 07:12:36 +00:00
Herbert Xue
04354ae88b Support new property "arch_dpi" for android_import
Support the feature with new property combined with architecture and dpi
resolution.

Bug: 319381869
Test: go test -run TestAndroidAppImport_ArchVariants
Change-Id: Ib43cbae8868fc35701e6666867b2325f5abbb2c7
2024-02-26 10:46:18 +08:00
Yi Kong
6d48d7e1bc bindgen: set -Wno-unknown-warning-option flag by default am: 52e5e6b1a7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2975255

Change-Id: I7896590677cea14294e8eb1fdfe6c49067ea4028
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-25 08:29:44 +00:00
Yi Kong
52e5e6b1a7 bindgen: set -Wno-unknown-warning-option flag by default
Test: presubmit
Change-Id: Id8547c0b3263f4e3b060f8b0fce2aef8a494b1b2
2024-02-25 12:49:41 +08:00
Min Yun
53ca8b2512 Handles if a space is encountered while parsing the rule
kati and GNU make may have blank lines in the middle of commands declared in rules.
Add compatibility for this.

Change-Id: Iae03053c0cb901074c26420c0c6ac1c0e00d99de
2024-02-24 08:08:08 +09:00
Mårten Kongstad
c61353222c Include all_aconfig_declarations in droid dist
Include all_aconfig_declarations in the droid dist directory
(identically to how it is already included in the sdk dist).

For local builds, `printflags` is still the recommended way to read
all_aconfig_declarations; the dist-ed files are intended as a way to
inspect remote builds, such as CI builds.

Bug: 324281288
Test: lunch aosp_oriole-trunk-eng && m droid dist && test -e out/dist/flags.pb && test -e out/dist/flags.textproto
Change-Id: Ic29d69ab5014593a3f9213f8a5b55e0569922cc9
2024-02-23 09:22:56 +01:00
Treehugger Robot
7f8c0e0c97 Merge changes I67893f8c,I5f29258e into main am: df3f773e78
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2967064

Change-Id: I4b3afe0dc6131eaed80837c7ba982b0ac6bbce99
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 04:45:33 +00:00
Treehugger Robot
df3f773e78 Merge changes I67893f8c,I5f29258e into main
* changes:
  Ensure that filesystem module can track modules with prefer32
  bpf modules can be included in filesystem modules
2024-02-23 03:58:16 +00:00
Jihoon Kang
d881124481 Convert the build flag RELEASE_EXPORT_RUNTIME_APIS to a product variable am: 35349466cd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2973435

Change-Id: If699df9c820f06564446c5fac15ad79e2bb9365f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 02:36:45 +00:00
Jihoon Kang
14c69449f3 Introduce product variable PRODUCT_HIDDEN_API_EXPORTABLE_STUBS am: b36fc547c0
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2973434

Change-Id: I8a7ccf940ea8ce15ca3440488c2f7146bf0d58bb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23 02:36:40 +00:00
Jihoon Kang
35349466cd Convert the build flag RELEASE_EXPORT_RUNTIME_APIS to a product variable
RELEASE_EXPORT_RUNTIME_APIS build flag is currently used to modify the
filter condition for the "exportable" stubs, so that it exposes wider
set of flagged apis (ENABLED && READ_ONLY vs ENABLED || READ_WRITE).
This flag was originally introduced as a build flag to be enabled in
specific release configurations, but instead this is used as a product
variable that will be enabled in the product `sdk_with_runtime_apis`,
which will be introduced in a future change.

Test: m nothing --no-skip-soong-tests
Bug: 326312949
Change-Id: Ieb3cee517dd6cedcca844a9eab270aedf8199d4e
2024-02-22 20:10:22 +00:00
Jihoon Kang
b36fc547c0 Introduce product variable PRODUCT_HIDDEN_API_EXPORTABLE_STUBS
The new product variable behaves identical to the build flag
RELEASE_HIDDEN_API_EXPORTABLE_STUBS: if the variable is set to true, the
hiddenapi flags are generated from the "exportable" stubs (i.e. the
stubs that does not include READ_WRITE permission or DISABLE state
flagged apis) instead of the "everything" stubs (i.e. the stubs that
includes all flagged apis regardless of the state of the flags). If the
variable is set to false, the stubs are generated from the "everything"
stubs.

This product variable will be utilized for `sdk_with_runtime_apis`
product in the future changes.

Test: m nothing
Bug: 326310637
Change-Id: I8872d0b0617eb0f25da32611837ad823c77b0df7
2024-02-22 20:09:46 +00:00
Cole Faust
f93a27af9e Merge "Allow soong config value variables to set nested properties" into main am: c7a806a657
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2972371

Change-Id: I26f2bd95fc23bf3f96477911fe61210c78c79d7b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-22 18:56:04 +00:00
Cole Faust
c7a806a657 Merge "Allow soong config value variables to set nested properties" into main 2024-02-22 18:22:02 +00:00
Stephen Hines
b9a34dff5a Merge "rustc-1.75.0 Build 11471753" into main am: b0e708d03d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2969319

Change-Id: Ie8cde3332f9256615ef58a9384c7eb4d42ebc54f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-22 08:05:17 +00:00
Stephen Hines
b0e708d03d Merge "rustc-1.75.0 Build 11471753" into main 2024-02-22 07:29:40 +00:00
Nishant Panwar
705982f4e1 Merge "Add SDK library framework-pdf-v in MediaProvider" into main am: 6636216116
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2953730

Change-Id: Ia85d07580f2386735957dbfd8d159cffe8407d6e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-22 07:02:26 +00:00
Nishant Panwar
6636216116 Merge "Add SDK library framework-pdf-v in MediaProvider" into main 2024-02-22 06:32:14 +00:00
Cole Faust
1da0b20575 Allow soong config value variables to set nested properties
Previously, it would error out if it saw anything that wasn't a string
or slice of strings. Now it will also recurse in sub-structs.

Fixes: 326255534
Test: go test
Change-Id: Icbca8e4a2cf54b5610599a10805550fed05eb396
2024-02-21 11:38:09 -08:00
Aditya Kumar
88ce10f609 Merge "Remove wtautological warnings added during toolchain update" into main am: 6edbaa369f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2952984

Change-Id: Ibec9ac92e9fbf3b7ab4ddeef285ac6c153508959
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-21 18:49:37 +00:00
Yu Liu
cd72a6387a Merge "Support aconfig stoage files for apex." into main am: 864fd2f1f5
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2966056

Change-Id: Ia4fa4729d2d4967c56c72dff3a9007927782cf2a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-21 18:48:39 +00:00
Aditya Kumar
6edbaa369f Merge "Remove wtautological warnings added during toolchain update" into main 2024-02-21 18:43:28 +00:00
Yu Liu
864fd2f1f5 Merge "Support aconfig stoage files for apex." into main 2024-02-21 17:42:58 +00:00
Andrew Walbran
a556c303b9 Merge "Revert^4 "Integrate Rust-specific System Properties into rules generation."" into main am: c0a6d29e49
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2965053

Change-Id: I195bfa8667027039d1259016d8150f07d7548a65
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-21 12:21:31 +00:00
Andrew Walbran
c0a6d29e49 Merge "Revert^4 "Integrate Rust-specific System Properties into rules generation."" into main 2024-02-21 11:53:45 +00:00