tweaks to kythe indexing for Android Studio
-tool to generate vnames with googleplex-android corpus name
-uses root to map to the project name from manifest
-update vnames.json with that tool
-use tools/base/bazel/build_targets for targets to process
-add option to kythe build script to save entries to gcs
this location will be used by code search to pick up data
Change-Id: I1627b221b7c4b146d1278d067abda8db329fec20
diff --git a/linux-x86_64/kythe/extractors/vnames.json b/linux-x86_64/kythe/extractors/vnames.json
index 6ce7576..f6eacdf 100644
--- a/linux-x86_64/kythe/extractors/vnames.json
+++ b/linux-x86_64/kythe/extractors/vnames.json
@@ -1,69 +1,825 @@
[
{
- "pattern": "bazel-out/[^/]+/bin/([^/]+/javatests/.+/testdata)/.+\\.jar!/([^\\$]+)(\\$.+)?\\.class",
- "vname": {
- "corpus": "studio",
- "path": "@1@/@2@.java"
+ "pattern":"tools/buildSrc/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/buildSrc"
}
},
{
- "pattern": "bazel-out/[^/]+/bin/(.*?/java|javatests)/.*\\.jar!/([^\\$]+)(\\$.+)?\\.class",
- "vname": {
- "corpus": "studio",
- "path": "@1@/@2@.java"
+ "pattern":"external/ant-glob/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/ant-glob"
}
},
{
- "pattern": "bazel-out/[^/]+/bin/[^/]+/proto/.*\\.jar!/([^\\$]+)(\\$.+)?\\.class",
- "vname": {
- "corpus": "studio",
- "root": "GENERATED/proto/java",
- "path": "@1@.java"
+ "pattern":"external/boringssl/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/boringssl"
}
},
{
- "pattern": "bazel-out/[^/]+/bin/third_party/go/src/((.*)/[^/]+\\.a)",
- "vname": {
- "corpus": "@2@",
- "path": "@1@"
+ "pattern":"external/emma/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/emma"
}
},
{
- "pattern": "(/kythe_builtins/include)/(.*)",
- "vname": {
- "corpus": "cstdlib",
- "root": "@1@",
- "path": "@2@"
+ "pattern":"external/gmock/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/gmock"
}
},
{
- "pattern": "([^/]+/java|javatests/[^\\$]+)(\\$.+)?\\.(class|java)",
- "vname": {
- "corpus": "studio",
- "path": "@1@.java"
+ "pattern":"external/gtest/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/gtest"
}
},
{
- "pattern": "(/usr/include/c\\+\\+/[^/]+)/(.*)",
- "vname": {
- "corpus": "libstdcxx",
- "root": "@1@",
- "path": "@2@"
+ "pattern":"external/iosched/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/iosched"
}
},
{
- "pattern": "/usr/include/(.*)",
- "vname": {
- "corpus": "cstdlib",
- "root": "/usr/include",
- "path": "@1@"
+ "pattern":"external/AntennaPod/AntennaPod/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/AntennaPod/AntennaPod"
}
},
{
- "pattern": "(.*)",
- "vname": {
- "corpus": "studio",
- "path": "@1@"
+ "pattern":"external/AntennaPod/AudioPlayer/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/AntennaPod/AudioPlayer"
+ }
+ },
+ {
+ "pattern":"external/AntennaPod/afollestad/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/AntennaPod/afollestad"
+ }
+ },
+ {
+ "pattern":"external/protobuf/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/protobuf"
+ }
+ },
+ {
+ "pattern":"external/nanopb-c/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/nanopb-c"
+ }
+ },
+ {
+ "pattern":"external/grpc-grpc/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/grpc-grpc"
+ }
+ },
+ {
+ "pattern":"external/smali/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/smali"
+ }
+ },
+ {
+ "pattern":"external/zlib/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/external/zlib"
+ }
+ },
+ {
+ "pattern":"tools/analytics-library/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/analytics-library"
+ }
+ },
+ {
+ "pattern":"tools/external/go/src/golang.org/x/net/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/external/go/src/golang.org/x/net"
+ }
+ },
+ {
+ "pattern":"tools/external/go/src/golang.org/x/tools/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/external/go/src/golang.org/x/tools"
+ }
+ },
+ {
+ "pattern":"tools/vendor/google3/aswb/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/google3/aswb"
+ }
+ },
+ {
+ "pattern":"frameworks/native/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/frameworks/native"
+ }
+ },
+ {
+ "pattern":"frameworks/base/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/frameworks/base"
+ }
+ },
+ {
+ "pattern":"prebuilts/clang/darwin-x86/host/3.5/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/clang/darwin-x86/host/3.5"
+ }
+ },
+ {
+ "pattern":"prebuilts/clang/darwin-x86/sdk/3.5/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/clang/darwin-x86/sdk/3.5"
+ }
+ },
+ {
+ "pattern":"prebuilts/clang/linux-x86/host/3.6/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/clang/linux-x86/host/3.6"
+ }
+ },
+ {
+ "pattern":"prebuilts/clang/host/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/clang/host/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/clang/host/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/clang/host/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/cmake/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/cmake/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/cmake/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/cmake/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/cmake/windows-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/cmake/windows-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/maven_repo/android/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/maven_repo/android"
+ }
+ },
+ {
+ "pattern":"prebuilts/fullsdk/darwin/build-tools/21-darwin/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/fullsdk/build-tools/21-darwin"
+ }
+ },
+ {
+ "pattern":"prebuilts/fullsdk/darwin/platforms/android-21/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/fullsdk/platforms/android-21"
+ }
+ },
+ {
+ "pattern":"prebuilts/fullsdk/linux/build-tools/21-linux/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/fullsdk/build-tools/21-linux"
+ }
+ },
+ {
+ "pattern":"prebuilts/fullsdk/linux/platforms/android-21/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/fullsdk/platforms/android-21"
+ }
+ },
+ {
+ "pattern":"prebuilts/sdk/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/sdk"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8"
+ }
+ },
+ {
+ "pattern":"prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8"
+ }
+ },
+ {
+ "pattern":"prebuilts/go/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/go/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/go/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/go/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/go/windows-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/go/windows-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/google-breakpad/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/google-breakpad/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/google-breakpad/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/google-breakpad/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/google-breakpad/windows-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/google-breakpad/windows-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/libedit/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/libedit/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/libedit/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/libedit/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/libglog/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/libglog/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/libglog/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/libglog/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/libglog/windows-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/libglog/windows-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/libprotobuf/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/libprotobuf/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/libprotobuf/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/libprotobuf/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/libprotobuf/windows-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/libprotobuf/windows-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/ndk/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/ndk"
+ }
+ },
+ {
+ "pattern":"prebuilts/ninja/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/ninja/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/ninja/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/ninja/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/ninja/windows-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/ninja/windows-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/python/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/python/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/python/windows-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/python/windows-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/studio/jdk/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/studio/jdk"
+ }
+ },
+ {
+ "pattern":"prebuilts/studio/layoutlib/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/studio/layoutlib"
+ }
+ },
+ {
+ "pattern":"prebuilts/swig/darwin-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/swig/darwin-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/swig/linux-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/swig/linux-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/swig/windows-x86/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/swig/windows-x86"
+ }
+ },
+ {
+ "pattern":"prebuilts/tools/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/prebuilts/tools"
+ }
+ },
+ {
+ "pattern":"sdk/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/sdk"
+ }
+ },
+ {
+ "pattern":"tools/adt/idea/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/adt/idea"
+ }
+ },
+ {
+ "pattern":"tools/base/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/base"
+ }
+ },
+ {
+ "pattern":"tools/data-binding/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/frameworks/data-binding"
+ }
+ },
+ {
+ "pattern":"tools/external/fat32lib/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/external/fat32lib"
+ }
+ },
+ {
+ "pattern":"tools/external/gradle/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/external/gradle"
+ }
+ },
+ {
+ "pattern":"tools/gpu/src/android.googlesource.com/platform/tools/gpu/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/gpu"
+ }
+ },
+ {
+ "pattern":"tools/gradle/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/gradle"
+ }
+ },
+ {
+ "pattern":"tools/idea/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/idea"
+ }
+ },
+ {
+ "pattern":"tools/sherpa/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/frameworks/opt/sherpa"
+ }
+ },
+ {
+ "pattern":"tools/studio/google/cloud/tools/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/studio/google/cloud/tools"
+ }
+ },
+ {
+ "pattern":"tools/studio/google/cloud/testing/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/studio/google/cloud/testing"
+ }
+ },
+ {
+ "pattern":"tools/studio/google/login/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/studio/google/login"
+ }
+ },
+ {
+ "pattern":"tools/studio/google/play/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/studio/google/play"
+ }
+ },
+ {
+ "pattern":"tools/studio/google/samples/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/studio/google/samples"
+ }
+ },
+ {
+ "pattern":"tools/studio/google/services/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/studio/google/services"
+ }
+ },
+ {
+ "pattern":"tools/studio/google/appindexing/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/studio/google/appindexing"
+ }
+ },
+ {
+ "pattern":"tools/swing-testing/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/swing-testing"
+ }
+ },
+ {
+ "pattern":"tools/swt/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/swt"
+ }
+ },
+ {
+ "pattern":"tools/vendor/galvsoft/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/galvsoft"
+ }
+ },
+ {
+ "pattern":"tools/vendor/google/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/google"
+ }
+ },
+ {
+ "pattern":"tools/vendor/google3/blaze/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/google3/blaze"
+ }
+ },
+ {
+ "pattern":"tools/vendor/intel/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/intel"
+ }
+ },
+ {
+ "pattern":"tools/vendor/intellij/cidr/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/intellij/cidr"
+ }
+ },
+ {
+ "pattern":"tools/vendor/microsoft/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/microsoft"
+ }
+ },
+ {
+ "pattern":"tools/vendor/adt_infra_internal/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/adt_infra_internal"
+ }
+ },
+ {
+ "pattern":"prebuilts/studio/sdk/darwin/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/google_prebuilts/studio/sdk/darwin"
+ }
+ },
+ {
+ "pattern":"prebuilts/studio/sdk/linux/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/google_prebuilts/studio/sdk/linux"
+ }
+ },
+ {
+ "pattern":"prebuilts/studio/sdk/windows/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/tools/vendor/google_prebuilts/studio/sdk/windows"
+ }
+ },
+ {
+ "pattern":"vendor/google/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"platform/vendor/google"
+ }
+ },
+ {
+ "pattern":"bazel-out/[^/]+/(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android",
+ "root":"GENERATED/studio/bazel"
+ }
+ },
+ {
+ "pattern":"(.*)",
+ "vname":{
+ "path":"@1@",
+ "corpus":"googleplex-android"
}
}
]
diff --git a/linux-x86_64/kythe/studio/build_studio_kythe.sh b/linux-x86_64/kythe/studio/build_studio_kythe.sh
index a328cf4..c9c5ff7 100755
--- a/linux-x86_64/kythe/studio/build_studio_kythe.sh
+++ b/linux-x86_64/kythe/studio/build_studio_kythe.sh
@@ -10,7 +10,7 @@
# Get the output path for the kythe artifacts.
OUT="$1"
if [ -z "${OUT}" ]; then
- echo Usage: $0 \<out_dir\>
+ echo Usage: $0 \<out_dir\> [gcs_bucket]
echo e.g. $0 $HOME/studio_kythe
echo
echo $0 must be launched from the root of the studio branch.
@@ -19,15 +19,7 @@
OUT_ENTRIES="${OUT}/entries"
mkdir -p "${OUT_ENTRIES}"
-#TODO: read from file
-TARGETS="//prebuilts/studio/... \
- //prebuilts/tools/common/... \
- //tools/adt/idea/... \
- //tools/analytics-library/... \
- //tools/base/... \
- //tools/data-binding/... \
- //tools/idea/... \
- //tools/sherpa/..."
+TARGETS="$(cat tools/base/bazel/build_targets)"
# Build all targets and run the kythe extractor via extra_actions.
bazel build \
@@ -47,3 +39,9 @@
"${KINDEX}" > "${ENTRIES}"
fi
done;
+
+GSBUCKET="$2"
+if [ -n "${GSBUCKET}" ]; then
+ TIMESTAMP=$(date +'%s')
+ gsutil -m cp "${OUT_ENTRIES}/*" "${GSBUCKET}/${TIMESTAMP}/"
+fi
\ No newline at end of file
diff --git a/linux-x86_64/kythe/studio/manifest2vname.py b/linux-x86_64/kythe/studio/manifest2vname.py
new file mode 100755
index 0000000..a238acb
--- /dev/null
+++ b/linux-x86_64/kythe/studio/manifest2vname.py
@@ -0,0 +1,65 @@
+#!/usr/bin/python
+
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+"""Tool to generate vnames.json file for kythe from Android repo
+manifest. Needs to be run from repo root."""
+
+import xml.etree.ElementTree
+import json
+
+doc = xml.etree.ElementTree.parse('.repo/manifests/default.xml')
+manifest = doc.getroot()
+# fallback patterns to be added to tail of vnames.json
+tail = json.loads("""[
+ {
+ "pattern": "bazel-out/[^/]+/(.*)",
+ "vname": {
+ "corpus": "googleplex-android",
+ "root": "GENERATED/studio/bazel",
+ "path": "@1@"
+ }
+ },
+ {
+ "pattern": "(.*)",
+ "vname": {
+ "corpus": "googleplex-android",
+ "path": "@1@"
+ }
+ }
+]
+""")
+
+vnames = []
+# manifest xml contains <project path="" name=""> tags
+# we convert these into vname patterns that kythe understands.
+for project in manifest.findall('project'):
+ node = {}
+ node['pattern'] = "%s/(.*)" % project.get('path')
+ vname = {}
+ vname['corpus'] = 'googleplex-android'
+ vname['root'] = project.get('name')
+ vname['path'] = '@1@'
+ node['vname'] = vname
+ vnames.append(node);
+
+# add fallback vname patterns to end of json list.
+vnames.extend(tail)
+
+# print the json vnames list to stdout
+# can be used for debugging or pipe to vnames.json.
+print(json.dumps(vnames, indent=2, separators=(',', ':')))