Commit graph

58577 commits

Author SHA1 Message Date
Paul Duffin
9f6ac0bb42 Remove profilePathOnHost from bootImageConfig
The use of this field to return information from bootImageProfileRule
up the call stack to one of the users resulted in data races being
detected. This change simply returns the profile path back up the call
stack.

Bug: 245956352
Test: m nothing
      go test -race ./sdk/... -run TestSnapshotWithBootclasspathFragment_ImageName -test.count 100
      # Run the previous command without this change and sometimes it
      # shows the data race around profilePathOnHost. With this change
      # that data race is not reported. Although there is still another
      # data race.
Change-Id: I03b09e514cc94f2a6c9d5117d3b2f130cc2e4f5b
2022-10-05 12:33:02 +01:00
Paul Duffin
a8df7e1c5b Document bootImageConfig and bootImageVariant structs
Add warnings to the structs to explain how they are supposed to be used
and deprecate fields that are used incorrectly.

Bug: 245956352
Test: m nothing
Change-Id: I090698287b96fd37102b88beb5d7252977bddc54
2022-10-05 12:32:02 +01:00
Jiyong Park
2adc1a6e99 Merge changes Iad589b60,Ic8d2c7d0
* changes:
  Mandate #apex or #systemapi tag for the Mainline APIs
  Add --no-ndk to ndkstubgen
2022-10-05 03:52:49 +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
Jiyong Park
aa27c082dc Mandate #apex or #systemapi tag for the Mainline APIs
Currently, tagging a symbol with #apex is not required when the symbol
is in a non-NDK library. However, this is considered dangerous because
such a symbol will automatically be promoted to NDK APIs when the
library is promoted to an NDK library. When that happens, the native API
council won't be able to notice the promotion because promoting a
non-NDK library into an NDK library doesn't require an update of the
map.txt file, but Android.bp only.

To prevent that, we should mandate #apex (or #systemapi if the api is
provided by the system, not apex) tag for Mainline APIs regardless of
whether the library the API belongs to is an NDK library or not.

Bug: 184712170
Test: m
Change-Id: Iad589b606bc6ed06ef1237f4c9f0c22518b0db75
2022-10-05 09:07:27 +09:00
Jiyong Park
4ecbdb6dfd Add --no-ndk to ndkstubgen
By default, ndkstubgen does not omit NDK symbols as long as they
satisfy the API version and the CPU architecture requirements. This
change adds a new flag --no-ndk to ndkstubgen which is used to
override the default behavior. If the flag is set, NDK symbols are
omitted leaving only the annotated symbols (e.g. #apex, #systemapi,
etc.).

This will be used for stub libraries that are not part of NDK. So far,
symbols in such libraries haven't needed to be annotated as #apex, and
that has caused a confusion that those symbols belong to NDK. The
follow-up change will ensure that those symbols are always annoated as
either #apex or #systemapi so that their roles are clearly visible.

Bug: 184712170
Test: atest test_ndkstubgen
Test: atest test_symbolfile
Change-Id: Ic8d2c7d0b32bdef79f7563621035e60f406e4131
2022-10-05 09:06:49 +09:00
Trevor Radcliffe
6d91fe70e2 Merge "Update tests for cc_* converters" 2022-10-04 19:06:21 +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
Treehugger Robot
02c1b12b1f Merge "Remove build failure with USE_BAZEL_ANALYSIS usage" 2022-10-04 15:20:21 +00:00
Sam Delmerico
ab558d92f0 Merge "Revert "Revert "run bp2build in mixed_mode_test.sh""" 2022-10-04 13:33:50 +00:00
Martin Geisler
b9f744157a Merge "Remove spurious trailing backslash in prefer_rlib docstring" 2022-10-04 08:48:58 +00:00
Jingwen Chen
6a35072de2 Merge "Share certificate bp2build between android_app and apex." 2022-10-04 07:32:36 +00:00
Jason Wu
d201524549 Merge ""verbose log" mixed build bazel cquery commands" 2022-10-03 21:59:38 +00:00
Trevor Radcliffe
82dd855229 Update tests for cc_* converters
Forgot to update these tests when doing aosp/2233406

