Commit Graph

38746 Commits

Author SHA1 Message Date
Liz Kammer
7a210ac233 bp2build: Add support for export_.*headers props
Soong supports export_.*_headers properties, the libraries contained in
this list must also be within a shared/static/whole_static/header libs
property. For bp2build, we eliminate this duplication. The libraries
not listed in an export_.*_headers property will migrate to an attribute
prepended with implementation_, those in export_.*_headers will not have
a prefix.

Test: build/bazel/ci/bp2build.sh
Test: build/bazel/ci/mixed_libc.sh
Bug: 198241472
Change-Id: I3eb84c983ec5d241c8a568e411dfd5619d3184a7
2021-09-23 16:07:45 -04:00
Christopher Parsons
4ea6052650 Merge "Disable mixed builds for non-device OS" 2021-09-23 19:45:15 +00:00
Ivan Lozano
f96578e908 Merge "rust: Refactor cfg and feature flag calculation" 2021-09-23 18:25:22 +00:00
Chris Parsons
1826621bdd Disable mixed builds for non-device OS
We don't currently support propagation of OS in mixed builds, and our
host toolchains are not properly configured.

This allows us to continue to make progress on device OS until host is
supported.

Test: mixed_libc CI
Test: USE_BAZEL_ANALYSI=1 m adbd
Change-Id: I2bf8b3f9ca7928dd33bf2fb3d4fa067da0f593f3
2021-09-23 14:11:42 -04:00
Wei Li
a06db33ebd Merge "Add bp2build converter for cc_genrule." 2021-09-23 18:04:03 +00:00
Joel Galenson
ce7bbdc38a Pass "--extern proc_macro" to rust_proc_macros.
This is actually required for some code.

Test: Modify the new test so it fails and see it fail.
Test: Build crates that fail without it.
Change-Id: I527752b765e5552aa2de7e201f056955e053e1f3
2021-09-23 10:34:24 -07:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
fda604ab7c Merge "Annotate FIXME for b/200678898" 2021-09-23 17:18:49 +00:00
Christopher Parsons
798e8876c8 Merge "cquery: obtain objects from custom provider" 2021-09-23 17:11:25 +00:00
Sarah Chin
1c0557ea82 Merge "Add IRadio modules to VNDK" 2021-09-23 16:35:42 +00:00
Ivan Lozano
67eada34db rust: Refactor cfg and feature flag calculation
Move the cfg and feature flag calculation out of compilerFlags so that
it's a separate step.

The previous arrangement resulted in overridden compilerFlags which
must to set any additional cfgs/features before calling the base.
This is a bit confusing and undocumented behavior, so instead break
it out into a separate call that can itself be overriden.

Bug: N/A
Test: Soong tests pass
Change-Id: I28e4f707b3b3ca6eb621b7613c3737817f877bb8
2021-09-23 12:21:04 -04:00
Martin Stjernholm
4482560cc7 Consolidate the code to resolve a deapexer module dependency.
It will get more logic in upcoming CLs.

Add a property to DeapexerInfo for the APEX name, for use in error
messages.

Test: m nothing
Bug: 192006406
Change-Id: I957f3df8b34543a38cde38768dac93e78132d672
2021-09-23 17:19:55 +01:00
Martin Stjernholm
8be1e6db16 Propagate the dex jar path as an OptionalPath which is either valid or
invalid with a message.

This will allow propagating any error from the deapexer module for
prebuilt APEXes to the location where the dex jars get used. It's only
at those points that we can raise errors about not being able to
extract files from the deapexer modules if they are invalid, and this
way we avoid encoding knowledge there about why they may be invalid.

To keep the refactoring limited it intentionally does not change any of
the existing logic for when dexJarFiles are set or not (non-nil vs nil
prior to this change), although there may be opportunity to use this
for more conditions when dex jars aren't available.

The refactoring is also not extended to
dexpreopt.ClassLoaderContextMap.

Test: m nothing
Bug: 192006406
Change-Id: I68986dccd9a9b3fee4d24caa1947ea17a36caedc
2021-09-23 17:19:55 +01:00
Alex Márquez Pérez Muñíz Díaz Púras Thaureaux
fd0c03c315 Annotate FIXME for b/200678898
Bug: 200678898
Test: TBD
Change-Id: I433f3187714d5ea19b081ed5e3fe758de0a29ddd
2021-09-23 15:12:03 +00:00
Chris Parsons
9eae3cb80e cquery: obtain objects from custom provider
This prevents use of CcInfo to obtain object information, as doing so
would mean propagating linker inputs transitively up the graph (not a
feature that Soong supports)

Test: mixed_libc.sh
Change-Id: I5e5cbfb607b866bb57491dbc0693f79b71707492
2021-09-23 11:01:52 -04:00
Treehugger Robot
2e65f41953 Merge changes I67c5022b,I3baa2535
* changes:
  Detect duplicates in sdkRegistry
  Dedup SdkMemberType/TraitRegistry
