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)