Commit Graph

5529 Commits

Author SHA1 Message Date
Sam Delmerico
512437b0b4 add parent static deps to cc_aidl_library targets
The static deps of the parent library can be necessary to build a
bp2build-generated cc_aidl_library target. We should add these deps as
implementation_deps so that they are accessible.

Bug: 250876486
Test: b build //frameworks/native/libs/gui/...
Change-Id: Ibe7c3598a684907473e2a4e040fb3976455a59e9
2023-03-21 16:49:06 -04:00
Spandan Das
dd7057c715 Create EffectiveVersion* functions for ApiLevel
This relands aosp/2457062. The original CL was submitted as part of a
stack that broke tm and udc. Those branches still contain soong modules
with min_sdk_version of type (kind+level).

Bug: 208456999
Test: m nothing on tm and udc (via go/abtd)
Change-Id: I10e8bea59cd5914d36b2c9539ee1556e55b82e53
2023-03-21 17:37:57 +00:00
Spandan Das
15da5887fe Create two sentinel api levels
This relands aosp/2470068. The original CL was submitted as part of a
stack that broke tm and udc. Those branches still contain soong modules
with min_sdk_version of type (kind+level).

Test: m nothing on tm and udc (via go/abtd)
Bug: 208456999

Change-Id: I8e013ec10530372f70f0ab0505b7eebeee2b360b
2023-03-21 17:37:49 +00:00
Spandan Das
ef5b7e4e36 Merge "Cleanup hardcoded references to android_*stubs_current" 2023-03-21 17:22:42 +00:00
Treehugger Robot
c164b460d0 Merge "Replace json_encode with json.encode" 2023-03-21 17:21:18 +00:00
Liz Kammer
75b36c165f Disable riscv in all Bazel mixed builds
Bug: 262192655
Test: CI
Change-Id: Ie46eb661f968396f40458d674897b554be8d47c3
2023-03-21 09:28:14 -04:00
Spandan Das
cd05792d06 Merge changes from topic "revert-2457063-EKFSKANQWZ"
* changes:
  Revert "Create two sentinel api levels"
  Revert "Create EffectiveVersion* functions for ApiLevel"
  Revert "Prework for migrating min_sdk_version from (kind+level) ..."
  Revert "Always include host variants in the sdk snapshot"
  Revert "Update min_sdk_version from SdkSpec to ApiLevel"
2023-03-21 01:56:16 +00:00
Spandan Das
ac96191f22 Revert "Create two sentinel api levels"
Revert submission 2457063

Reason for revert: Broken udc-dev

Reverted changes: /q/submissionid:2457063

Change-Id: Ide8e1b23d5a575c57be44ebd801846dc5caf2e83
2023-03-21 01:36:46 +00:00
Spandan Das
51dc6859ac Revert "Create EffectiveVersion* functions for ApiLevel"
Revert submission 2457063

Reason for revert: Broken udc-dev

Reverted changes: /q/submissionid:2457063

Change-Id: Ib0f6930ff292d25fee2640901b158ac4bb7b879b
2023-03-21 01:36:46 +00:00
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