2021-09-23 14:21:05 +00:00
Ulyana Trafimovich
a01d5ef403 Merge "Move copy rule for system server jars from dexpreopt_gen to makefiles." 2021-09-23 13:20:49 +00:00
Paul Duffin
0a7428073c Merge "Removes usages of SdkMemberTrait/TypeRegistry outside android/sdk.go" 2021-09-23 13:05:41 +00:00
Paul Duffin
15e92388bb Merge "Add support for native bridge trait" 2021-09-23 13:02:50 +00:00
Jerome Gaillard
f346429e0e Merge "Fix path to layoutlib project" 2021-09-23 12:57:32 +00:00
Paul Duffin
6949183f34 Merge "Allow sdk snapshot code to identify native bridge variants" 2021-09-23 12:54:29 +00:00
Paul Duffin
95a1d1672f Merge "Add support to sdk/module_exports to specify required traits" 2021-09-23 12:51:42 +00:00
Jerome Gaillard
655ee02d29 Fix path to layoutlib project
It is in the 'frameworks/layoutlib' folder and not in 'framework/layoutlib'.

Change-Id: I437558a0afa8bfaac0226b1e4c5a7c0a983b180a
2021-09-23 11:38:11 +00:00
Paul Duffin
581f2e5f79 Detect duplicates in sdkRegistry
Bug: 195754365
Test: m nothing
Change-Id: I67c5022b7cc61891fd6b90365f8271d97d7bcd98
2021-09-23 11:37:57 +01:00
Paul Duffin
30c830b82a Removes usages of SdkMemberTrait/TypeRegistry outside android/sdk.go
In preparation for a refactoring that will dedup the registry code.

Bug: 195754365
Test: m nothing
Change-Id: I93e8485d588f5b4d6b5e2967da5dbef7b6c831ad
2021-09-23 11:37:57 +01:00
Paul Duffin
93b750e2a0 Add support for native bridge trait
Adds a native bridge trait that if required will cause a
cc_library_header module to generate a cc_prebuilt_library_headers with
native_bridge_supported: true. It will fail if the cc_library_header's
native bridge variant would produce native bridge specific properties,
distinct from the other architecture variants, in the generated
cc_prebuilt_library_headers.

Bug: 195754365
Test: m nothing
Change-Id: I282fbb9095de6c6af57cca4eb4260e2c6c2da8cc
2021-09-23 11:37:57 +01:00
Paul Duffin
fefdb0bf0a Allow sdk snapshot code to identify native bridge variants
Previously, the snapshot code ignored native bridge related arch
specific variants and only used the non native bridge variants. This
change enabled it to track native bridge variants too.

There is currently no support for creating native bridge specific
prebuilts so this ensures that any attempt to create one will fail
during generation of the snapshot with a clear message.

At the moment that error message cannot be tested by creating an sdk as
there is no way to add a dependency from the sdk onto a native bridge
variant. A follow up change will add the capability to test this
functionality through an sdk.

Bug: 195754365
Test: m nothing
Change-Id: I0494fdba9cc2ff013ea990d12d6a03a0a444bd5c
2021-09-23 11:37:57 +01:00
Paul Duffin
f04033be81 Dedup SdkMemberType/TraitRegistry
Bug: 195754365
Test: m nothing
Change-Id: I3baa2535fd21a47bea2229f13cf5eb166396fe79
2021-09-23 11:37:57 +01:00
Paul Duffin
d19f894512 Add support to sdk/module_exports to specify required traits
Currently, every sdk member of a specific module type has to be treated
in the same way as every other sdk member of that type. e.g. it is not
possible for an sdk member to use different variants to other members
of the same type.

Adding a new member type for each different way to treat the members is
not scalable as if there were N different ways treat a member then it
would require 2^N types for all the possible combinations.

This adds a new traits mechanism that allows the behavior of member
types to be customized per sdk member. Each member type can specify a
list of supported traits and customize its behavior based on which
traits are required for each member. A trait can be supported by
multiple different member types.

Bug: 195754365
Test: m nothing
Change-Id: I165ac80d208c0402d2a9ffa8085bba29562c19b7
2021-09-23 11:37:51 +01:00
Anton Hansson
86da9c6a3d Merge "Add annotations.zip support to java_sdk_library" 2021-09-23 09:39:38 +00:00
Wei Li
bcd399479a Add bp2build converter for cc_genrule.
Test: cc_genrule_conversion_test.go

Change-Id: I19290b417d6336020a15ba7fa772ee0c76c58225
2021-09-23 05:41:20 +00:00
Sarah Chin
0322af503a Add IRadio modules to VNDK
Test: build
Bug: 198331451
Change-Id: Ia468b563c6485464db56b3c9cdbae80de6b3f165
Merged-In: Ia468b563c6485464db56b3c9cdbae80de6b3f165
2021-09-23 03:54:58 +00:00
Dan Willemsen
66213a64b2 Disable protobuf deterministic randomness in soong_build
Soong writes out text protos for the sbox manifests, and if those change
every time soong changes, we trigger rebuilds of significant portions of
the tree. This is very annoying when attempting to iterate on Soong, so
disable this functionality at the soong_build level.

