aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/BUILD
blob: decf702cfcad2f20d1c1397aaa6333280930062d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 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__"],
)