Commit graph

5003 commits

Author SHA1 Message Date
Jason Wu
d27e28c2a7 Revert "Use proto output instead of jsonproto output for aquery"
This reverts commit 6fe8721e12.

Reason for revert: Broke aosp_kernel-build-tools/linux

Change-Id: I502ec4c275cbc56e1024a42fadf68b308750939d
2022-10-27 05:18:40 +00:00
Jason Wu
b1bd4bf716 Merge "Use proto output instead of jsonproto output for aquery" 2022-10-27 03:06:12 +00:00
Treehugger Robot
b5703b83a3 Merge "Tweak Soong install rules logging" 2022-10-26 22:37:59 +00:00
Jason Wu
6fe8721e12 Use proto output instead of jsonproto output for aquery
Test: use m --bazel-mode-dev and mixed_droid.sh
Bug: 233798334
Change-Id: Ib945359d3d05e6f51afe70432ec380e4e584175b
2022-10-26 17:07:48 -04:00
Chris Parsons
20602fbe4f Remove adbd from bazel prod allowlist
This is to prepare for an imminent launch of bazel prod mode to all
users.

Note that this means a temporary test regression for bazel-built adbd, as
we have CI builds in place to verify adbd prod mode, and now we will
have no e2e coverage of mixed builds with adbd allowlisted. Still, this
test regression should hopefully be shortlived, as we begin launching
bazel-built build chunks as part of feature rollout in the coming weeks.

Test: Treehugger
Change-Id: I3c34ce91ac3454d1f71340a0fa03951f2e69f203
2022-10-26 16:25:31 -04:00
Yu Liu
2ff53da9f8 Merge "Support apex_test." 2022-10-26 16:37:59 +00:00
Sam Delmerico
b9b6c6773e export clang-tidy variables to soong_injection
Change-Id: If6470c35f5ee8f4867177d641640cdc2806de574
2022-10-25 15:55:17 -04:00
Spandan Das
eb6b90747c Skip the noop Soong dep edge for api_domain and contributions
This allows us to skip the current visibility checks of certain
systemapi libraries like libsigchain. Instead of adding
`//build/orchestrator/apis` to the visibility of these libraries and
removing it later when the api_domains are collocated with their
contributions, drop the dependency edge creation for now

The dep edge will continue to exist in the generated Bazel workspace

Test: m nothing
Change-Id: If0d24d0cba85dc96dea3276a1ec0f8fa51adb379
2022-10-25 19:22:07 +00:00
Joe Onorato
934977cbbe Merge "Move bazel from being a shell function to being a script at build/bazel/bin/bazel" 2022-10-25 17:56:58 +00:00
Alessandro Astone
2b17a23da8 Tweak Soong install rules logging
The make counterparts print a colon, so match that

Change-Id: I9482a0e66b03ad41a66df09d29e76b465ece35c5
2022-10-25 11:46:01 +02:00
Treehugger Robot
1227abee34 Merge changes from topic "api_library_missing_deps"
* changes:
  Do not register missing deps
  Skip existence check for stub library files
2022-10-25 03:12:07 +00:00
Yu Liu
4c212ce058 Support apex_test.
Bug: 249744489
Test: Manual and unit test.
Change-Id: I866debf7ffee54a0f4649b5e5425a8e3cc3042a1
2022-10-24 10:35:12 -07:00
Liz Kammer
748209cb6b Disable all filegroups in mixed builds
Rather than individually denylisting filegroups until we prioritize a
solution for mixed builds that will correctly integrate into uses such
as proto, aidl, gensrcs, etc.

Test: mixed_droid
Change-Id: Iddbd391af7dd7cabc892b2b26dbc68e3aa506471
2022-10-24 11:11:58 -04:00
Joe Onorato
ba29f380d3 Move bazel from being a shell function to being a script at build/bazel/bin/bazel
Bug: 254713799
Test: b build //packages/modules/adb/apex:com.android.adbd
Change-Id: I6a0a89438a46d8252c3e0c24319038b0cf2dbd59
2022-10-24 06:38:11 -07:00
Spandan Das
c6c10fa34f Do not register missing deps
This is a fix to aosp/2260763 and skips the existence check corectly.
Previously, it would not throw an exception during Soong analysis, but
would add the path to a `MissingDeps` object. The ninja graph generated
using this would throw an exception during ninja execution.

We should not do this check for `cc_api_library`. The prebuilt
library.so is missing in the build graph of the inner tree (expected),
but it will be present when the orchestrator creates the combined
multi-tree ninja graph.

Test: rm -rf out && multitree_build vendor/vendorimage
(I did not clean out/ in aosp/2260763, and therefore did not catch this
earlier)
Test: go test ./cc

Change-Id: I68d245acae3bfb777bfc8a72fb7cd4909cb0a289
2022-10-22 02:26:30 +00:00
Vinh Tran
a38504fd11 Merge "Disable converted filegroups in mixed build" 2022-10-21 23:00:34 +00:00
Rex Hoffman
8165dd6941 Merge "Enable new_robolectric" 2022-10-21 22:17:27 +00:00
Vinh Tran
ce77a337ee Disable converted filegroups in mixed build
Bug: 254796426
Test: m libplatformprotos --bazel-mode-dev
Change-Id: I03f4f4847f8dafc3291c1cceed2dd62be4c91746
2022-10-21 16:48:37 -04:00
Rex Hoffman
54641d2aec Enable new_robolectric
Allow new robolectric to break soong's exepected machine type restrictions

Test: mma in /external/robolectric
Bug: 244627502

Change-Id: If58a36b2d84804d586d9c8a773e2e739867fa987
2022-10-21 17:53:40 +00:00
Mark Dacek
99db041a14 Merge "Add bazel staging mode to soong build." 2022-10-21 17:38:43 +00:00
Cole Faust
c52527364f Merge "Fix bazel builds with unspecified arch" 2022-10-21 17:34:31 +00:00
Cole Faust
f5eae990bc Fix bazel builds with unspecified arch
//build/bazel/platforms:android_target is an alias to
android_{arch}, so on bulids like "ndk" that don't
specify an arch, it fails.

It's also questionable if we should be setting the
platform to android in a mixed build in the first
place. What if we were mixed-building a host tool?

This reproduces when running
`OUT_DIR=out ./build/soong/scripts/build-ndk-prebuilts.sh`
with aosp/2263623. That script specifies --soong-only,
which is important because even without bazel, `m nothing`
on ndk-userdebug will fail with errors in makefile code.

Bug: 254701254
Test: Described above
Change-Id: I34cae0287830a19c4865fbd398f3c4e1ee1d2d66
2022-10-20 16:49:30 -07:00
Vinh Tran
3cb9ade56b Allowlist framework-javastream-protos and framework-cppstream-protos
Mixed build between gensrcs and filegroup is currently broken (b/242847534 b/247782695). This CL allowlist the gensrcs modules to remove the mixed build instead.

Test: m framework-javastream-protos --bazel-mode-dev
Test: m framework-cppstream-protos --bazel-mode-dev
Bug: 254634154
Change-Id: Icbca336612fbee3a91604770c8903f011bee6edd
2022-10-20 17:17:32 -04:00
Jingwen Chen
6817bbb3c8 Introduce BazelStringOrLabelFromProp.
Soong supports string properties, but they are overloaded, and can mean
one of three things:

* path reference
* module reference
* string literal

Bazel has different types: label and string attributes. Thus there needs
to be a way to categorize them correctly in bp2build.

This CL introduces a new function to be used on properties like
apex_key.private_key / apex_key.public_key, as well as
android_app.certificate / apex.certificate.

It is important to disambiguate the prop betenn a string literal
attribute or file/rule target label attribute, so this functions does
just that.  The new attributes are then further handled by their
respective macros (apex_key, android_binary, apex).

Bug: 253557437
Fixes: 253557437
Test: presubmits, new tests

Change-Id: Id8111cdd60d3aabcae7d17fe9da84d0ee3966023
2022-10-20 14:57:37 +00:00
Cole Faust
135d987d7c Revert ^2 "Prevent unspecified values in soong_config_string_variable""
This reverts commit 38944c70c4.