Bug: 200727888
Change-Id: Icf21e1775a4c4200e983c1b8ac66ddd780d7c90c
2021-09-22 15:07:53 -07:00
Romain Jobredeaux
b669398c45 remove redundant 'deps' section from template with 'exports' section.
Test: pom2bp -regen prebuilts/sdk/current/support/BUILD.bazel
Bug: 198418951
Change-Id: I4d0e3d100d0e319473723a75077e2520fc1535e1
2021-09-22 16:50:33 -04:00
Dan Willemsen
b13daf2ba7 Merge "Add java_binary_host support for Windows" 2021-09-22 20:13:33 +00:00
Romain Jobredeaux
a2c081413a Exclude WallpaperPicker app and pom2bp-generated BUILD files from bp2build.
Bug: 198418951
Test: b build packages/apps/WallpaperPicker
Change-Id: I86eb64c734eb262a497595f525027534cdabdf32
2021-09-22 14:43:43 -04:00
Colin Cross
fac6fd0927 Merge changes I0b78ceeb,Ic57e1efd
* changes:
  Add environment variable to force keeping ANSI codes
  Disable table mode in smart status if window size is not available
2021-09-22 18:19:15 +00:00
Joseph Murphy
c964841e2d Changes tree built Robolectric name
Bug: b/194219998
Test: locally ran all in-tree Robolectric tests
Change-Id: If13583f6a2882e2e78d3004afc476debf6692df9
Merged-In: If13583f6a2882e2e78d3004afc476debf6692df9
2021-09-22 17:58:07 +00:00
Romain Jobredeaux
f05bea080b Merge "Exclude directories with manual BUILD files from bp2build." 2021-09-22 17:28:31 +00:00
Anton Hansson
d78eb76f64 Add annotations.zip support to java_sdk_library
The annotations zip file is produced by the "main" sdk build and is
primarily consumed by android studio.

In order to support building the main SDK without requiring the sources
of all modules, we are adding module SDK artifacts that allows
reconstructing these outputs. The annotations zip contains XML files
which should be fairly easy to merge from all the individual parts.

Bug: 187397779
Test: unit tests in this CL
Test: m sdkextensions-sdk and inspect output
Change-Id: I955cae720e6f1382936836ee1d8fb11003f51b7d
2021-09-22 17:23:10 +01:00
Sorin Basca
1bb6d6a2c9 Adding jdk.internal.misc in the allowed packages
Updating OpenJDK 11 means that there is a dependency on
jdk.internal.misc, which is renamed from sun.misc. The new
package is added to the allowed list.

Bug: 190470684
Bug: 190791083
Test: m
Change-Id: I174df7bad5c5ec4286c35998e16c26bcd0737612
2021-09-22 15:18:45 +00:00
Romain Jobredeaux
5ff942285c Merge "Add a flag-protected (-pom2build) feature for pom2bp to produce Bazel BUILD files." 2021-09-22 14:47:02 +00:00
Jingwen Chen
be27f964f5 Merge "bp2build: Refactor metrics collection to use exported functions." 2021-09-22 14:16:12 +00:00
Liz Kammer
5b780b1ae2 Merge "Add TOP to run_cuj so it runs from the correct dir" 2021-09-22 13:54:26 +00:00
Treehugger Robot
cd439a27e4 Merge "Remove workaround for modules with missing BCP fragments, as they are present now." 2021-09-22 10:18:36 +00:00
Treehugger Robot
512ec3f4fe Merge "Revert "update build rules to use /data/local/tests/unrestricted"" 2021-09-22 06:33:44 +00:00
Guang Zhu
5c97bc698f Revert "update build rules to use /data/local/tests/unrestricted"
Revert submission 1826231-native-test-path

Reason for revert: b/199996863

Bug: 199996863

Reverted Changes:
Ic106011a7:update build rules to use /data/local/tests/unrest...
Id727355ec:update build rules to use /data/local/tests/unrest...

Change-Id: Id53334a6169e58964ef86e78de738f29b32dd491
2021-09-22 04:20:22 +00:00
Treehugger Robot
0bdaa188e1 Merge "Remove arch-variant from some python properties" 2021-09-22 01:51:51 +00:00
Treehugger Robot
0f7dddcc9c Merge "[IRadioConfig] Add to VNDK variant list" 2021-09-22 01:49:23 +00:00
Romain Jobredeaux
89cb22416d Add a flag-protected (-pom2build) feature for pom2bp to produce Bazel BUILD files.
Note that this is an initial, rather crude attempt at this,
that unblocks generating BUILD files needed to build AOSP android apps.
In particular, note that
- Jetifier step currently ignored
- Visibility set to public for all output targets
- All dependencies are gathered in 'deps', though they are split under various categories in bp files
- Host, host-only notions are ignored for now

Test: Copy first 2 lines of, e.g. prebuilts/sdk/current/support/Android.bp to a BUILD.bazel file and run pom2bp -pom2build -regen BUILD.bazel
Bug: 198433754
Change-Id: I5efa93517e6c319fd828da5b16ba7efd2d90bca8
2021-09-21 20:36:07 +00:00
Spandan Das
235a9443b7 Merge "Add Property.Type to bpdocs template" 2021-09-21 20:00:35 +00:00