Commit Graph

5570 Commits

Author SHA1 Message Date
Spandan Das
b74d1e1d91 Revert "Update min_sdk_version from SdkSpec to ApiLevel"
Revert submission 2457063

Reason for revert: Broken udc-dev

Reverted changes: /q/submissionid:2457063

Change-Id: Id6349fc1318877044af713c914a0afd437d3d2d5
2023-03-21 01:36:47 +00:00
Spandan Das
ea93f64f03 Merge changes Ie6ae7e26,I2fd822a2,Iddd497df,Iee5a936e,I628b443c
* changes:
  Update min_sdk_version from SdkSpec to ApiLevel
  Always include host variants in the sdk snapshot
  Prework for migrating min_sdk_version from (kind+level) to (level)
  Create EffectiveVersion* functions for ApiLevel
  Create two sentinel api levels
2023-03-20 23:33:48 +00:00
Spandan Das
6b73fcb200 Export the name of stub java Soong modules
build/make has several hardcoded references to these modules. In
preparation for switching between stubs generated from .txt files,
export these module names to Make. This prevents duplication of stub
selection logic in multiple places.

Test: TH
Change-Id: I5b1ef27aaea269d60aa7953787ea10d1b2a793f2
2023-03-20 22:03:42 +00:00
Elliott Hughes
65a97364ba Merge "Generate NDK stubs for riscv64 too." 2023-03-20 21:10:53 +00:00
Spandan Das
626a8ad934 Cleanup hardcoded references to android_*stubs_current
These hardcoded refs will need to be updated when we start using .txt
stub equivalent (single-tree/multi-tree). Instead of strewing this logic
all over the codebase, create a helper function that contains the
replacement logic. All other places should call this helper function
instead of calculating the name of .txt equivalent soong module by
itself.

(Will do a similar cleanup in build/make)

Test: no change in ninja file

Change-Id: I6bf999eb4aeaba6ac2a44b9016bae4ec8c79ce19
2023-03-20 20:50:03 +00:00
Liz Kammer
071c76e223 Merge "Add documentation for BuildParams" 2023-03-20 18:42:24 +00:00
Liz Kammer
063b5773b3 Merge "Move fingerprint genrule and DCLA cc libraries to prod allowlists." 2023-03-20 17:29:37 +00:00
Treehugger Robot
61980fe2dd Merge "Denylist failing cc_tests svcenc and svcdec." 2023-03-20 17:25:50 +00:00
Spandan Das
e773739787 Update min_sdk_version from SdkSpec to ApiLevel
min_sdk_version signifies device version and does not need an sdkKind to
describe it fully. Update the type and cleanup existing usages. As a
side benefit, we also get better error handling since users can no
longer enter something like `public_30` as a valid min_sdk_version in bp
files

Will do a similar cleanup for targetSdkVersion and maxSdkVersion in a
followup CL

Test: m nothing
Test: no change in ninja files (this should be a no-op)
Bug: 208456999

Change-Id: Ie6ae7e267d093c5e4787e82685daaca1021d202e
2023-03-20 16:51:32 +00:00
Spandan Das
5780039180 Create EffectiveVersion* functions for ApiLevel
These functions already exist on SdkSpec(kind+level) and are used for
computing the effective version for vendor modules compiling against
current or system_current which depends on the sdkKind

Create these functions for ApiLevel to support migrating MinSdkVersion
from SdkSpec to ApiLevel. Since the "api level" of vendor modules depend
on the sdk_kind as well, these functions will continue to exist on
SdkSpec.

Test: m nothing
Test: no diff in ninja files (this should be a no-op)
Bug: 208456999

Change-Id: Iee5a936e72b02b4fab9e457082d46fb8358eff16
2023-03-20 16:40:08 +00:00
Spandan Das
7ee04614cd Create two sentinel api levels
InvalidApiLevel:
This will be used for error handling if a user provided api level is
not recognized