Bug: 249175838
Test: Unit tests
Change-Id: I50fbf7c232d0a7aec72af83bcbe805d785f82897
2022-10-03 20:27:27 +00:00
Treehugger Robot
b9238c0b72 Merge "Drop rust dependency on musl_linker_script" 2022-10-03 20:12:51 +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
Treehugger Robot
c1d1bd0d3f Merge "Allowlist frameworks/av/media/codec2/components/aom and external/libaom" 2022-10-03 18:18:18 +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
Jingwen Chen
bea58093b4 Share certificate bp2build between android_app and apex.
The certificate module is handled the same in Soong between android apps
and apexes, so share the bp2build code as well.

There are a few changes in this CL:

- If override_apex.certificate is unset, the generated apex also unsets
  it. This prevents the generated apex from using the base apex's
  certificate, which is most likely incorrect (e.g. google variant using
  the cert for the aosp variant). Instead, rely on the default
  certificate handling in the macro.
- If the certificate prop is a string, then it gets generated into
  certificate_name in order to disambiguate. This behavior is identical
  to android_app.

Test: added various unit tests.

Bug: 249089160
Fixes: 249089160
Change-Id: I99e18964ff546429a985d0f64dc21e2c69d35d9d
2022-10-03 09:20:47 +00:00
Ken Sun
44022c867d Merge "Revert "Use the toolchain from JDK 17"" 2022-10-03 03:17:13 +00:00
Ken Sun
be3a561aac Revert "Use the toolchain from JDK 17"
Revert submission 2164342-use-jdk17

Reason for revert: DroidMonitor-triggered revert due to breakage b/250426490

Reverted Changes:
Ib1a24e7ea:Update path for libjli.so
I3375bd4e4:Use the toolchain from JDK 17
I9183e5511:Use the toolchain from JDK 17

Change-Id: I28fc32290dd337b7d44bb98bc52956ee84f01aaa
2022-10-03 03:12:41 +00:00
Sorin Basca
1ea00ebb3e Merge "Use the toolchain from JDK 17" 2022-10-02 19:36:17 +00:00
Treehugger Robot
068910e943 Merge "Fix copy-paste error" 2022-10-01 03:23:56 +00:00
Colin Cross
4fa894d366 Removed unused GCC references
Remove Toolchain.GccRoot, Toolchain.GccVersion, and Toolchain.GccTriple
that were only used by an unused function.  This removes most of the
references to GCC, although there are still some left in the host
toolchains.

Test: No change to build.ninja for aosp_cf_x86_64_phone-userdebug or aosp_raven-userdebug
Change-Id: I72b8af1f9aa83e6e15c9e00ed1e817b6cc3a031a
2022-09-30 19:32:48 -07:00
Treehugger Robot
dfd50cc813 Merge "Change deptag for sdk deps to help distinguish" 2022-09-30 22:56:36 +00:00
Colin Cross
9382c0628c Drop rust dependency on musl_linker_script
musl_linker_script is no longer required as the entry point is now
_start.

Bug: 242601708
Test: m USE_HOST_MUSL=true host-native
Change-Id: I5acfaeb181a2dd39aac72edd94bd2030881d9d27
2022-09-30 15:12:25 -07:00
Usta (Tsering) Shrestha
d0c8d54f29 Merge "typo in comment" 2022-09-30 19:59:42 +00:00
Treehugger Robot
ab9155cc58 Merge "Add tests verifying link actions for cc libraries" 2022-09-30 19:56:39 +00:00
Treehugger Robot
455bf30f14 Merge "Add juu@ to OWNERS" 2022-09-30 19:12:35 +00:00
Sam Delmerico
73d6bcc7bb Revert "Revert "run bp2build in mixed_mode_test.sh""
This reverts commit cb93d29aa9.

