From 61a91b8e9a3f4045a41e6f5801f5557ba39a7f9e Mon Sep 17 00:00:00 2001 From: Alex Humesky Date: Thu, 22 Aug 2024 15:53:15 -0700 Subject: [PATCH] Migrate DataBindingV2Info to Starlark. PiperOrigin-RevId: 666521866 Change-Id: I768332cb6e2fdfd23401e09c766313308b391d54 --- rules/data_binding.bzl | 27 ++++++++++++++++++--------- rules/providers.bzl | 10 +++++++++- rules/reexport_providers.bzl | 1 - 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/rules/data_binding.bzl b/rules/data_binding.bzl index bd2a0b1f..cd0a6c04 100644 --- a/rules/data_binding.bzl +++ b/rules/data_binding.bzl @@ -224,8 +224,11 @@ def _process( if not enable_data_binding: db_info[_PROVIDERS] = [ DataBindingV2Info( - databinding_v2_providers_in_deps = deps, - databinding_v2_providers_in_exports = exports, + setter_stores = depset(transitive = [info.setter_stores for info in exports]), + class_infos = depset(transitive = [info.class_infos for info in exports]), + transitive_br_files = depset(transitive = + [info.transitive_br_files for info in deps] + + [info.transitive_br_files for info in exports]), ), ] return struct(**db_info) @@ -293,13 +296,19 @@ def _process( db_info[_PROVIDERS] = [ DataBindingV2Info( - setter_store_file = setter_store_out, - class_info_file = class_info, - br_file = br_out, - label = str(ctx.label), - java_package = java_package, - databinding_v2_providers_in_deps = deps, - databinding_v2_providers_in_exports = exports, + setter_stores = depset( + direct = [setter_store_out] if setter_store_out else [], + transitive = [info.setter_stores for info in exports], + ), + class_infos = depset( + direct = [class_info] if class_info else [], + transitive = [info.class_infos for info in exports], + ), + transitive_br_files = depset( + direct = [br_out] if br_out else [], + transitive = [info.transitive_br_files for info in deps] + + [info.transitive_br_files for info in exports], + ), ), ] diff --git a/rules/providers.bzl b/rules/providers.bzl index cf568958..d7b36150 100644 --- a/rules/providers.bzl +++ b/rules/providers.bzl @@ -266,6 +266,15 @@ ProguardMappingInfo = provider( ), ) +DataBindingV2Info = provider( + doc = "DataBindingV2Info", + fields = dict( + class_infos = "", + setter_stores = "", + transitive_br_files = "", + ), +) + # Native defined providers which will be gradually migrated to Starlark. # We re-export these here so that all our providers can be loaded from this file. ApkInfo = providers.ApkInfo @@ -274,5 +283,4 @@ AndroidSdkInfo = providers.AndroidSdkInfo AndroidManifestInfo = providers.AndroidManifestInfo AndroidAssetsInfo = providers.AndroidAssetsInfo AndroidIdeInfo = providers.AndroidIdeInfo -DataBindingV2Info = providers.DataBindingV2Info AndroidFeatureFlagSet = providers.AndroidFeatureFlagSet # buildifier: disable=name-conventions diff --git a/rules/reexport_providers.bzl b/rules/reexport_providers.bzl index 64f56260..cb6cb9b2 100644 --- a/rules/reexport_providers.bzl +++ b/rules/reexport_providers.bzl @@ -27,6 +27,5 @@ providers = struct( AndroidManifestInfo = AndroidManifestInfo, AndroidAssetsInfo = AndroidAssetsInfo, AndroidIdeInfo = AndroidIdeInfo, - DataBindingV2Info = DataBindingV2Info, AndroidFeatureFlagSet = AndroidFeatureFlagSet, )