| # 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" + | |
| "trap \"rm err.log\" EXIT\n" + | |
| "$(location //src:bazel) --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:__pkg__"], | |
| ) | |
| sh_test( | |
| name = "bash_completion_test", | |
| size = "small", | |
| srcs = ["bash_completion_test.sh"], | |
| data = [ | |
| "bazel-complete.bash", | |
| "testenv.sh", | |
| "//src/test/shell:bashunit", | |
| ], | |
| ) |