Skip to content

Commit 556a219

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 556a219

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

rules/aar_import/impl.bzl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
"""Implementation."""
1515

1616
load("//providers:providers.bzl", "AndroidLintRulesInfo", "AndroidNativeLibsInfo")
17+
load("@rules_java//java/common:java_common.bzl", "java_common")
18+
load("@rules_java//java/common:java_info.bzl", "JavaInfo")
19+
load("@rules_java//java/common:proguard_spec_info.bzl", "ProguardSpecInfo")
20+
load("//providers:providers.bzl", "AndroidLintRulesInfo", "AndroidNativeLibsInfo", "BaselineProfileProvider")
1721
load(
1822
"//rules:acls.bzl",
1923
_acls = "acls",
@@ -575,6 +579,18 @@ def impl(ctx):
575579
)
576580
providers.extend(lint_providers)
577581

582+
# Extract baseline-prof.txt from the AAR if present, otherwise create an empty file.
583+
baseline_prof = create_aar_artifact(ctx, "baseline-prof.txt")
584+
extract_single_file(
585+
ctx,
586+
baseline_prof,
587+
aar,
588+
"baseline-prof.txt",
589+
unzip_tool,
590+
create_empty_file = True,
591+
)
592+
providers.append(BaselineProfileProvider(files = depset([baseline_prof])))
593+
578594
validation_outputs.append(_validate_rule(
579595
ctx,
580596
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)