PrivateApiLevel:
This will be used to differentiate the api level of sdk_version:"" from
sdk_version:"current" or sdk_version:"<active_codename>" (all used to be
FutureApiLevel previously). This was not necessary previously since the
type of min_sdk_version was SdkSpec(kind+level). Since it had access to
kind, it could check that it was not SdkSpecPrivate

Test: m nothing
Change-Id: I628b443c34bf2ec258d947dfec09f38b126bc6bb
2023-03-20 16:40:08 +00:00
Alix Espino
895bc9463b Merge "Bp2build for android_app minsdkversion property" 2023-03-20 15:38:53 +00:00
Jingwen Chen
b5edbf9b8a Denylist failing cc_tests svcenc and svcdec.
Bug: 274164834
Test: presubmits
Change-Id: I281b3198b39468bdf435d318af87c336fd3500c9
2023-03-20 13:17:49 +00:00
Liz Kammer
daefe0c6bd Add documentation for BuildParams
Test: n/a
Change-Id: I867b3c2b7faad66a1b8c3b772214673b2c56a3b8
2023-03-20 09:14:30 -04:00
Ioana Alexandru
54fb18d43b Merge "Revert "Export non-apex variants of modules to make"" 2023-03-20 11:08:55 +00:00
Jingwen Chen
01addfcd49 Move fingerprint genrule and DCLA cc libraries to prod allowlists.
Fixes: 263406837
Test: presubmits
Test: abtd (TBD)
Change-Id: I1dbf3021cb671e0a395efe755fd579634985e886
2023-03-20 11:08:22 +00:00
Jingwen Chen
8ac7d7d01d Revert "Export non-apex variants of modules to make"
This reverts commit 502da3987a.

Reason for revert: b/274195633

```
In file included from out/soong/installs-aosp_cf_x86_pasan.mk:134984:
In file included from out/soong/Android-aosp_cf_x86_pasan.mk:981696:
In file included from build/make/core/soong_cc_rust_prebuilt.mk:76:
build/make/core/base_rules.mk:342: error: packages/modules/Uwb/service/uci/jni: MODULE.TARGET.SHARED_LIBRARIES.libuwb_uci_jni_rust already defined by packages/modules/Uwb/service/uci/jni.
```

Change-Id: Ic1ea6969e54c23a7d126eb0fb47ab6f2e44ee965
2023-03-20 11:05:16 +00:00
Cole Faust
8181f4b916 Replace json_encode with json.encode
Now that the json module is available in the cquery starlark execution
enviornment.

Bug: 245315355
Test: m nothing
Change-Id: Ie7c314e2f4e2ef4257bd84abc1add01ddb668f0b
2023-03-19 14:24:23 -07:00
Treehugger Robot
9ba1ddd355 Merge "Remove --extra_toolchains flag from aquery runner" 2023-03-18 22:56:50 +00:00
Alix
e5085ebbc1 Bp2build for android_app minsdkversion property
Bug: 249265719
Test: go test ./bp2build
Test: insepcted generated build files
Change-Id: I02ed54a9fdcc88d98439e0a61626a0afc1fce639
2023-03-17 20:47:52 +00:00
Romain Jobredeaux
b1559e9901 Merge "Exclude jdk17 from bp2build instead of jdk11" 2023-03-17 20:43:33 +00:00
Vinh Tran
cbee4e3f2e Remove --extra_toolchains flag from aquery runner
When specifying --extra_toolchains=//prebuilts/clang/host/linux-x86:all, there is no control over the sort order of toolchains, which can result in a more generic toolchain being used rather than the most specific (and correct) toolchain.

Apparently, this flag is causing Bazel to drop some flags from CppCompile actions. This causes mixed-build's outputs different from Soong build. The mixed-build also generates different from Bazel build because we don't use the flag when using `b` to build the targets.

