diff options
Diffstat (limited to 'tools/build_defs/repo/utils.bzl')
-rw-r--r-- | tools/build_defs/repo/utils.bzl | 89 |
1 files changed, 44 insertions, 45 deletions
diff --git a/tools/build_defs/repo/utils.bzl b/tools/build_defs/repo/utils.bzl index d46b90eafa..f355f9a30e 100644 --- a/tools/build_defs/repo/utils.bzl +++ b/tools/build_defs/repo/utils.bzl @@ -27,55 +27,54 @@ load( """ def workspace_and_buildfile(ctx): - """Utility function for writing WORKSPACE and, if requested, a BUILD file. + """Utility function for writing WORKSPACE and, if requested, a BUILD file. - It assumes the paramters name, build_file, and build_file_contents to be - present in ctx.attr, the latter two possibly with value None. + It assumes the paramters name, build_file, and build_file_contents to be + present in ctx.attr, the latter two possibly with value None. - Args: - ctx: The repository context of the repository rule calling this utility - function. - """ - if ctx.attr.build_file and ctx.attr.build_file_content: - ctx.fail("Only one of build_file and build_file_content can be provided.") + Args: + ctx: The repository context of the repository rule calling this utility + function. + """ + if ctx.attr.build_file and ctx.attr.build_file_content: + ctx.fail("Only one of build_file and build_file_content can be provided.") - if ctx.attr.workspace_file and ctx.attr.workspace_file_content: - ctx.fail("Only one of workspace_file and workspace_file_content can be provided.") + if ctx.attr.workspace_file and ctx.attr.workspace_file_content: + ctx.fail("Only one of workspace_file and workspace_file_content can be provided.") - if ctx.attr.workspace_file: - bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" - ctx.execute([bash_exe, "-c", "rm -f WORKSPACE"]) - ctx.symlink(ctx.attr.workspace_file, "WORKSPACE") - elif ctx.attr.workspace_file_content: - bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" - ctx.execute([bash_exe, "-c", "rm -f WORKSPACE"]) - ctx.file("WORKSPACE", ctx.attr.build_file_content) - else: - ctx.file("WORKSPACE", "workspace(name = \"{name}\")\n".format(name=ctx.name)) + if ctx.attr.workspace_file: + bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" + ctx.execute([bash_exe, "-c", "rm -f WORKSPACE"]) + ctx.symlink(ctx.attr.workspace_file, "WORKSPACE") + elif ctx.attr.workspace_file_content: + bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" + ctx.execute([bash_exe, "-c", "rm -f WORKSPACE"]) + ctx.file("WORKSPACE", ctx.attr.build_file_content) + else: + ctx.file("WORKSPACE", "workspace(name = \"{name}\")\n".format(name = ctx.name)) - if ctx.attr.build_file: - bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" - ctx.execute([bash_exe, "-c", "rm -f BUILD BUILD.bazel"]) - ctx.symlink(ctx.attr.build_file, "BUILD") - elif ctx.attr.build_file_content: - bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" - ctx.execute([bash_exe, "-c", "rm -f BUILD.bazel"]) - ctx.file("BUILD", ctx.attr.build_file_content) + if ctx.attr.build_file: + bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" + ctx.execute([bash_exe, "-c", "rm -f BUILD BUILD.bazel"]) + ctx.symlink(ctx.attr.build_file, "BUILD") + elif ctx.attr.build_file_content: + bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" + ctx.execute([bash_exe, "-c", "rm -f BUILD.bazel"]) + ctx.file("BUILD", ctx.attr.build_file_content) def patch(ctx): - """Implementation of patching an already extracted repository""" - bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" - for patchfile in ctx.attr.patches: - command = "{patchtool} -p0 < {patchfile}".format( - patchtool=ctx.attr.patch_tool, - patchfile=ctx.path(patchfile)) - st = ctx.execute([bash_exe, "-c", command]) - if st.return_code: - fail("Error applying patch %s:\n%s" % (str(patchfile), st.stderr)) - for cmd in ctx.attr.patch_cmds: - st = ctx.execute([bash_exe, "-c", cmd]) - if st.return_code: - fail("Error applying patch command %s:\n%s%s" - % (cmd, st.stdout, st.stderr)) - - + """Implementation of patching an already extracted repository""" + bash_exe = ctx.os.environ["BAZEL_SH"] if "BAZEL_SH" in ctx.os.environ else "bash" + for patchfile in ctx.attr.patches: + command = "{patchtool} -p0 < {patchfile}".format( + patchtool = ctx.attr.patch_tool, + patchfile = ctx.path(patchfile), + ) + st = ctx.execute([bash_exe, "-c", command]) + if st.return_code: + fail("Error applying patch %s:\n%s" % (str(patchfile), st.stderr)) + for cmd in ctx.attr.patch_cmds: + st = ctx.execute([bash_exe, "-c", cmd]) + if st.return_code: + fail("Error applying patch command %s:\n%s%s" % + (cmd, st.stdout, st.stderr)) |