Reason for revert: I believe we're ready for this now, but run build_test 1-4 on internal master for at least master and tm-dev-plus-aosp on go/abtd before submitting

Change-Id: Id3bcd9a46f3087cf2d34dece5294828ea9436788
2022-10-20 00:34:00 +00:00
Yu Liu
6c999eff9a Denylist libapexinfo and libapexinfo_tests.
Bug: 254476335
Test: None
Change-Id: I7cb62bf5aaba0632d9c7e652cb3b23a5a5e35013
2022-10-19 16:41:10 +00:00
MarkDacek
b78465de1d Add bazel staging mode to soong build.
This is to use bazel to build targets that are being prepared for an
incipient release to the prod mode allowlist.

Bug: 254265047
Test: m nothing
Test: m nothing --bazel-mode-dev
Test: m nothing --bazel-mode-staging
Change-Id: Ic78a59cf51dba83ef1ac26483586560ea9b24aaf
2022-10-19 15:57:18 +00:00
Treehugger Robot
2fe9d75bef Merge "Added module_name to license metadata" 2022-10-14 15:32:25 +00:00
Mark Dacek
4f5a1fe123 Merge "Add recursive deny to allowlists." 2022-10-13 22:55:54 +00:00
Alexander Smundak
c34d91436a Merge "Add CcUnstrippedInfo provider and use it in mixed builds" 2022-10-13 21:04:40 +00:00
Ibrahim Kanouche
49920784db Added module_name to license metadata
Test: m droid dist

Change-Id: Idfe01da3c41adc1354112cc4b44e035feca61a7b
2022-10-13 13:52:56 -07:00
MarkDacek
756b2966b8 Add recursive deny to allowlists.
Also change behavior of the recursive check - the more specific
directory will be chosen now, for competing recursives.

This is part of an effort to enable mixed_libc and mixed_droid on
internal master - many denies are required and this would simplify the
effort.
Test: m nothing

Change-Id: I7de05337644d8e1804078c66669dd0b2d65f3e71
2022-10-13 20:40:27 +00:00
Wei Li
f18404f331 Merge "Fix some issues in bp2build converter for python_binary_host." 2022-10-13 03:35:38 +00:00
Wei Li
7d8f6182f9 Fix some issues in bp2build converter for python_binary_host.
1) Bp2build convert python_binary_host main attribute as LabelAttribute. Currently "main" attribute in python_binary_host is handled as string but for some modules (e.g certify_bootimg) the "main" attribute points to a file in its subpackage like "subpackage/file.py" and should be converted to "//.../subpackage:file.py".

2) Filter out duplicated labels in the merged list of "required" attributes of python_binary_host and its defaults.

Test: b build //system/tools/mkbootimg:certify_bootimg
Test: b build //build/make/tools/releasetools:check_target_files_signatures
Bug: 253081249
Bug: 253101186

Change-Id: Ic2cb4cadec2c1348da70af9f0730da9914d3a8ca
2022-10-12 17:43:20 -07:00
Sasha Smundak
edd16668c6 Add CcUnstrippedInfo provider and use it in mixed builds
The build uses unstripped binary/shared library to extract function
signatures, so for each each target of this kind Bazel should return
its unstripped version, too.

Fixes: 220164721
Test: treehugger

Change-Id: Id5f6143340519bf2ae98791a9e981d1306bb08d1
2022-10-12 17:36:47 -07:00
MarkDacek
0d5bca51b6 Add bazel paths to ninja deps.
Test: m nothing
Test: m nothing --bazel-mode-dev
Change-Id: I120e62ac3f2aa066aedaecf2a5d16c79f7097c76
2022-10-12 16:30:20 +00:00
Jingwen Chen
a71b4ca7a1 Merge "Blanket disallow bp2build_available: true." 2022-10-11 00:36:44 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
49b59385da Merge "Support cc_prebuilt_binary building with Bazel" 2022-10-10 21:37:35 +00:00
Spandan Das
40fb2e202a Merge "Converters for contributions to systemapi and vendorapi" 2022-10-10 21:33:21 +00:00
Jingwen Chen
1735b2e096 Blanket disallow bp2build_available: true.
This can be updated to use an allowlist again if the need arises.

Bug: 251197532
Test: presubmits
Change-Id: If56c45d8587a41b57358f249d20eb9a6ed9191ac
2022-10-10 14:31:53 +00:00
Jingwen Chen
17e0b7607a Merge "bp2build: disallow bp2build_available definition with neverallow." 2022-10-10 13:38:03 +00:00
Spandan Das
4238c65a17 Converters for contributions to systemapi and vendorapi
The module types in scope of this conversion are
1. cc_library and cc_library_shared (non-null llndk or stubs prop)
2. cc_library_headers (all)

For (2), we need some postprocessing on the results of the parser
bp2BuildParseBaseProps. This is necessary because arch and os specific
API exports need to be flattened and added to the generateed API headers
target along NoConfigAxis
e.g.
```
The api equivalent of
cc_library_headers (
  name = "lifoo",
  deps = select({
  	"//build/bazel/platforms/arch:arm": ["arm_deps"],
  	"//build/bazel/platforms/arch:arm64": ["arm64_deps"],
	}),
)
should be
cc_api_library_headers (
  name = "lifoo",
  deps = ["arm_deps", "arm64_deps"],
)
```

For (1), we also need to generate 1:many header api targets so that
arch-specific deps can propagate arch metadata to the top-level
api_domain rule

Test: go test ./bp2build
Test: go test ./cc

Change-Id: Ie40cba1ac8e89f290b3d926c190d5e93abd52859
2022-10-07 23:48:00 +00:00
Yu Liu
f1e6126cb0 Merge "Add libprofile-clang-extras when coverage is enabled." 2022-10-07 17:46:10 +00:00
Jingwen Chen
a4b7eed0bd bp2build: disallow bp2build_available definition with neverallow.
..other than the specified directories.

Test: CI

Bug: 251197532
Fixes: 251197532
Change-Id: Iec6407c915d2554bbfb62aea4591783208c4f633
2022-10-07 09:54:16 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
b12ff59f0b Support cc_prebuilt_binary building with Bazel
Bp2build-enable cc_prebuilt_binary -> cc_prebuilt_binary

Bug: 241415823
Test: cc_prebuilt_binary_conversion_test.go
Change-Id: I007deef8d44f68993012f2114314d1cb52cfbb0e
2022-10-06 19:39:09 +00:00
Paul Duffin
8eb4573b23 Test bootImageConfig/Variant fields
Most of the fields in the bootImageConfig/Variant structs are assigned
inside a Once func so are guaranteed to be only set once. However, some
are assigned outside. This change adds comprehensive tests for those
structs and verifies that the constant fields are preserved and the
mutated fields have the correct value.

The check for the constant fields is added in a new TestBootImageConfig
test.

The check for the mutated fields is added into
TestSnapshotWithBootclasspathFragment_ImageName as that test checks an
art bootclasspath_fragment in the following configurations:
* source on its own
* prebuilt on its own
* source and prebuilt with source preferred
* source and prebuilt with prebuilt

It reveals a couple of interesting facts:
* All the *installs fields are set to the same value irrespective of
  whether the source or prebuilt is preferred. The information is
  constructed solely from information already within the
  bootImageConfig/Variant and so can be moved within Once.

* The licenseMetadataFile is incorrect when prebuilt is preferred.
  That is due to both the source and prebuilt modules setting it and
  the source module always wins as the source module depends on the
  prebuilt so always runs its GenerateAndroidBuildActions after it.

Those issues will be cleaned up in following changes.

Bug: 245956352
Test: m nothing
Change-Id: If917cfbcb3b1c842a8682d51cc1ee1fed1c51add
2022-10-06 11:06:51 +01:00
Paul Duffin
741355826f Add Config,RunningInsideUnitTest
Sometimes it is necessary for some functionality to be disabled while
running in unit tests, e.g. functionality that requires external
information such as error prone tools and configuration. Sometimes it
is necessary for some functionality to be enabled while running in
unit tests, e.g. functionality that makes state available for
testing but which is not necessary at runtime.

Previously, that was done by checking to see if TestProductVariables
was nil. This change adds a method to abstract that.