Test: Inspect differences in CppCompile actions from Soong's Bazel aquery handler and b aquery
Bug: 273995121
Change-Id: Id9e32c0cd12ab8577cd5b223ca9e19c982f3ae1f
2023-03-17 15:34:37 -04:00
Elliott Hughes
f7d3109972 Generate NDK stubs for riscv64 too.
These will only be provisional, but there are enough different groups
that want *something* to make a start on porting that it's probably
time...

Ignore missing dependencies in build-ndk-prebuilts.sh for now, because
various pieces (that the NDK doesn't care about) are still missing.

Bug: http://b/273792258
Test: build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: I39202a953a73dc449a10a887d497d09079c43402
2023-03-17 18:49:18 +00:00
Cole Faust
bebe607db4 Merge "Export non-apex variants of modules to make" 2023-03-17 17:20:19 +00:00
Romain Jobredeaux
d4e1a1569e Exclude jdk17 from bp2build instead of jdk11
This is part of the changes needed to switch to jdk17 as the default.

Test: presubmits
Bug: 215230098
Change-Id: I4dad9f576c88bdc98f329a35fb8a1eb1527b1366
2023-03-17 11:06:02 -04:00
Sam Delmerico
9ac38d7e4e Merge "bp2build allowlist libimapper, bufferpools deps" 2023-03-17 14:07:29 +00:00
Jingwen Chen
bb37c196a3 Merge "Populate apexBundle#filesInfo using bazel info." 2023-03-17 06:42:04 +00:00
Sam Delmerico
9d71a84e55 bp2build allowlist libimapper, bufferpools deps
These are used to build com.android.neuralnetworks and
com.android.media.swcodec.

Bug: 273927900
Test: b build --config=android //frameworks/av/apex:com.android.media.swcodec
Test: b build --config=android
  //packages/modules/NeuralNetworks/apex:com.android.neuralnetworks
Change-Id: Ia36d6e3419fb5034f1dbf410da738fcbf98d6874
2023-03-16 16:55:47 -04:00
Cole Faust
502da3987a Export non-apex variants of modules to make
Currently, non-apex variants of modules that are in apexes are not
exported to make unless they're apex_available to the platform. This
means that you can't `m` those modules directly.

However, there is a workaround in the apex androidmk implementation that
emits make rules for the removed modules, but just redirects them to
build the apex itself. We want to remove that, but one of the problems
with doing so is that you can no longer `m` many modules afterwards.

To fix that, unhide the apex's dependencies from make. To ensure they're
not installed, call SkipInstall() on them, and update SkipInstall() to
be more strict by setting `LOCAL_UNINSTALLABLE_MODULE := true`.

Bug: 254205429
Test: Presubmits
Change-Id: Ib971981559f3b642ce6be8890679e994e1b44be0
2023-03-16 11:13:23 -07:00
Jingwen Chen
2d37b641c5 Populate apexBundle#filesInfo using bazel info.
This CL adds a few things:

1) Populate the filesInfo struct with cquery'd information from an
apex's ApexMkInfo provider. This filesInfo is then used in
apex/androidmk.go to generate Make modules (soong_cc_rust_prebuilt.mk),
which are then used in packaging to generate zip files of symbols in $PRODUCT_OUT.
2) Make a list of dicts of primitives JSON-encodable.
3) Tests.

Bug: 271423316
Bug: 271423062
Test: presubmits
Change-Id: Iaa34f51044de310510e580d9cf1fe60bbef801c1
2023-03-16 18:09:27 +00:00
Treehugger Robot
da4a78bf40 Merge "Add --multitree-build flag" 2023-03-16 02:34:22 +00:00
LaMont Jones
52a7243387 Add --multitree-build flag
Add a flag that enables logic specific to multitree-build builds.