Reason for revert: retry this CL with additional changes in topic

Change-Id: Ibbb8926caef05c2177c06cb1c00795d407215f4a
2022-09-30 18:26:03 +00:00
Pedro Loureiro
33ff1d96fc Fix copy-paste error
Introduced in aosp/1756510

Change-Id: Ib4d0c8fa3c8741bf3e80b8daa53a3d2ce36ce565
Test: presubmit
2022-09-30 17:04:15 +00:00
Liz Kammer
83cf81b54a Add tests verifying link actions for cc libraries
Test: run go tests
Change-Id: I3aada847df8f7c2523f31d8e7f293e502eb166ee
2022-09-30 12:57:00 -04:00
Vinh Tran
8c7e3d871a Merge "Allowlist com.android.media.swcodec" 2022-09-30 15:56:32 +00:00
Chris Parsons
7a8c90c0b9 Add juu@ to OWNERS
Test: N/A
Change-Id: I22d94a0c7b6885318d016fd5f712ac0237b067a5
2022-09-30 11:32:48 -04:00
Liz Kammer
ef28a4c5ce Change deptag for sdk deps to help distinguish
Test: m nothing before and after and diff build.ninja files
Change-Id: Idc4c7f86d3e626bd1ee2f90ae3c6fb755644a605
2022-09-30 11:01:18 -04:00
Paul Duffin
03d2cef47b Add UpsideDownCake to the releases for which snapshots can be built
Bug: 249769908
Test: packages/modules/common/mainline_modules_sdks.sh
      # With modification to add UpsideDownCake to list of releases
      # to build with.
Change-Id: I050811e7d9a5d0a8cf54a42c03ad889defa3a251
2022-09-30 09:41:08 +01:00
Treehugger Robot
b5a04d7905 Merge "Put base APK when AppSet is included in APEX" 2022-09-30 03:44:21 +00:00
Treehugger Robot
f99087d6d7 Merge "rust: Don't propagate apex across customBindgenTag" 2022-09-30 02:47:01 +00:00
Florian Mayer
a58d01da03 Merge "[MTE] unset colliding sanitizers for mutators" 2022-09-30 01:07:19 +00:00
Matthew Maurer
581b6d82ab rust: Don't propagate apex across customBindgenTag
customBindgenTag is used to describe a particular host tool - don't
propagate apex dependency across it.

Bug: 249849807
Test: Adding rusqlite to apex no longer requires bindgen allowed
Change-Id: Ifcb2a94c577c72558f757bf10e975212558fe790
2022-09-29 16:46:25 -07:00
Treehugger Robot
c63b7cf88e Merge "[LSC] Add LOCAL_LICENSE_KINDS to build/soong" 2022-09-29 23:34:23 +00:00
Florian Mayer
1bda246235 [MTE] unset colliding sanitizers for mutators
Bug: 174878242
Test: m device-tests with SANITIZE_TARGET=memtag_stack
Change-Id: Ia8659a90c6c1efd9109324e6c46748b434cbfd24
2022-09-29 15:49:46 -07:00
Treehugger Robot
7ea3a82480 Merge "Make writing command-line arguments as a comment in the generated file optional" 2022-09-29 17:49:36 +00:00
Bob Badour
1825cb03a2 [LSC] Add LOCAL_LICENSE_KINDS to build/soong
Added SPDX-license-identifier-Apache-2.0 to:
  python/tests/dont_import_folder_of_entrypoint/Android.bp
  python/tests/top_level_dirs/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Change-Id: I7a1ea160c685361318f9a8543e10b83eeb9dcb7f
2022-09-29 10:18:32 -07:00
Christopher Parsons
6378c05029 Merge "Support main repository prefixing in cquery" 2022-09-29 15:21:22 +00:00
Christopher Parsons
e26a76728e Merge "Set bazel's HOME to an absolute path." 2022-09-29 15:20:55 +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