Bug: 245956352
Test: m nothing
Change-Id: I7845b79328e7180623161a9bf897568089da4e4f
2022-10-06 11:01:59 +01:00
Paul Duffin
de13a3a232 Add CommonOs to Config.Targets
Previously, CommonOs was not added to Config.Targets for the test which
caused AndroidMk to crash when trying to determine if a target needed
the 2ND_ prefix added to some make variables.

Bug: 245956352
Test: m nothing
Change-Id: Ia815537ee5ce8e83df9a01c57250aa888453d138
2022-10-06 10:24:47 +01:00
Yu Liu
f27bb3bf19 Add libprofile-clang-extras when coverage is enabled.
Bug: 233660582
Test: Manually verified the lib and related flags are present when
coverage is enabled.

Change-Id: I7f03fbe56acd31016687751d10c73f2e92b2fa8c
2022-10-05 16:48:08 -07:00
Colin Cross
a497606f1d Merge changes I154a6f3a,I79f0c20a,I605ae9af,I647c7305,I95e96e3e, ...
* changes:
  Move fuzzer's CollectAllSharedDependencies into GenerateAndroidBuildActions
  Support AllowMissingDependencies in prebuilt_apex modules
  Support AllowMissingDependencies for apex dependencies
  Add AllowMissingDependencies support for prebuilt_etc module with no src property
  Make OutputFileForModule work for AllowMissingDependencies
  Fix panics when target arch is riscv64
2022-10-05 21:25:17 +00:00
Spandan Das
e191ae76b6 Merge "Move API providing modules from bp2build to api_bp2build workspace" 2022-10-05 19:40:01 +00:00
Jihoon Kang
0b5f7f153f Merge "Specify jnilib partition in Android-<target>.mk" 2022-10-05 16:19:51 +00:00
Spandan Das
ee08eb3c81 Merge "Create a new mode in soong_ui to generate API only BUILD files" 2022-10-05 01:37:28 +00:00
Colin Cross
14ec66c2fb Make OutputFileForModule work for AllowMissingDependencies
Report missing output files as missing dependencies when
AllowMissingDependencies is enabled.  This will fix
AllowMissingDependencies builds where a dependency module is
present but missing support for a specific architecture.

Bug: 250918230
Test: lunch aosp_riscv64-userdebug && m ALLOW_MISSING_DEPENDENCIES=true nothing
Test: TestOutputFileForModule
Change-Id: I95e96e3e7cb3df7bf678ed628b45baf659addbad
2022-10-04 16:38:14 -07:00
Spandan Das
8b4a5f352e Move API providing modules from bp2build to api_bp2build workspace
The module types in scope are
1. ndk_library
2. ndk_headers, versioned_ndk_headers
3. api_domain

These modules will no longer generate Bazel targets in bp2build
workspace. A new soong mode `api_bp2build` will be used to generate API
specific targets in a separate Bazel workspace at out/soong/api_bp2build

Test: go test ./bp2build

Change-Id: I01d06b6d8b8364c0d56d6d3f07f8f8bf21db31d7
2022-10-04 17:33:32 +00:00
Spandan Das
5af0bd3e48 Create a new mode in soong_ui to generate API only BUILD files
The generated Bazel workspace will only contain api specific targets.
This is feasible since these targets do not have any cross dependencies
with the targets in the bp2build workspace

The advantages of a new mode are
1. Does not pollute bp2build workspace with api targets
2. Does not block api targets with the current allowlist conversion
   mechansims in bp2build
(In the future we might want to combine these two workspaces)

A Soong module type will generate a Bazel target if it implements
ApiProvider interface

Test: m apigen
Test: m nothing

Change-Id: I69c57ca6539f932e0ad554ce84a87fb7936fdba0
2022-10-04 17:32:56 +00:00
Vinh Tran
220fb8b627 Allowlist frameworks/native/libs/gui and frameworks/native/libs/vr
Test: CI
Change-Id: Ibe82874b5d2aefe4d8322e19080496c4223aaeed
2022-10-04 12:05:04 -04:00
Jihoon Kang
f78a890183 Specify jnilib partition in Android-<target>.mk
Context
- Android-<target>.mk currently does not contain information about partition for its dependent unembedded jni libraries, but only lists the name of the unembedded jni libraries.
- If an android_app module depends on an unembedded jni library that is located in a different partition, make cannot find the library.

Implementation
- Create a string field partition in jniLib struct.
- Add variable "LOCAL_SOONG_JNI_LIBS_PARTITION_<target>", an array of mappings of the name of the jni library to its partition.

Bug: 154162945
Test: m
Change-Id: I6b8e1272ff59dc70e3dd6ce8c6c8e4686dad76df
2022-10-04 03:26:05 +00:00
Jason Wu
d201524549 Merge ""verbose log" mixed build bazel cquery commands" 2022-10-03 21:59:38 +00:00
Colin Cross
9531e42407 Merge changes from topic "soong-riscv64"
* changes:
  Add riscv64-linux-android support
  Removed unused GCC references
2022-10-03 19:41:45 +00:00
Jason Wu
52cd19401d "verbose log" mixed build bazel cquery commands
Test: Using m-nothing to verify the Cquery.output

Bug: 244573247

Change-Id: I48bbcf0bf3000b214fba8d63af96b675d17e2428
2022-10-03 19:29:17 +00:00
Colin Cross
f05b0d35d2 Add riscv64-linux-android support
Add barebones riscv64-linux-android support.  This should be enough
to add riscv64-specific entries to Android.bp files, but can't
actually compile anything until there are riscv64 toolchains.

Test: arch_test.go
Change-Id: I0dcc7e797d9352dd38243be908a7f19004ff3db1
2022-10-03 08:43:13 -07:00
Vinh Tran
1b6a461877 Allowlist frameworks/av/media/codec2/components/aom and external/libaom
Test: CI
Change-Id: Id28ebe7fee7a4b6639efff512c32f48dd584e474
2022-10-03 10:41:15 -04:00
Usta (Tsering) Shrestha
d0c8d54f29 Merge "typo in comment" 2022-09-30 19:59:42 +00:00
Vinh Tran
8c7e3d871a Merge "Allowlist com.android.media.swcodec" 2022-09-30 15:56:32 +00:00
Christopher Parsons
6378c05029 Merge "Support main repository prefixing in cquery" 2022-09-29 15:21:22 +00:00
Vinh Tran
2dbc7451bf Allowlist com.android.media.swcodec
Bug: 2238278
Test: CI
Change-Id: I802542429615217fd8405d47839d262579d9db01
2022-09-29 11:08:12 -04:00
Paul Duffin
a3be747e5d Merge "java_sdk_library_import: Copy all prebuilt properties to child modules" 2022-09-29 10:28:41 +00:00
Treehugger Robot
fba6f7797c Merge "Add bp2build converter for bpf" 2022-09-29 03:04:46 +00:00
Zi Wang
b3cb38c3c8 Add bp2build converter for bpf
Bug: 240163393
Test: m bp2build
Test: bp2build/bpf_conversion_test.go
Change-Id: Ie3bbc64511146b099a766d7e8b56e93cef58ef68
2022-09-28 14:18:45 -07:00
Chris Parsons
86dc2c268a Support main repository prefixing in cquery
This makes mixed builds resilient to a recent backward-incompatbile
Bazel feature which explicitly adds the main repository (`@`) prefix to
all labels which are stringified by `str(target.label)` in Starlark.

This implementation is compatible with both current Bazel and
Bazel@HEAD.

After a new Bazel release to AOSP, we can clean up this code a little to
only support Bazel with this feature active (and that we need not hedge
on either Bazel behavior).

Bug: 248106697
Test: `m --bazel-mode nothing` with both current Bazel and a new Bazel
Change-Id: Id53c8505bb9080d5073c844de7f1ee57ceceae46
2022-09-28 19:02:51 +00:00
Treehugger Robot
d15df3269c Merge "Allowlist more deps of minadbd." 2022-09-28 18:20:03 +00:00
Yu Liu
cb7516349c Merge "Enable mediaswcodec." 2022-09-28 15:42:46 +00:00
Paul Duffin
bf4de041de java_sdk_library_import: Copy all prebuilt properties to child modules
Previously, only the prefer property was copied from the
java_sdk_library_import module to its child modules which meant that if
the use_source_config_var property was used to control the prefer
property that the child modules would never be used. That can cause
build breakages when building against prebuilts as some parts of the
build will use prebuilt files from java_sdk_library_import and some
will use source files from the corresponding java_sdk_library.