Bug: b/266730267
Test: treehugger, manual
Change-Id: Ia6f392525faa9d66bb6e0692b2a2e9c3b8493b0d
2023-03-15 23:08:34 +00:00
Usta Shrestha
d66f2ce93d Add external/escapevelocity to allowlist
Test: build/bazel/ci/bp2build.sh
Bug: 273739117
Change-Id: Iee11cc6029d1bce5a426a4467dd661630c8c3e9a
2023-03-15 15:04:59 -04:00
Chris Parsons
38851d86aa Make buildroot.cquery determinisitc
Test: determinism_test.sh
Change-Id: Ia80dc425a781247f518ace8a5d11b49cd1ae60ce
2023-03-15 00:19:55 -04:00
Xin Li
a0ede28632 Merge "Merge Android 13 QPR2" 2023-03-14 21:40:45 +00:00
Treehugger Robot
f214f12014 Merge "Respect Clang version override env vars." 2023-03-14 20:25:58 +00:00
Alix Espino
d184706daa Merge "bp2build kotlinCFlags" 2023-03-14 18:35:15 +00:00
Treehugger Robot
261bc29678 Merge "Omit linux_bionic in mixed builds." 2023-03-14 18:07:17 +00:00
Liz Kammer
11ec91f652 Omit linux_bionic in mixed builds.
We do not have toolchains set up for linux bionic at this time.

Bug: 273425275
Test: CI
Change-Id: I72760eabeb7be28f176eaaf4c6b9954dfdca1e42
2023-03-14 10:03:38 -04:00
Alix
f848bf8225 bp2build kotlinCFlags
for java_library, java_binary, android_app & android_library

Change-Id: Ia8dec7e7d497eb41b2d8dcd8c44c3090d1d3b4bd
Bug: 271265771
Test: go test ./bp2build
2023-03-14 13:57:22 +00:00
Anton Hansson
7d6dd8bb33 Add filegroup_defaults module
Allows specifying shared filegroup attributes in a central place.

Test: filegroup_test.go
Change-Id: I82feac37ae6998313a0004f8af58f3decf7a514e
2023-03-13 16:02:06 +00:00
Anton Hansson
7a444cec60 Add filegroup_test.go to sources
I don't think it was running before.

Test: yes
Change-Id: Ia3bf53ddcc1ddefd7a236122256594ba764ee8e5
2023-03-13 15:24:17 +00:00
Treehugger Robot
6235f58040 Merge "Revert "Add protected_properties support in defaults modules"" am: cb301ccdca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2482517

Change-Id: Ib6cb459e7ace2e4d31e9c254ad2b674f98e1214a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-13 06:13:28 +00:00
Treehugger Robot
cb301ccdca Merge "Revert "Add protected_properties support in defaults modules"" 2023-03-13 05:34:58 +00:00
Liz Kammer
eeeb952b27 Revert "Add protected_properties support in defaults modules"
This reverts commit 799962789a.

Test: m nothing
Change-Id: Ia43c2ee216dc42ae5cf3e4d138aa9d0e05a9ee60
2023-03-10 18:53:59 -05:00
Iván Budnik
85b9f6e7b2 Merge "Revert "Export non-apex variants of modules to make"" am: ff8c95b610
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2481059

Change-Id: I9ac9ed805315c80175e038b6f7298a183d6874eb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-10 16:47:30 +00:00
Iván Budnik
ff8c95b610 Merge "Revert "Export non-apex variants of modules to make"" 2023-03-10 16:30:32 +00:00
Iván Budnik
295da16b95 Revert "Export non-apex variants of modules to make"
Revert submission 2462194-androidmk_for_apex_dependencies

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=aosp-master&target=full-eng&lkgb=9723453&lkbb=9724944&fkbb=9723508, bug b/272663333.

Reverted changes: /q/submissionid:2462194-androidmk_for_apex_dependencies

Bug: 272663333
Change-Id: I847fa910a8d54de19954f56fe92a80a9bcd0ee18
2023-03-10 16:11:26 +00:00
Liz Kammer
f92b583027 Merge "Allowlist missing dependency" am: 58f85e328b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2480298

Change-Id: I16aa00f734919507576ffe9940d92b3ecbd1bbbd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-10 14:25:30 +00:00
Liz Kammer
58f85e328b Merge "Allowlist missing dependency" 2023-03-10 13:58:43 +00:00