Damien Martin-Guillerez | 5f9c6ba | 2015-04-09 21:10:33 +0000 | [diff] [blame] | 1 | # Scripts for IDE / Environment support for Bazel |
| 2 | package(default_visibility = ["//visibility:private"]) |
| 3 | |
| 4 | # The master copy of the completion logic are bazel-complete-template.bash |
| 5 | # and bazel-complete-header.bash. |
| 6 | # This is where you should make edits. |
| 7 | genrule( |
| 8 | name = "bash_completion", |
| 9 | srcs = ["bazel-complete-template.bash"], |
| 10 | outs = ["bazel-complete.bash"], |
Damien Martin-Guillerez | cbebfc7 | 2015-04-13 20:53:29 +0000 | [diff] [blame] | 11 | cmd = "cat $(SRCS) > $@\n" + |
| 12 | "touch err.log\n" + |
Damien Martin-Guillerez | 8b4df1b | 2016-08-01 13:35:33 +0000 | [diff] [blame] | 13 | "TMP=`mktemp -d $${TMPDIR:-/tmp}/tmp.XXXXXXXXXX`\n" + |
| 14 | "trap \"rm -fr err.log $${TMP}\" EXIT\n" + |
| 15 | "$(location //src:bazel) " + |
| 16 | " --batch --output_user_root=$${TMP} --host_javabase=$(JAVABASE) " + |
Damien Martin-Guillerez | cbebfc7 | 2015-04-13 20:53:29 +0000 | [diff] [blame] | 17 | " help completion 2>err.log >>$@ || { cat err.log; exit 1; }", |
Damien Martin-Guillerez | 5f9c6ba | 2015-04-09 21:10:33 +0000 | [diff] [blame] | 18 | output_to_bindir = 1, |
Damien Martin-Guillerez | cbebfc7 | 2015-04-13 20:53:29 +0000 | [diff] [blame] | 19 | tools = [ |
| 20 | "//src:bazel", |
| 21 | "//tools/defaults:jdk", |
| 22 | ], |
Damien Martin-Guillerez | e8f8dc5 | 2015-09-04 15:27:45 +0000 | [diff] [blame] | 23 | visibility = ["//scripts/packages:__pkg__"], |
Damien Martin-Guillerez | 5f9c6ba | 2015-04-09 21:10:33 +0000 | [diff] [blame] | 24 | ) |
| 25 | |
| 26 | sh_test( |
| 27 | name = "bash_completion_test", |
| 28 | size = "small", |
| 29 | srcs = ["bash_completion_test.sh"], |
| 30 | data = [ |
| 31 | "bazel-complete.bash", |
| 32 | "testenv.sh", |
| 33 | "//src/test/shell:bashunit", |
| 34 | ], |
| 35 | ) |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 36 | |
| 37 | filegroup( |
| 38 | name = "srcs", |
Damien Martin-Guillerez | 7d265e0 | 2016-07-01 13:33:48 +0000 | [diff] [blame] | 39 | srcs = glob(["**"]) + [ |
| 40 | "//scripts/release:srcs", |
| 41 | "//scripts/packages:srcs", |
| 42 | ], |
Damien Martin-Guillerez | de54bca | 2016-02-29 10:49:43 +0000 | [diff] [blame] | 43 | visibility = ["//:__pkg__"], |
| 44 | ) |