This change copies the use_source_config_var property too.

It also adds tests to verify that dependencies on child modules of a
java_sdk_library use the prebuilt child modules of the corresponding
java_sdk_library_import. That revealed a bug with the handling of stub
sources where the prefer property was set after creating the module
which has also been fixed.

Bug: 249192297
Test: m nothing
      # Cherry pick into branch broken by previous behavior and make
      # sure that it fixes it.
Change-Id: I5719c257f8457bcb2238bc7965215512a20f1095
2022-09-28 13:58:52 +01:00
Jingwen Chen
a051942118 Allowlist more deps of minadbd.
..except minadbd itself, which depends on 'adbd_system_api_recovery', a
phony module type that doesn't have a bp2build converter.

Test: bp2build.sh
Bug: 243025934
Change-Id: I48db09f8028a04089ed6fa6afac00007c3de4b31
2022-09-28 08:28:48 +00:00
Yu Liu
8c98153fc3 Enable mediaswcodec.
Bug: 233947030
Test: Manual
Change-Id: I4588167fadc609b0cf28a2918e0a24771a295b3b
2022-09-27 12:47:26 -07:00
Usta Shrestha
56b84e7786 typo in comment
Bug: N/A
Test: N/A
Change-Id: Ibfcaf4deba2181d48a6428d05f715fac447d74c6
2022-09-27 14:59:10 -04:00
Sasha Smundak
05b0ba6d1c Convert Soong licenses attribute to Bazel's applicable_licenses attribute
Add it to the `CommonAttributes` struct and handle it in fillCommonBp2BuildModuleAttrs

Bug: 190817312
Test: treehugger
Change-Id: I7b21056e680384d4046372ee844512029721026e
2022-09-27 11:38:11 -07:00
Treehugger Robot
8c45f98c3e Merge "File paths to allow "./" prefix" 2022-09-26 21:02:34 +00:00
Usta Shrestha
d558031e0c File paths to allow "./" prefix
bazel_path conversion would treat "./" as a package boundary
  which would be incorrect

Bug: b/243072036
Test: unit test build_conversion_test.go and `m libc`
Change-Id: I0fc44d2fd7a4270442c8755219a11fd585244c5c
2022-09-26 14:44:15 -04:00
Paul Duffin
bfdca96828 Add sdk:"keep" tag support
Fields tagged with `sdk:"keep"` will keep the value even if it would
normally be cleared because it was common across a number of structs.
This will allow a module type to specify the same value across all
structs populated directly from variants and have it be copied into all
common property structs without clearing it from the variant specific
structs.

Bug: 248258460
Test: m nothing
Change-Id: I147d946b11fd8766a7d875d9206e8f5034f585d6
2022-09-26 18:28:56 +01:00
Paul Duffin
02e25c85eb Rename sdk field tag "keep" to "ignore"
"ignore" is a better description of the effect that this tag has on the
optimization that is done as part of the sdk snapshot generation.
"keep" implies that something special is done with the field during the
optimization process but actually the optimization process completely
ignores the property, just as it does with unexported fields.

Bug: 248258460
Test: m nothing
Change-Id: Idfdfd87f927d641d4d301cbbde72b463c89155bf
2022-09-26 18:23:25 +01:00
Alix Espino
394a12b315 Merge "Implement bp2build for prebuilt_etc_xml" 2022-09-26 17:18:56 +00:00
Vinh Tran
32a98a5d55 Convert genDir to RULEDIR in gensrcs's cmd
Test: CI
Change-Id: I5ecc19dc73559bb518871080737b28a649edc162
2022-09-23 14:18:20 -04:00
Yu Liu
7574afb67f Merge "Allowlist libcode2_hidl@1.0/1.1/1.2" 2022-09-23 16:05:44 +00:00
Jingwen Chen
a5ecb37d64 Remove apexer.required workaround for aapt2.
Add a filter for cyclic references in required module names in bp2build.

Test: CI
Bug: 247985196
Bug: 225291837
Fixes: 234748998
Change-Id: Id1cfd0b2e5f217cdb01218ec3bbe11d5070cc9df
2022-09-23 06:41:35 +00:00
Jingwen Chen
f50817d511 Add zip2zip alias and allowlist unblocked rdeps.
Test: presubmit
Change-Id: Ia4eb3e6af5cf43dc5c1d924cbf7dcf812f4b8703
2022-09-23 02:29:02 +00:00
Jingwen Chen
4a7bf608b2 Add a soong_zip alias to prebuilts and allowlist all blocked rdeps.
This is an improvement over directly referencing the prebuilt because
bp2build can now emit BUILD files that contain a dep to
//build/soong/zip/cmd:soong_zip even though we're not converting the
soong_zip module.

It helps to make progress despite not having go rules support to
convert/build soong_zip. This unblocks many modules, like genrules and
gensrcs that use soong_zip in tools. soong_zip doesn't change often, so
it's not risky to depend on the prebuilt instead of source version.

Bug: 194644518
Bug: 248222296

Test: bp2build CI
Change-Id: Idef0c27ec0fb43a9097d750ec72fba00644c9f2a
2022-09-23 02:28:36 +00:00
Treehugger Robot
eaf5eda15b Merge "Fix package boundary in glob expansion with checked in BUILD files." 2022-09-23 01:25:36 +00:00
Jingwen Chen
0eeaeb8ef7 Fix package boundary in glob expansion with checked in BUILD files.
For directories without an Android.bp file, if they contain a merged
checked in BUILD file, it becomes a package boundary in the symlink
forest. However, the current glob expansion is only aware of Android.bp
files, but not merged BUILD files, so it generates glob expansions
incorrectly for files that cross the package boundary.

This CL fixes that by making the package boundary function aware of the
keepExistingBuildFile allowlist. See the new test cases for example.

Also stop using the same global bp2buildConfig for every test case to
allow each test to define their own bp2build allowlists.

Bug: 185358476
Test: new unit tests

Change-Id: Ifcd1283480a09a642ef4343e5bbc599583524577
2022-09-22 23:22:49 +00:00
Spandan Das
b79d1aee38 Merge changes from topic "api_export"
* changes:
  Allowlist conversion of api providing module types
  Multi-tree API bp2build converter for ndk_library
2022-09-22 20:49:16 +00:00
Alix
5918d649a4 Implement bp2build for prebuilt_etc_xml
Bug: 237039154
Test: xml_conversion_test.go & bp2build
Change-Id: I1f2c57b9532138f73041d8fc08feea3f66b2ebbc
2022-09-22 20:17:19 +00:00
Yu Liu
bf7c03ef66 Allowlist libcode2_hidl@1.0/1.1/1.2
Bug: 232544295
Test: Manual
Change-Id: Iaeae1d348a0756e63e0c16ebd0759528543c057f
2022-09-22 12:12:26 -07:00
Vinh Tran
fd446d6dba Allowlist com.android.neuralnetworks
Bug: 246958825
Bug: 232486397
Test: b build //packages/modules/NeuralNetworks/apex:com.android.neuralnetworks
Change-Id: I0f818911cc99505e95239e0aa782e3ed3b5b1da7
2022-09-22 14:45:42 +00:00
Vinh Tran
f19b658803 bp2build to convert $(genDir) to $(RULEDIR) in genrule's cmd
`statslog.cpp` with cmd `"$(location stats-log-api-gen) --cpp $(genDir)/statslog.cpp"` produces `out/.intermediates/frameworks/proto_logging/stats/stats_log_api_gen/statslog.cpp/gen/statslog.cpp`. Hence, $(genDir) is equivalent to `<package-dir>/<module-name>/gen`.

Currently, bp2buld converts `$(genDir)` to `$(GENDIR)`. In Bazel, `$(GENDIR)` is only the base of the generated code (e.g. `bazel-bin`).

