blob: 9597245142cc269a08e574b66dc181f4521b913e [file] [log] [blame]
package(default_visibility = ["//visibility:public"])
exports_files([
"LICENSE",
"extractors/*",
"indexers/*",
"proto/*",
"tools/*",
])
load(":extractors.bzl", "extractor_action")
load(":vnames.bzl", "construct_vnames_config")
construct_vnames_config(
name = "vnames_config",
srcs = [
"vnames.cxx.json",
"vnames.go.json",
"vnames.java.json",
"vnames.json",
],
)
# Clone of default Java proto toolchain with "annotate_code" enabled for
# cross-language metadata file generation.
proto_lang_toolchain(
name = "java_proto_toolchain",
command_line = "--java_out=annotate_code,shared,immutable:$(OUT)",
runtime = ":protobuf",
)
java_library(
name = "protobuf",
visibility = ["//visibility:private"],
exports = [
"@com_google_protobuf//:protobuf_java",
],
runtime_deps = [
"@com_google_protobuf//:protobuf_java",
],
)
# Clone of default C++ proto toolchain with "annotate_headers" enabled for
# cross-language metadata file generation.
proto_lang_toolchain(
name = "cc_proto_toolchain",
blacklisted_protos = [
"@com_google_protobuf//:well_known_protos",
],
command_line = "--$(PLUGIN_OUT)=:$(OUT)",
plugin = ":cc_proto_metadata_plugin",
runtime = "@com_google_protobuf//:protobuf",
)
filegroup(
name = "cc_proto_metadata_plugin",
srcs = ["tools/cc_proto_metadata_plugin"],
)
filegroup(
name = "bazel_cxx_extractor",
srcs = ["extractors/bazel_cxx_extractor"],
)
java_binary(
name = "bazel_java_extractor",
main_class = "com.google.devtools.kythe.extractors.java.bazel.JavaExtractor",
runtime_deps = [
"extractors/bazel_java_extractor.jar",
"jsr250-api-1.0.jar",
],
)
java_binary(
name = "bazel_jvm_extractor",
main_class = "com.google.devtools.kythe.extractors.jvm.bazel.BazelJvmExtractor",
runtime_deps = ["extractors/bazel_jvm_extractor.jar"],
)
filegroup(
name = "bazel_go_extractor",
srcs = ["extractors/bazel_go_extractor"],
)
filegroup(
name = "bazel_extract_kzip",
srcs = ["extractors/bazel_extract_kzip"],
)
filegroup(
name = "bazel_proto_extractor",
srcs = ["extractors/bazel_proto_extractor"],
)
extractor_action(
name = "extract_kzip_cxx",
args = [
"$(EXTRA_ACTION_FILE)",
"$(output $(ACTION_ID).cxx.kzip)",
"$(location :vnames_config)",
],
data = [":vnames_config"],
extractor = ":bazel_cxx_extractor",
mnemonics = ["CppCompile"],
output = "$(ACTION_ID).cxx.kzip",
)
extractor_action(
name = "extract_kzip_java",
args = [
"$(EXTRA_ACTION_FILE)",
"$(output $(ACTION_ID).java.kzip)",
"$(location :vnames_config)",
],
data = [":vnames_config"],
extractor = ":bazel_java_extractor",
mnemonics = ["Javac"],
output = "$(ACTION_ID).java.kzip",
)
extractor_action(
name = "extract_kzip_jvm",
args = [
"$(EXTRA_ACTION_FILE)",
"$(output $(ACTION_ID).jvm.kzip)",
"$(location :vnames_config)",
],
data = [":vnames_config"],
extractor = ":bazel_jvm_extractor",
mnemonics = ["JavaIjar"],
output = "$(ACTION_ID).jvm.kzip",
)
extractor_action(
name = "extract_kzip_go",
args = [
"$(EXTRA_ACTION_FILE)",
"$(output $(ACTION_ID).go.kzip)",
"$(location :vnames_config)",
],
data = [":vnames_config"],
extractor = ":bazel_go_extractor",
mnemonics = ["GoCompile"],
output = "$(ACTION_ID).go.kzip",
)
extractor_action(
name = "extract_kzip_typescript",
args = [
"--extra_action=$(EXTRA_ACTION_FILE)",
"--include='\\.(js|json|tsx?|d\\.ts)$$'",
"--language=typescript",
"--output=$(output $(ACTION_ID).typescript.kzip)",
"--rules=$(location :vnames_config)",
"--scoped=true",
"--source='\\.ts$$'",
],
data = [":vnames_config"],
extractor = ":bazel_extract_kzip",
mnemonics = ["TypeScriptCompile"],
output = "$(ACTION_ID).typescript.kzip",
)
extractor_action(
name = "extract_kzip_protobuf",
args = [
"--extra_action=$(EXTRA_ACTION_FILE)",
"--language=protobuf",
"--rules=$(location :vnames_config)",
"--output=$(output $(ACTION_ID).protobuf.kzip)",
],
data = [":vnames_config"],
extractor = ":bazel_proto_extractor",
mnemonics = ["GenProtoDescriptorSet"],
output = "$(ACTION_ID).protobuf.kzip",
)