Format generated configs by config_release.py. (#297)
diff --git a/release/cc/create_artifacts.py b/release/cc/create_artifacts.py
index 6d13b24..26754ba 100644
--- a/release/cc/create_artifacts.py
+++ b/release/cc/create_artifacts.py
@@ -92,7 +92,8 @@
build_file.write(tpl)
-def update_latest_target_aliases(container_configs_list, bazel_version):
+def update_latest_target_aliases(container_configs_list, bazel_version,
+ buildifier):
"""Updates the alias targets pointing to latest toolchain targets.
Example latest aliases clang-ubuntu container are located in
@@ -123,13 +124,18 @@
[("\"%s\"" % config_type)
for config_type in container_configs.config_types]),
EXTRA_CONSTRAINTS="\n".join(
- [("\"%s\"," % constraint) for constraint in constraints])
- )
+ [("\"%s\"," % constraint) for constraint in constraints]))
build_file.write(tpl)
+ subprocess.check_call(
+ shlex.split(
+ "%s --lint=fix %s" %
+ (buildifier, container_configs.get_latest_aliases_build_path())))
-def generate_toolchain_definition(container_configs_list, bazel_version):
+
+def generate_toolchain_definition(container_configs_list, bazel_version,
+ buildifier):
"""Generates new cpp toolchain definitions.
Example cpp toolchain definitions for clang-ubuntu container are located in
@@ -188,7 +194,8 @@
build_file.write(tpl)
subprocess.check_call(
- shlex.split("buildifier %s" % container_configs.get_cpp_build_path()))
+ shlex.split("%s --lint=fix %s" %
+ (buildifier, container_configs.get_cpp_build_path())))
def generate_metadata(container_configs_list):
diff --git a/release/cc/execute_targets.py b/release/cc/execute_targets.py
index ef51565..0c8e704 100644
--- a/release/cc/execute_targets.py
+++ b/release/cc/execute_targets.py
@@ -37,7 +37,8 @@
shutil.rmtree(TMP_DIR)
-def execute_and_extract_configs(container_configs_list, bazel_version):
+def execute_and_extract_configs(container_configs_list, bazel_version,
+ buildifier):
"""Executes the docker_toolchain_autoconfig targets and extract configs.
If configs already exist in this repo, the script will delete them and
@@ -107,3 +108,8 @@
member = tar.getmember(os.path.join(CONFIG_REPO, config_file))
member.name = os.path.basename(member.name)
tar.extract(member, config.get_config_dir())
+ if config_file == "BUILD" or config_file.endswith("bzl"):
+ subprocess.check_call(
+ shlex.split("%s --lint=fix %s" %
+ (buildifier,
+ os.path.join(config.get_config_dir(), config_file))))
diff --git a/release/config_release.py b/release/config_release.py
index 6326d25..b211f32 100644
--- a/release/config_release.py
+++ b/release/config_release.py
@@ -78,10 +78,15 @@
"--bazel_version",
required=True,
help="the version of Bazel used to generate toolchain configs")
+ parser.add_argument(
+ "-l",
+ "--buildifier",
+ default="/usr/bin/buildifier",
+ help="the full path of buildifier used to format toolchain configs")
return parser.parse_args()
-def main(bazel_version):
+def main(bazel_version, buildifier):
"""Main function.
Examples of usage:
@@ -98,16 +103,19 @@
cc_create.create_targets(container_configs_list, bazel_version)
# Execute the target and extract toolchain configs.
- cc_execute.execute_and_extract_configs(container_configs_list, bazel_version)
+ cc_execute.execute_and_extract_configs(container_configs_list, bazel_version,
+ buildifier)
# Generate METADATA file.
cc_create.generate_metadata(container_configs_list)
# Generate new cpp toolchain definition targets.
- cc_create.generate_toolchain_definition(container_configs_list, bazel_version)
+ cc_create.generate_toolchain_definition(container_configs_list, bazel_version,
+ buildifier)
# Update aliases to latest toolchain configs.
- cc_create.update_latest_target_aliases(container_configs_list, bazel_version)
+ cc_create.update_latest_target_aliases(container_configs_list, bazel_version,
+ buildifier)
# Update toolchain.bazelrc file.
toolchain_flags.update_toolchain_bazelrc_file(container_configs_list,
@@ -120,4 +128,4 @@
if __name__ == "__main__":
args = _parse_arguments()
- main(args.bazel_version)
+ main(args.bazel_version, args.buildifier)