```
genrule(
    name = "statslog.cpp",
    cmd = "$(location :stats-log-api-gen) --cpp $(GENDIR)/statslog.cpp",
    outs = ["statslog.cpp"],
    tools = [":stats-log-api-gen"],
)
```
produces `bazel-bin/statslog.cpp` but expects to have `bazel-bin/frameworks/proto_logging/stats/stats_log_api_gen/statslog.cpp`.

By converting to `$(RULEDIR)` which is `bazel-bin/frameworks/proto_logging/stats/stats_log_api_gen`.

There had not been any genrule module allowlisted with genDir
yet. So this should not cause any issue with modules converted before
this CL.

Bug: 247536535
Test: go tests
Test: presubmit builds and tests
Change-Id: I65c6aafadab6b180b7ef700427e041547ae7e98a
2022-09-22 08:57:14 -04:00
Spandan Das
d58630f5fc Allowlist conversion of api providing module types
The allowlisted modules will be used to gather the contributions to the
publicapi surfce

Test: TH
Change-Id: I49df3a734c7ab21f21020a8cf8ddfaf7b6fa9717
2022-09-21 19:58:18 +00:00
Spandan Das
81593891ee Create api_domain module type and its bp2build converter
This module does not have any build actions in Soong yet. It will be
converted to a Bazel target using bp2build, and API export will be run
on the generated Bazel target

Test: go test ./bp2build
Test: TH
Change-Id: I76df32bd9f23b60e746b2700af07668a2ed74844
2022-09-21 19:49:46 +00:00
Spandan Das
1278c2cb24 Multi-tree API bp2build converter for ndk_library
This is a partial bp2build conversion that only emits the
cc_api_contribution target of ndk_library. We also need to convert this
to cc_stub_suite eventually to enable building vendor/product API
domains with Bazel

Also create an enum for the three known Multi-tree API surfaces (will
likely be expanded in the future)

Test: go test ./bp2build
Test: b cquery //bionic/libc:libc.ndk.contribution --output=starlark
--starlark:expr="providers(target)"

Change-Id: Idb24871ba20aae132b61eb31ef35c917cacae9e1
2022-09-21 19:49:46 +00:00
Alix Espino
62b75f4e4a Merge "Revert^2 "deletion of clang_cflags & clang_asflags from Soong"" 2022-09-21 19:28:11 +00:00
Treehugger Robot
4669ea4d19 Merge "Allowlist deps of minadbd." 2022-09-21 15:28:38 +00:00
Vinh Tran
70e079c6ad Merge "Reallowlist libneuralnetwork's deps in bp2build" 2022-09-21 15:24:14 +00:00
Jingwen Chen
adc07fa995 Allowlist deps of minadbd.
Remaining blockers are:

* android.hardware.health@1.0_interface: blocking 15 modules
* android.hardware.health@2.0_interface: blocking 12 modules
* android.hardware.health_interface: blocking 8 modules
* android.hardware.health@2.1_interface: blocking 8 modules
* android.hardware.health@1.0: blocking 8 modules
* android.hardware.health@2.0: blocking 7 modules
* android.hardware.health@2.1: blocking 5 modules
* android.hardware.health-translate-ndk: blocking 4 modules
* libhealthshim: blocking 3 modules
* libhealthhalutils: blocking 3 modules
* librecovery_utils: blocking 2 modules
* libminadbd_services: blocking 1 modules

Test: bp2build.sh
Bug: 243025934
Change-Id: Ic39666ee2d9f573726d6ed7ef9c45ac4975baa3a
2022-09-21 13:13:48 +00:00
Paul Duffin
4930389405 Merge "Exclude unsupported libraries from sdk snapshot" 2022-09-21 12:43:47 +00:00
Vinh Tran
583a07d159 Reallowlist libneuralnetwork's deps in bp2build
Reverting a revert aosp/2221842 and disabling converted filegroups that are srcs of unconverted gensrcs because of b/247782695.

Bug: 232486397
Test: CI
Change-Id: Ifc5ee7ed6f96ef8081a779e374ad7ac5ecbb947a
2022-09-20 21:31:49 +00:00
Treehugger Robot
e53c7ea256 Merge "Revert "Allowlist libneuralnetworks's dependencies"" 2022-09-19 23:24:11 +00:00
Vinh Tran
414946c466 Revert "Allowlist libneuralnetworks's dependencies"
Revert submission 2216878-libneuralnetworks

Reason for revert: failing mixed_droid.sh
Reverted Changes:
I77c8d4736:Allowlist libneuralnetworks's dependencies
I5f98038ec:Remove conversion of backend.rust to Bazel

Change-Id: Ib7147b4afdbdd69d635eb1bb8ed2e725396fdae7
2022-09-19 20:20:52 +00:00
Liz Kammer
bda5850a71 Merge changes from topic "libbuildversion-directly"
* changes:
  Allowlist aapt2 deps.
  Add libbuildversion in converion instead of macro
2022-09-19 18:33:49 +00:00
Vinh Tran
59c33ac85a Merge "Allowlist libneuralnetworks's dependencies" 2022-09-19 17:59:21 +00:00
Liz Kammer
09d831ec86 Allowlist aapt2 deps.
Test: bp2build.sh
Change-Id: Ie54a4f3b9e362ce1c5b6ee884318d970b0b10f1c
2022-09-19 11:57:12 -04:00
Vinh Tran
c3fd556fd7 Allowlist libneuralnetworks's dependencies
Except for statslog_neuralnetworks.cpp and statslog_neuralnetworks.h which are blocked by b/247536535.

Bug: 232486397
Test: CI
Change-Id: I77c8d47364fe33d0869d23f1c1c9eacd73ef7cc6
2022-09-19 11:21:39 -04:00
Jingwen Chen
a37ef6833b Merge "bp2build: Convert cc_test.test_options.tags to cc_test.tags" 2022-09-19 08:28:33 +00:00
Sasha Smundak
31327e9a2d Convert packages/apps/SafetyRegulatoryInfo
Bug: 241593926
Test: treehugger,  m --bazel-mode-dev com.android.adbd
Change-Id: I4517bc7814e54d6697b6ff7b0cd9c8b7085d71d9
2022-09-18 17:10:54 -07:00
Alexander Smundak
efc64e3a03 Merge changes from topic "notice"
* changes:
  Implement bp2build for the `package` module
  Implement bp2build for the `license_kind` module
  Implement bp2build for the `license` module
  Handle nameless modules during bp2build conversion.
2022-09-16 23:22:07 +00:00
Colin Cross
7a2b1a1c56 Merge "Make all Nameless modules have unique names" 2022-09-16 21:23:36 +00:00
Yu Liu
b8af17bdd6 Merge "Fix a bug where deps were missing for converted proto_library" 2022-09-16 16:26:21 +00:00
Treehugger Robot
2eade656df Merge "Remove obsolete com.android.bluetooth apex" 2022-09-16 05:28:06 +00:00
Yu Liu
2a85fb195d Fix a bug where deps were missing for converted proto_library
This is just a partial fix.

