# Scripts for IDE / Environment support for Bazel
package(default_visibility = ["//visibility:private"])

# The master copy of the completion logic are bazel-complete-template.bash
# and bazel-complete-header.bash.
# This is where you should make edits.
genrule(
    name = "bash_completion",
    srcs = ["bazel-complete-template.bash"],
    outs = ["bazel-complete.bash"],
    cmd = "cat $(SRCS) > $@\n" +
          "touch err.log\n" +
          "TMP=`mktemp -d $${TMPDIR:-/tmp}/tmp.XXXXXXXXXX`\n" +
          "trap \"rm -fr err.log $${TMP}\" EXIT\n" +
          "$(location //src:bazel) " +
          "    --batch --output_user_root=$${TMP} --host_javabase=$(JAVABASE) " +
          "    help completion 2>err.log >>$@ || { cat err.log; exit 1; }",
    output_to_bindir = 1,
    tools = [
        "//src:bazel",
        "//tools/defaults:jdk",
    ],
    visibility = ["//scripts/packages:__subpackages__"],
)

sh_test(
    name = "bash_completion_test",
    size = "small",
    srcs = ["bash_completion_test.sh"],
    data = [
        "bazel-complete.bash",
        "testenv.sh",
        "//src/test/shell:bashunit",
    ],
)

filegroup(
    name = "srcs",
    srcs = glob(["**"]) + [
        "//scripts/docs:srcs",
        "//scripts/packages:srcs",
        "//scripts/release:srcs",
    ],
    visibility = ["//:__pkg__"],
)
