Add support for generating a compile_commands.json file for clang-tidy
Change-Id: I3db1a69030f6ba6617ccaf3a1ebc319111145fe1
diff --git a/tools/actions/BUILD b/tools/actions/BUILD
new file mode 100644
index 0000000..2362307
--- /dev/null
+++ b/tools/actions/BUILD
@@ -0,0 +1,30 @@
+py_binary(
+ name = 'generate_compile_command',
+ srcs = [
+ 'generate_compile_command.py',
+ ],
+ deps = [
+ '//third_party/bazel:extra_actions_proto_py',
+ ],
+)
+
+action_listener(
+ name = 'generate_compile_commands_listener',
+ visibility = ['//visibility:public'],
+ mnemonics = [
+ 'CppCompile',
+ ],
+ extra_actions = [':generate_compile_commands_action'],
+)
+
+extra_action(
+ name = 'generate_compile_commands_action',
+ tools = [
+ ':generate_compile_command',
+ ],
+ out_templates = [
+ '$(ACTION_ID)_compile_command',
+ ],
+ cmd = '$(location :generate_compile_command) $(EXTRA_ACTION_FILE)' +
+ ' $(output $(ACTION_ID)_compile_command)',
+)