From 1c26e2b277cbd5c8b6012bf462f14beed921dff2 Mon Sep 17 00:00:00 2001 From: Edbert Chan Date: Tue, 4 Jun 2024 14:24:35 -0700 Subject: [PATCH] Adding support for debuggable flag to override default Bazel behavior. See https://github.com/bazelbuild/bazel/pull/13801 --- rules/flags/flags.bzl | 7 +------ rules/resources.bzl | 3 ++- rules/utils.bzl | 9 +++++++++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/rules/flags/flags.bzl b/rules/flags/flags.bzl index 8533fa09..0ea7f362 100644 --- a/rules/flags/flags.bzl +++ b/rules/flags/flags.bzl @@ -91,12 +91,7 @@ def native_bool_flag_macro(name, description): ) def _get_bool(v): - v = v.lower() - if v == "true": - return True - if v == "false": - return False - fail("Unknown bool: " + v) + return utils.get_bool(v) def _bool_impl(ctx): if ctx.label.name in ctx.var: diff --git a/rules/resources.bzl b/rules/resources.bzl index e35ba61b..f415646b 100644 --- a/rules/resources.bzl +++ b/rules/resources.bzl @@ -747,6 +747,7 @@ def _package( resource_files_zip = ctx.actions.declare_file( "_migrated/" + ctx.label.name + "_files/resource_files.zip", ) + debug = utils.get_bool(manifest_values["debuggable"]) if "debuggable" in manifest_values else None _busybox.package( ctx, out_file = resource_apk, @@ -785,7 +786,7 @@ def _package( aapt = aapt, busybox = busybox, host_javabase = host_javabase, - debug = compilation_mode != _compilation_mode.OPT, + debug = compilation_mode != _compilation_mode.OPT if debug == None else debug, should_throw_on_conflict = should_throw_on_conflict, ) diff --git a/rules/utils.bzl b/rules/utils.bzl index 4d27506e..701f14fc 100644 --- a/rules/utils.bzl +++ b/rules/utils.bzl @@ -441,6 +441,14 @@ def _get_compilation_mode(ctx): """ return ctx.var["COMPILATION_MODE"] +def _get_bool(v): + v = v.lower() + if v == "true": + return True + if v == "false": + return False + fail("Unknown bool: " + v) + compilation_mode = struct( DBG = "dbg", FASTBUILD = "fastbuild", @@ -466,6 +474,7 @@ utils = struct( list_or_depset_to_list = _list_or_depset_to_list, add_cls_prefix = _add_cls_prefix, get_cls = _get_cls, + get_bool = _get_bool ) log = struct(