Skip to content

Commit 3acc60f

Browse files
committed
Extract baseline-prof.txt from AARs in aar_import
aar_import now extracts baseline-prof.txt and provides BaselineProfileProvider, so baseline profiles from maven AARs propagate through the dependency graph to android_binary.
1 parent dd245bd commit 3acc60f

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

rules/aar_import/impl.bzl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414
"""Implementation."""
1515

16-
load("//providers:providers.bzl", "AndroidLintRulesInfo", "AndroidNativeLibsInfo")
16+
load("@rules_java//java/common:java_common.bzl", "java_common")
1717
load(
1818
"//rules:acls.bzl",
1919
_acls = "acls",
@@ -42,6 +42,7 @@ load("//rules:visibility.bzl", "PROJECT_VISIBILITY")
4242
load("@rules_java//java/common:java_common.bzl", "java_common")
4343
load("@rules_java//java/common:java_info.bzl", "JavaInfo")
4444
load("@rules_java//java/common:proguard_spec_info.bzl", "ProguardSpecInfo")
45+
load("//providers:providers.bzl", "AndroidLintRulesInfo", "AndroidNativeLibsInfo", "BaselineProfileProvider")
4546

4647
visibility(PROJECT_VISIBILITY)
4748

@@ -575,6 +576,18 @@ def impl(ctx):
575576
)
576577
providers.extend(lint_providers)
577578

579+
# Extract baseline-prof.txt from the AAR if present, otherwise create an empty file.
580+
baseline_prof = create_aar_artifact(ctx, "baseline-prof.txt")
581+
extract_single_file(
582+
ctx,
583+
baseline_prof,
584+
aar,
585+
"baseline-prof.txt",
586+
unzip_tool,
587+
create_empty_file = True,
588+
)
589+
providers.append(BaselineProfileProvider(files = depset([baseline_prof])))
590+
578591
validation_outputs.append(_validate_rule(
579592
ctx,
580593
aar = aar,

rules/aar_import/rule.bzl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414
"""aar_import rule."""
1515

16-
load("//providers:providers.bzl", "AndroidIdeInfo", "AndroidLibraryResourceClassJarProvider", "AndroidNativeLibsInfo")
16+
load("//providers:providers.bzl", "AndroidIdeInfo", "AndroidLibraryResourceClassJarProvider", "AndroidNativeLibsInfo", "BaselineProfileProvider")
1717
load(
1818
"//rules:utils.bzl",
1919
"ANDROID_SDK_TOOLCHAIN_TYPE",
@@ -60,6 +60,7 @@ aar_import = rule(
6060
AndroidIdeInfo,
6161
AndroidLibraryResourceClassJarProvider,
6262
AndroidNativeLibsInfo,
63+
BaselineProfileProvider,
6364
JavaInfo,
6465
],
6566
toolchains = [

0 commit comments

Comments
 (0)