Bug: 246997908
Test: Manual build //frameworks/proto_logging/stats:libstats_proto_host_proto
Change-Id: I9e4e62bce22cb68bcd7f917c57f3d1438fcec716
2022-09-15 22:18:48 -07:00
Jingwen Chen
fbff97a84d bp2build: Convert cc_test.test_options.tags to cc_test.tags
zeek@ has been tagging unit tests that cannot run on RBE with
"no-remote". While we don't yet have RBE support with standalone `b
test` yet, we can make sure to propagate the tags now.

Bug: 236973602

Test: new unit test
Change-Id: I6d0648f184626bb01c657068804f99ffb82907a3
2022-09-16 02:32:03 +00:00
Yu Liu
609c3e074f Merge "Support proto modules with external references." 2022-09-15 16:00:32 +00:00
Treehugger Robot
f0e1a25217 Merge "Integrate gen_notice with Make for dist." 2022-09-15 14:50:12 +00:00
Yu Liu
274c5875e5 Merge "Improve error message when a module is double enabled." 2022-09-15 04:53:08 +00:00
Treehugger Robot
534b797cd7 Merge "Allowlist //frameworks/av/media/module/minijail/..." 2022-09-15 00:31:09 +00:00
Yu Liu
10853f90ef Improve error message when a module is double enabled.
Bug: None
Test: Manual
Change-Id: Ie96dd76d628e8ac3f0da06b949e9bfb9a3259dce
2022-09-14 16:15:43 -07:00
Bob Badour
4660a9824c Integrate gen_notice with Make for dist.
Most exempt module types have no output. Support exempt module types
with output by requiring they must be 0p and have no license metadata.

Disallow `licenses: []` property on gen_notice.

Test: m cts dist

Change-Id: Ic992bd6420fa6898495866eac43495002ef4b6c8
Merged-in: Ic992bd6420fa6898495866eac43495002ef4b6c8
2022-09-14 14:21:44 -07:00
William Escande
f03a3b00fe Remove obsolete com.android.bluetooth apex
Also remove the soong hack that allowed us to build during the
transition

Bug: 243054261
Test: build + TH
Merged-In: I60bac1ec687f03a38f38240969a1c38a8e5bf92c
Change-Id: I60bac1ec687f03a38f38240969a1c38a8e5bf92c
2022-09-14 21:09:50 +00:00
Sasha Smundak
8bea267caf Implement bp2build for the package module
* We are interested mostly in the conversion the `default_applicable_licenses`
  attribute, as `default_visibility` cannot be handled until every module's
  `visibility` is handled.
* Several referenced license modules had to be manually enabled for
  conversion, and likewise a few trivial Android.bp containing only
  package and license modules.
* As Bazel allows only a single `package` rule, the package rules in a
  manually converted BUILD.bazel files were removed (in
  external/protobuf and prebuilts/clang/host/linux-x86 trees).
* The converted package rule is emitted before the `load` statements per
  Bazel documentation.

Bug: 190817312
Test: treehugger
Change-Id: If8bf6fee1580177de3bb402923615bcd48923ed2
2022-09-14 13:49:27 -07:00
Sasha Smundak
a93c62b375 Implement bp2build for the license_kind module
Bug: 190817312
Test: treehugger
Change-Id: Id5bc9c1b7c5386d26ce0ebc33f63bc2665de7d54
2022-09-14 13:49:27 -07:00
Sasha Smundak
9d2f1743d2 Implement bp2build for the license module
Also, add ExpectedRuleTarget type to simplify bp2build testing

Bug: 190817312
Test: treehugger
Change-Id: Id3a642680d3518d36360ba957919a6fc96222672
2022-09-14 13:49:18 -07:00
Yu Liu
2aa806b52d Support proto modules with external references.
Bug: 236055697
Test: Manual testing and adding new unit tests.
Change-Id: I984c0ecb93f0023727a39a3af3921820337bf8c7
2022-09-14 13:02:53 -07:00
Alix Espino
ef47e54bec Revert^2 "deletion of clang_cflags & clang_asflags from Soong"
e9a6865bc7

Change-Id: I20be0561628ee9da5c1431975f364459b6184330
2022-09-14 19:10:51 +00:00
Vinh Tran
056ebde9b5 Merge "Allowlist libSurfaceFlingerProp which depends on cc_sysprop_library_static" 2022-09-14 17:45:13 +00:00
Treehugger Robot
a8b8c67b0a Merge "Allowlist NeuralNetworks' BlobCache_test and nnCache_test." 2022-09-14 17:24:32 +00:00
Sasha Smundak
fb58949414 Handle nameless modules during bp2build conversion.
So far it is `package` module.

Test: treehugger
Change-Id: Ibf3af0b0bf0a532e2ea1d478275a5ac3784ef170
2022-09-14 09:32:17 -07:00
Paul Duffin
1938dba8b6 Exclude unsupported libraries from sdk snapshot
When an sdk snapshot is targeted at release X then it cannot include
bootclasspath fragment libraries which are not present in that build as
otherwise it causes build failures. It should also not include any
unsupported libraries, i.e. libraries that cannot work on that release.

This change causes sdk snapshot to exclude libraries that have a
    min_sdk_version > target build release

It also ensures that hidden API flags do not include any information
from excluded libraries.

Bug: 240406019
Test: BUILD_NUMBER=fixed packages/modules/common/build/mainline_modules_sdks.sh
      # Ran the previous command with and without this change to make
      # sure that this change excludes framework-connectivity-t library from the
      # tethering sdk snapshot for S, including from the hidden API flag files.
Change-Id: I57969b85a12e9e5a3fc76c055b260cec5d5f7d7f
2022-09-14 16:47:18 +01:00
Jingwen Chen
8ebc6204f4 Allowlist //frameworks/av/media/module/minijail/...
This builds libavservices_minijail and libavservices_minijail_unittest.

Bug: 239041723

Test: $ T="libavservices_minijail_unittest"; P="frameworks/avmedia/module/minijail"; b build //$P:$T --config=android; adb push bazel-bin/$P/. /data/tmp/$P/ && adb shell /data/tmp/$P/$T
Change-Id: Ief23a4aaf2e384503588074d411c5ef0b7e02c69
2022-09-14 11:48:21 +00:00
Jingwen Chen
6bffe55fcf Allowlist NeuralNetworks' BlobCache_test and nnCache_test.
Bug: 239041723

Test: b/239041723#comment10
Test: bp2build.sh
Change-Id: Ide4ec90a71ea169fc4126db83736d88fcc79e446
2022-09-14 11:34:34 +00:00
Vinh Tran
3853423e06 Allowlist neuralnetworks_utils_hal_aidl
hardware/interfaces/neuralnetworks/aidl/utils/include/nnapi/hal/aidl/Utils.h in neuralnetworks_utils_hal_aidl uses `IDevice::version` which requires the setting of `--version` flag in aild tool, which is added in aosp/2216684

Fix: 246645564
Test: b build //hardware/interfaces/neuralnetworks/aidl/utils:neuralnetworks_utils_hal_aidl
Change-Id: Ia246c4c47c8b4d52f3b37cccd4640ad862ab258c
2022-09-14 00:52:10 +00:00
Vinh Tran
c169c5446f Allowlist libSurfaceFlingerProp which depends on cc_sysprop_library_static
Test: CI
Change-Id: I8674dbe23b7d433841085dd9c813f5abec5f5ba0
2022-09-13 13:15:22 -04:00
Vinh Tran
99fd650fdb Allowlist unblocked cc modules
Bugs: 232480794 232541556
Test: CI
Change-Id: Idb0e9248c0ffc6ac51579c09eccaf08817927e48
2022-09-13 13:15:12 -04:00
Romain Jobredeaux
a2595a93fe Merge "Allowlist Kotlin-related libraries." 2022-09-13 13:28:39 +00:00
Treehugger Robot
eb30142616 Merge "Revert "deletion of clang_cflags & clang_asflags from Soong"" 2022-09-12 21:06:12 +00:00
Alix Espino
e9a6865bc7 Revert "deletion of clang_cflags & clang_asflags from Soong"
Revert submission 2154033-delete clang_cflags clang_asflags

Reason for revert: Broke build on git_tm-dev-plus-aosp and downstream branches

Reverted Changes:
I5c499a37e:Default BuildBrokenClangCFlags &  BuildBrokenClang...
Ic1d90b72d:deletion of clang_cflags & clang_asflags from Soon...

Change-Id: Ic55dd85a824cf1a543249e0b00072b8c08a475b8
2022-09-12 18:51:23 +00:00
Alix Espino
68eeffbc40 Merge "deletion of clang_cflags & clang_asflags from Soong" 2022-09-12 15:11:20 +00:00
Alix Espino
c0cca3f4e1 Merge changes I82d3a384,I3b03f0a3
* changes:
  product_variables srcs in prebuilt_etc
  refactoring build_conversion.go to remove panic
2022-09-12 13:31:46 +00:00
Jingwen Chen
3c0c2db93a Merge "Allowlist more modules under the adb package." 2022-09-12 04:52:20 +00:00
Sam Delmerico
df96fdd5b6 Merge "Revert "Revert "add bazel AIDL examples to bp2build""" 2022-09-09 21:38:33 +00:00
Alix
1879c68261 deletion of clang_cflags & clang_asflags from Soong
Clang_cflags and clang_asflags are depecrated.
Set up BUILD_BROKEN flags so partners can bypass errors
from using them

Bug: 226636335
Test: m nothing & treehugger
Change-Id: Ic1d90b72decc4c6c1f7e6dda95a2c56ab2c26d86
2022-09-09 21:03:34 +00:00
Alix
bbfd538326 product_variables srcs in prebuilt_etc
bp2build conversion handles product_variable srcs

bug: 228353067
Test: prebuilt_etc_conversion_test.go
Change-Id: I82d3a384ee14d4e981d502dd9eb824c87d5ae2c7
2022-09-09 20:52:09 +00:00
Treehugger Robot
5aa5dc4121 Merge "Fix gen_notice init to support arch and dist." 2022-09-09 19:34:06 +00:00
Steven Moreland
7ae3a3c170 Merge "FailIfNoMatchingErrors specify using regex" 2022-09-09 17:27:23 +00:00
Vinh Tran
095a1af1a1 Merge "Convert av-types-aidl aidl_interface to Bazel" 2022-09-09 14:45:22 +00:00
Jingwen Chen
2247acae0c Allowlist more modules under the adb package.
These are all buildable.

Bug: 239041723
Bug: 243025934

Test: presubmits
Change-Id: Id3de8d9b7f2f83fca78f26708dabb4b93372fc16
2022-09-09 12:17:53 +00:00
Jingwen Chen
d4a0b1f63c Allowlist adbd_test.
Builds and passes on cuttlefish.

Test: $ lunch aosp_x86_64 && b build //packages/modules/adb:adbd_test --config=android && adb push bazel-bin/packages/modules/adb/adbd_test /data/tmp/adbd_test && adb shell /data/tmp/adbd_test

Bug: 239041723
Bug: 243025934
Change-Id: Ic73378c770b654fad5fcf99a672977eda8fe2e06
2022-09-09 10:32:43 +00:00
Romain Jobredeaux
0dfe8d3f7e Allowlist Kotlin-related libraries.
Change-Id: Iaeea811d9ae71b6e57ca79246e0a1691d65ff6f2
Bug: 186462641
Test: Newly allowlisted libs fall under CI
2022-09-08 16:21:42 -04:00
Usta (Tsering) Shrestha
a4f73d937e Merge "Use list comprehensions in Starlark" 2022-09-08 20:14:49 +00:00
Bob Badour
e38387314a Fix gen_notice init to support arch and dist.
Incorrect init function was called so Stem property was not handled
correctly and the dist properties were treated as unknown.

Test: m droid dist
Change-Id: I5eb8771afb4fda332df08cf1560df5c17d1316cc
2022-09-08 12:07:10 -07:00
Yu Liu
dd6321213e Merge "Support proto.include_dirs" 2022-09-08 18:34:34 +00:00
Usta Shrestha
79fccefc59 Use list comprehensions in Starlark
also using a generic json_encode as an approximation for `json.encode`

Test: USE_BAZEL_ANALYSIS=1 m libc
Bug: b/242587802
Change-Id: Ib83aeda3f99cc3966548b0cd47e72669422ed72d
2022-09-08 17:12:42 +00:00
Chris Parsons
543c8c4319 Add adbd to mixed build prod allowlist
Bug: 231322898
Test: m --bazel-mode droid
Change-Id: I7a91f4f04d5e1f6432c63e4a78f81d5b30ed3cc5
2022-09-08 11:40:24 -04:00
Yu Liu
2d13614b89 Support proto.include_dirs
For each package in the include_dirs property a proto_library target
should be added to the BUILD file in that package and a mapping
should be added to the bp2build code, by this way a proper dependency
relationship can be established and used by bazel.

Bug: 239944064
Test: Added unit tests and manually verified include_dirs can be
properly converted to bazel and used by bazel to build the targets.

Change-Id: I50d8ee21fabcfec0a44487f6e5f3d8a3845e79c3
2022-09-07 16:48:17 -07:00
Christopher Parsons
1f039780e0 Merge "Remove USE_BAZEL_ANALYSIS" 2022-09-07 21:54:47 +00:00
Chris Parsons
1bb58da17c Remove USE_BAZEL_ANALYSIS
Use --bazel-mode-dev instead.

Test: Treehugger
Bug: 244309479
Change-Id: I570d02651eea92375cd96efbeb8d986a9495e1ed
2022-09-07 14:58:03 -04:00
Romain Jobredeaux
3d516cdb07 Keep allowlist alphabetized
Change-Id: I6ba977e4a705a3ba516fd23dcf5ceaf354d7e892
2022-09-07 14:28:31 +00:00
Vinh Tran
b01eb60c09 Convert av-types-aidl aidl_interface to Bazel
Change-Id: I1dfb0a58a8a9f9f4a1baeba73ccbb17d30ebd947
Test: b build //frameworks/av:av-types-aidl-cpp
Bug: 235113507
2022-09-06 23:04:23 +00:00
Trevor Radcliffe
a355be226f Merge "cc bp2build for sysprop_library modules" 2022-09-06 19:27:22 +00:00
Treehugger Robot
bf5fa97bb6 Merge "Remove gen-kotlin-build-file.py from Bp2buildModuleDoNotConvertList" 2022-09-06 18:54:30 +00:00
Cole Faust
c843b99b71 Support arch features in bp2build
Bug: 189972518
Test: New soong test
Change-Id: I05d77c8f63ffe6697d8e0300226864658055e116
2022-09-02 15:20:54 -07:00
Trevor Radcliffe
ad3d123fb6 cc bp2build for sysprop_library modules
This CL implements bp2build functionality for the cc outputs of
sysprop_library modules. cc_* modules depending on sysprop sources
will be handled in a later CL.

Bug: 244439349
Test: b build //system/libsysprop/srcs/...
Test: Inspect BUILD.bazel
Test: Unit tests
Change-Id: I6fa20661b984223347480c9afe0885b5db5a2807
2022-09-02 18:27:39 +00:00
Cole Faust
e89f91df44 Remove gen-kotlin-build-file.py from Bp2buildModuleDoNotConvertList
Its issue was fixed in aosp/2202605

Bug: 198619163
Test: Presubmits
Change-Id: Ic3878ea1280f8f1ebab1b4c2423e07d795886c94
2022-09-02 10:26:50 -07:00
Treehugger Robot
f20433b15f Merge "Handle product config specific header_libs prop in cc bp2build" 2022-09-02 13:02:04 +00:00
Zi Wang
0a8a129ee8 Handle product config specific header_libs prop in cc bp2build
Product variable header_libs is able to be converted.
Since static_libs and header_libs both use implementationDeps,
also added logic to make sure they both contribute to bazel
target.

Bug: 228314770
Test: m bp2build
Test: TestCcLibraryProductVariablesHeaderLibs in cc_library_conversion_test
Change-Id: I370fc75b666b3908b6ac5ed42bca5560f957fc42
2022-09-01 14:32:51 -07:00
Treehugger Robot
6faa161557 Merge "bp2build: allowlist //system/logging/... and deps." 2022-09-01 18:29:21 +00:00
Treehugger Robot
1f03a9f953 Merge "Convert cc_test targets with bp2build." 2022-09-01 17:00:45 +00:00
Treehugger Robot
75c724cc8b Merge "Revert "DoNotConvert tzdata nor tz_version"" 2022-09-01 16:41:20 +00:00
Jingwen Chen
f061600d64 bp2build: allowlist //system/logging/... and deps.
```
$ b test --config=linux_x86_64 //system/logging/... --test_output=errors
//system/logging/logd:logd-unit-tests                           (cached) PASSED in 1.3s
```

Also builds:

- logcat
- liblogd
- auditctl
- logd
- liblogwrap
- logwrapper
- and various device tests

Test: b build //system/...
Test: b test //system/... --config=linux_x86_64
Test: bp2build.sh
Bug: 243025934
Change-Id: Id94460c1148b76af05e4ff1f4de9aa32f2626085
2022-09-01 15:00:15 +00:00
Jingwen Chen
537242c6f1 Convert cc_test targets with bp2build.
Starting with libutils_test, adb_test, libcutils_test, (and ~47 other host_supported tests).

Test: $ b build --config=android_x86_64 //system/core/libutils:libutils_test && adb push bazel-bin/system/core/libutils/. /data/tmp/libutils_test_files/ && adb shell /data/tmp/libutils_test_files/libutils_test
Test: presubmits with newly converted cc_test targets
Test: $ b test //system/... --config=linux_x86_64 --verbose_failures --test_output=errors --keep_going --build_tests_only

Fixes: 242038415

Change-Id: I10051aadb880c3aabeba6d7fb079523e6fb4ac43
2022-09-01 14:59:15 +00:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
1867ae73d1 Revert "DoNotConvert tzdata nor tz_version"
This reverts commit bff2e88a85.

Reason for revert:
The reason for excluding them has been resolved; the files no longer conflict with the target names.

Test: mixed_libc.sh shows conversion of tzdata & tz_version

Change-Id: Ibcecfb2a65bb51a89dbc358ebd248209f3eb45b8
2022-09-01 14:42:10 +00:00
Treehugger Robot
bf9c26c364 Merge changes I1270e8d0,I61731a5e
* changes:
  Move function PathForVndkRefAbiDump to Prevent unnecessary exports in paths.go
  Change the type of parameter prevVersion to int in sourceAbiDump
2022-09-01 06:37:20 +00:00
Cole Faust
ea602c5a41 Remove old BUILD file merging code
It's not needed anymore since aosp/2197837,
it should've been removed in that cl but I forgot.

Bug: 234167862
Test: ./build/bazel/ci/bp2build.sh
Change-Id: I3d67a6e1894ad401525070ad37d3158708898306
2022-08-31 15:12:47 -07:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
a56e97042c Support suffix property in bp2build
Support this in cc_{binary,library{,_shared}}

Bug: 204811222
Test: Suffix additions to cc_{binary,library{,_shared}}_conversion_test.go
Test: mixed_{libc,droid}.sh also builds newly allowlisted
Change-Id: I596694794b01b04c542cbcd7d54baeb7d914ba50
2022-08-31 18:06:21 +00:00
Sam Delmerico
8dfa46a9c2 Revert "Revert "add bazel AIDL examples to bp2build""
This reverts commit 8f3f1597e4.

Reason for revert: moved examples to system/tools/aidl/build/bp2build

Change-Id: I2329596bd7ae9d7a64b0984902aaea85783c4656
2022-08-31 13:28:55 +00:00
Mu-Le Lee
f5ed30b2aa Move function PathForVndkRefAbiDump to Prevent unnecessary exports in paths.go
This CL moves function PathForVndkRefAbiDump from android/paths.go to
cc/library.go to prevent unnecessary exports.

Test: make libz
Bug: 239915696
Change-Id: I1270e8d07edb09d93621c049acab9196757d356b
2022-08-31 06:04:27 +00:00
Treehugger Robot
d221359e6d Merge "Allowlist aidl interfaces with ndk backend enabled" 2022-08-31 01:28:45 +00:00
Cole Faust
324a92e404 Always merge build files
Previous behavior:

- Packge not listed in bp2buildKeepExistingBuildFile:
    - Use bp2build generated build file
- Package listed in bp2buildKeepExistingBuildFile:
    - Use handcrafted build file even if there were allowlisted bp2build
      modules in the same package.
- Package listed in bp2buildKeepExistingBuildFile and a soong module has
  a bp2build: { label } attribute:
    - Merge the handcrafted and bp2build generated build files

New behavior:

- Packge not listed in bp2buildKeepExistingBuildFile:
    - Use bp2build generated build file
- Package listed in bp2buildKeepExistingBuildFile:
    - Merge with bp2build generated build file.

Bug: 234167862
Test: ./build/bazel/ci/bp2build.sh
Change-Id: Ifbaf4f8f0f5158b5b2bd6d534eb2311e2e5f399b
2022-08-30 16:07:23 -07:00
Vinh Tran
c3873e84ec Allowlist aidl interfaces with ndk backend enabled
The dependency chain for these aidl interfaces with ndk binding is explicit as followed

```
android.hardware.common
android.hardware.graphics.common -> [android.hardware.common]
android.hardware.neuralnetworks -> [android.hardware.common, android.hardware.graphics.common]
```

Test: b build //hardware/interfaces/neuralnetworks/aidl:android.hardware.neuralnetworks-V1-ndk
Test: b build //hardware/interfaces/graphics/common/aidl:android.hardware.graphics.common-V2-ndk
Test: b build //hardware/interfaces/common/aidl:android.hardware.common-V2-ndk
Bug: 235113507
Change-Id: I05a3b6b7e9f592c422ac257f5769ada350953516
2022-08-30 17:11:38 -04:00
Alix Espino
f9f9ed7cf1 Merge "Deprecating clang Property" 2022-08-30 17:42:10 +00:00
Treehugger Robot
ff29846073 Merge "Revert "add bazel AIDL examples to bp2build"" 2022-08-30 17:19:13 +00:00
Treehugger Robot
bf24d20f1e Merge "Allowlist unblocked modules" 2022-08-30 15:55:43 +00:00
Christopher Parsons
3d31a12867 Merge "Add --bazel-mode and --bazel-mode-dev" 2022-08-30 14:29:30 +00:00
Guang Zhu
8f3f1597e4 Revert "add bazel AIDL examples to bp2build"
This reverts commit 02626f9365.

Reason for revert: revert together with aosp/2133802

Change-Id: I795c15d8cd69764dca8e69b285eb8c3e00935b44
2022-08-30 08:37:37 +00:00
Steven Moreland
082e20655e FailIfNoMatchingErrors specify using regex
This was used nested in some code in the AIDL tests, but I didn't
realize that they were regexes, and well, I was trying to figure out
how identical strings were not identical.

Change-Id: Icf3114c84b804fb8f280251d0b11b06b623dfa90
2022-08-30 01:11:13 +00:00
Treehugger Robot
fb9ca5c7e2 Merge "Allowlist speex and audio_utils" 2022-08-29 19:20:31 +00:00
Treehugger Robot
94bc338bf3 Merge "Allowlist libyuv" 2022-08-29 19:15:53 +00:00
Chris Parsons
ef615e5841 Add --bazel-mode and --bazel-mode-dev
This allows "bazel mixed builds prod mode", in additional to reworking
the mechanism in which mixed builds dev mode is enabled.

As a followup, CI scripts will be migrated to use the new flags, as
USE_BAZEL_ANALYSIS=1 is deprecated.

Test: Manually ran --bazel-mode with an allowlist verifying that the
module alone was enabled
Test: Manually verified --bazel-mode and --bazel-mode-dev cause a build
failure

Change-Id: If0d34360e60452f428b05828f4ec7596b7cb619a
2022-08-29 10:56:04 -04:00
Liz Kammer
1c92116e78 Allowlist unblocked modules
Test: b build //...
Change-Id: I2050f413b42e194555863759e230356c723dd07e
2022-08-29 09:55:21 -04:00
Cole Faust
fe2ab36371 Allowlist speex and audio_utils
They're dependencies of media.swcodec

Bug: 237041122
Test: ./build/bazel/ci/bp2build.sh
Change-Id: I93cb8b0be707d62edf15f0326d901d0251ccb232
2022-08-27 20:44:40 -07:00
Cole Faust
92e92e49ca Allowlist libyuv
It's a dependency of media.swcodec

Bug: 237041122
Test: ./build/bazel/ci/bp2build.sh
Change-Id: I17e512af7c0d7d9ded7311ad61cd339b380fbef0
2022-08-26 16:12:42 -07:00
Vinh Tran
9f6796ab17 Convert cc library with AIDL to cc_aidl_library
Change-Id: I1056b37cf09f4341bf2c2545c9069dbe49ea5ab3
Test: USE_BAZEL_ANALYSIS=1 m libbinder
Bug: 243010121
Fix: 243015050
2022-08-26 16:21:53 -04:00
Sam Delmerico
939653e34e Merge "add bazel AIDL examples to bp2build" 2022-08-26 20:07:58 +00:00
Sam Delmerico
3be24727ce Merge changes from topic "aidl_interface_bp2build"
* changes:
  add bp2build unit tests for aidl_interface
  AIDL source generation accounts for Bazel paths
  convert .aidl srcs for java_library
  add Partition method to LabelListAttribute
2022-08-26 20:07:58 +00:00