Merge "Build extractor for Go language."
diff --git a/Android.bp b/Android.bp
index 1792214..eddff31 100644
--- a/Android.bp
+++ b/Android.bp
@@ -253,3 +253,253 @@
},
},
}
+
+// Go extractor
+bootstrap_go_package {
+ name: "go-extractors-golang",
+ pkgPath: "kythe.io/kythe/go/extractors/golang",
+ srcs: [
+ "kythe/go/extractors/golang/golang.go",
+ "kythe/go/extractors/golang/packages.go",
+ ],
+ deps: [
+ "creachadair-stringset",
+ "go-extractors-govname",
+ "go-platform-analysis",
+ "go-platform-kindex",
+ "go-platform-vfs",
+ "go-util-ptypes",
+ "go-proto-analysis_go_proto",
+ "go-proto-go_go_proto",
+ "go-proto-storage_go_proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-extractors-govname",
+ pkgPath: "kythe.io/kythe/go/extractors/govname",
+ srcs: [
+ "kythe/go/extractors/govname/govname.go",
+ "kythe/go/extractors/govname/types.go",
+ ],
+ deps: [
+ "golang-x-tools-go-vcs",
+ "go-util-vnameutil",
+ "go-proto-storage_go_proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-platform-analysis",
+ pkgPath: "kythe.io/kythe/go/platform/analysis",
+ srcs: ["kythe/go/platform/analysis/analysis.go"],
+ deps: [
+ "go-proto-analysis_go_proto",
+ "go-proto-storage_go_proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-platform-delimited",
+ pkgPath: "kythe.io/kythe/go/platform/delimited",
+ srcs: ["kythe/go/platform/delimited/delimited.go"],
+ deps: [
+ "golang-protobuf-proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-platform-kcd",
+ pkgPath: "kythe.io/kythe/go/platform/kcd",
+ srcs: ["kythe/go/platform/kcd/kcd.go"],
+}
+
+bootstrap_go_package {
+ name: "go-platform-kcd-kythe",
+ pkgPath: "kythe.io/kythe/go/platform/kcd/kythe",
+ srcs: ["kythe/go/platform/kcd/kythe/units.go"],
+ deps: [
+ "golang-protobuf-jsonpb",
+ "golang-protobuf-proto",
+ "go-platform-kcd",
+ "go-util-ptypes",
+ "go-proto-analysis_go_proto",
+ "go-proto-buildinfo_go_proto",
+ "go-proto-storage_go_proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-platform-kindex",
+ pkgPath: "kythe.io/kythe/go/platform/kindex",
+ srcs: ["kythe/go/platform/kindex/kindex.go"],
+ deps: [
+ "golang-protobuf-proto",
+ "go-platform-analysis",
+ "go-platform-delimited",
+ "go-platform-vfs",
+ "go-util-ptypes",
+ "go-proto-analysis_go_proto",
+ "go-proto-storage_go_proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-platform-kzip",
+ pkgPath: "kythe.io/kythe/go/platform/kzip",
+ srcs: ["kythe/go/platform/kzip/kzip.go"],
+ deps: [
+ "creachadair-stringset",
+ "golang-protobuf-jsonpb",
+ "golang-protobuf-proto",
+ "golang-x-sync-errgroup",
+ "go-platform-kcd-kythe",
+ "go-proto-analysis_go_proto",
+ "go-proto-buildinfo_go_proto",
+ "go-proto-cxx_go_proto",
+ "go-proto-filecontext_go_proto",
+ "go-proto-go_go_proto",
+ "go-proto-java_go_proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-platform-vfs",
+ pkgPath: "kythe.io/kythe/go/platform/vfs",
+ srcs: ["kythe/go/platform/vfs/vfs.go"],
+}
+
+bootstrap_go_package {
+ name: "go-proto-analysis_go_proto",
+ pkgPath: "kythe.io/kythe/proto/analysis_go_proto",
+ srcs: ["kythe/proto/analysis_go_proto/analysis.pb.go"],
+ deps: [
+ "golang-protobuf-proto",
+ "golang-protobuf-ptypes-any",
+ "go-proto-storage_go_proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-proto-cxx_go_proto",
+ pkgPath: "kythe.io/kythe/proto/cxx_go_proto",
+ srcs: ["kythe/proto/cxx_go_proto/cxx.pb.go"],
+ deps: [
+ "golang-protobuf-proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-proto-filecontext_go_proto",
+ pkgPath: "kythe.io/kythe/proto/filecontext_go_proto",
+ srcs: ["kythe/proto/filecontext_go_proto/filecontext.pb.go"],
+ deps: [
+ "golang-protobuf-proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-proto-buildinfo_go_proto",
+ pkgPath: "kythe.io/kythe/proto/buildinfo_go_proto",
+ srcs: ["kythe/proto/buildinfo_go_proto/buildinfo.pb.go"],
+ deps: [
+ "golang-protobuf-proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-proto-go_go_proto",
+ pkgPath: "kythe.io/kythe/proto/go_go_proto",
+ srcs: ["kythe/proto/go_go_proto/go.pb.go"],
+ deps: ["golang-protobuf-proto"],
+}
+
+bootstrap_go_package {
+ name: "go-proto-java_go_proto",
+ pkgPath: "kythe.io/kythe/proto/java_go_proto",
+ srcs: ["kythe/proto/java_go_proto/java.pb.go"],
+ deps: [
+ "go-proto-storage_go_proto",
+ "golang-protobuf-proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-proto-storage_go_proto",
+ pkgPath: "kythe.io/kythe/proto/storage_go_proto",
+ srcs: ["kythe/proto/storage_go_proto/storage.pb.go"],
+ deps: [
+ "golang-protobuf-proto",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-util-build",
+ pkgPath: "kythe.io/kythe/go/util/build",
+ srcs: ["kythe/go/util/build/build.go"],
+ deps: [
+ "golang-protobuf-proto",
+ "golang-protobuf-ptypes",
+ "golang-protobuf-ptypes-any",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-util-flagutil",
+ pkgPath: "kythe.io/kythe/go/util/flagutil",
+ srcs: ["kythe/go/util/flagutil/flagutil.go"],
+ deps: [
+ "creachadair-stringset",
+ "go-util-build",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-util-ptypes",
+ pkgPath: "kythe.io/kythe/go/util/ptypes",
+ srcs: ["kythe/go/util/ptypes/ptypes.go"],
+ deps: [
+ "golang-protobuf-proto",
+ "golang-protobuf-ptypes",
+ "golang-protobuf-ptypes-any",
+ ],
+}
+
+bootstrap_go_package {
+ name: "go-util-vnameutil",
+ pkgPath: "kythe.io/kythe/go/util/vnameutil",
+ srcs: [
+ "kythe/go/util/vnameutil/order.go",
+ "kythe/go/util/vnameutil/rewrite.go",
+ ],
+ deps: [
+ "go-proto-storage_go_proto",
+ "golang-protobuf-jsonpb",
+ ],
+}
+
+blueprint_go_binary {
+ name: "go_extractor",
+ srcs: ["kythe/go/extractors/cmd/gotool/gotool.go"],
+ deps: [
+ "go-extractors-golang",
+ "go-platform-analysis",
+ "go-platform-delimited",
+ "go-platform-kcd",
+ "go-platform-kcd-kythe",
+ "go-platform-kzip",
+ "go-platform-vfs",
+ "go-proto-analysis_go_proto",
+ "go-proto-buildinfo_go_proto",
+ "go-proto-cxx_go_proto",
+ "go-proto-filecontext_go_proto",
+ "go-proto-java_go_proto",
+ "go-util-flagutil",
+ "go-util-vnameutil",
+ "go-util-build",
+ "golang-x-sync-errgroup",
+ "golang-x-tools-go-vcs",
+ ],
+ // TODO(asmundak): is there a way to set linker flags
+ // (e.g., -ldflags="-s -w" -trimpath
+}