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)