diff --git a/rules/aar_import/impl.bzl b/rules/aar_import/impl.bzl index 527c5a587..f4c059e1f 100644 --- a/rules/aar_import/impl.bzl +++ b/rules/aar_import/impl.bzl @@ -13,7 +13,7 @@ # limitations under the License. """Implementation.""" -load("//providers:providers.bzl", "AndroidLintRulesInfo", "AndroidNativeLibsInfo") +load("//providers:providers.bzl", "AndroidLintRulesInfo", "AndroidNativeLibsInfo", "BaselineProfileProvider") load( "//rules:acls.bzl", _acls = "acls", @@ -575,6 +575,18 @@ def impl(ctx): ) providers.extend(lint_providers) + # Extract baseline-prof.txt from the AAR if present, otherwise create an empty file. + baseline_prof = create_aar_artifact(ctx, "baseline-prof.txt") + extract_single_file( + ctx, + baseline_prof, + aar, + "baseline-prof.txt", + unzip_tool, + create_empty_file = True, + ) + providers.append(BaselineProfileProvider(files = depset([baseline_prof]))) + validation_outputs.append(_validate_rule( ctx, aar = aar, diff --git a/rules/aar_import/rule.bzl b/rules/aar_import/rule.bzl index 9110162d7..af37833cf 100644 --- a/rules/aar_import/rule.bzl +++ b/rules/aar_import/rule.bzl @@ -13,7 +13,7 @@ # limitations under the License. """aar_import rule.""" -load("//providers:providers.bzl", "AndroidIdeInfo", "AndroidLibraryResourceClassJarProvider", "AndroidNativeLibsInfo") +load("//providers:providers.bzl", "AndroidIdeInfo", "AndroidLibraryResourceClassJarProvider", "AndroidNativeLibsInfo", "BaselineProfileProvider") load( "//rules:utils.bzl", "ANDROID_SDK_TOOLCHAIN_TYPE", @@ -60,6 +60,7 @@ aar_import = rule( AndroidIdeInfo, AndroidLibraryResourceClassJarProvider, AndroidNativeLibsInfo, + BaselineProfileProvider, JavaInfo, ], toolchains = [