diff options
author | Lukacs Berki <lberki@google.com> | 2016-01-20 13:48:43 +0000 |
---|---|---|
committer | Lukacs Berki <lberki@google.com> | 2016-01-20 14:11:02 +0000 |
commit | 6921642556d260954209e607f12237008f193517 (patch) | |
tree | eb4a9d1cd992139654e65bc2283ff4e00b6197d7 /scripts | |
parent | 4b73750eeffbf2404270859998a50f212ff4fee6 (diff) |
Make setup-eclipse.sh work somewhat again.
The generated project is not perfect, but this does unblock Manuel for the time being.
--
MOS_MIGRATED_REVID=112571724
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/get_project_paths.sh | 20 | ||||
-rwxr-xr-x | scripts/setup-eclipse.sh | 10 |
2 files changed, 14 insertions, 16 deletions
diff --git a/scripts/get_project_paths.sh b/scripts/get_project_paths.sh index 65ec5307bf..803ca579c7 100755 --- a/scripts/get_project_paths.sh +++ b/scripts/get_project_paths.sh @@ -18,10 +18,10 @@ set -eu # Build everything -bazel build ${TARGET} >&2 || exit $? +bazel build -- ${TARGET} >&2 || exit $? function query() { - bazel query "$@" + bazel query -k -- "$@" } # Find the bazel-workspaceName link @@ -43,10 +43,12 @@ function query_to_path() { | sed 's|^//||' | sort -u } +ACTUAL_TARGETS="set($(query $(echo ${TARGET} | sed 's/ \([^-]\)/ +\1/g')))" + # Now for java each targets, find all sources and all jars PATHS=$(query_to_path 'filter("\.java$", deps(kind("(java_binary|java_library|java_test|java_plugin)", - deps('"$TARGET"'))) + deps('"$ACTUAL_TARGETS"'))) except deps(//tools/...))') # Java Files: JAVA_PATHS=$(echo "$PATHS" | sed 's_\(/java\(tests\)\{0,1\}\)/.*$_\1_' | sort -u) @@ -55,10 +57,10 @@ JAVA_PATHS=$(echo "$PATHS" | sed 's_\(/java\(tests\)\{0,1\}\)/.*$_\1_' | sort -u PLUGIN_PATHS=$(query_to_path 'filter("\.jar$", deps(kind(java_import, deps(kind(java_plugin, - deps('"$TARGET"'))))) + deps('"$ACTUAL_TARGETS"'))))) except deps(//tools/...))') # Jar Files: -JAR_FILES=$(query_to_path 'filter("\.jar$", deps(kind(java_import, deps('"$TARGET"'))) +JAR_FILES=$(query_to_path 'filter("\.jar$", deps(kind(java_import, deps('"$ACTUAL_TARGETS"'))) except deps(//tools/...))') # Generated files are direct dependencies of java rules that are not java rules, @@ -66,13 +68,13 @@ JAR_FILES=$(query_to_path 'filter("\.jar$", deps(kind(java_import, deps('"$TARGE # We also handle genproto separately it is output in bazel-genfiles not in # bazel-bin. # We suppose that all files are generated in the same package than the library. -GEN_LIBS=$(query 'let gendeps = kind(rule, deps(kind(java_*, deps('"$TARGET"')), 1)) - - kind("(java_.*|filegroup|.*_binary|genproto|bind)", deps('"$TARGET"')) +GEN_LIBS=$(query 'let gendeps = kind(rule, deps(kind(java_*, deps('"$ACTUAL_TARGETS"')), 1)) + - kind("(java_.*|filegroup|.*_binary|genproto|bind)", deps('"$ACTUAL_TARGETS"')) - deps(//tools/...) - in rdeps('"$TARGET"', set($gendeps), 1) - set($gendeps)' \ + in rdeps('"$ACTUAL_TARGETS"', set($gendeps), 1) - set($gendeps)' \ | sed 's|^//\(.*\):\(.*\)|bazel-bin/\1/lib\2.jar:bazel-genfiles/\1|') # Hack for genproto -PROTOBUFS=$(query 'kind(genproto, deps('"$TARGET"'))' \ +PROTOBUFS=$(query 'kind(genproto, deps('"$ACTUAL_TARGETS"'))' \ | sed 's|^//\(.*\):\(.*\)$|bazel-bin/\1/lib\2.jar:bazel-bin/\1/lib\2.jar.proto_output/|') LIB_PATHS="${JAR_FILES} ${PROTOBUFS} ${GEN_LIBS}" diff --git a/scripts/setup-eclipse.sh b/scripts/setup-eclipse.sh index cd87e0c30b..15b6112adc 100755 --- a/scripts/setup-eclipse.sh +++ b/scripts/setup-eclipse.sh @@ -20,7 +20,8 @@ # set -eu -TARGET=//src/... +TARGET=$(echo //src/{main,java_tools,test/{java,cpp}}/... //third_party/... \ + -//third_party/ijar/test/... -//third_party/java/j2objc/...) JRE="JavaSE-1.8" PROJECT_NAME="bazel" OUTPUT_PATH="bazel-out/ide/classes" @@ -30,12 +31,7 @@ EXTRA_JARS="bazel-bazel/external/local-jdk/lib/tools.jar" cd $(dirname $(dirname "$0")) # Compile bazel -([ -f "output/bazel" ] \ - && [ -f "tools/jdk/JavaBuilder_deploy.jar" ] \ - && [ -f "tools/jdk/ijar" ] \ - && [ -f "tools/jdk/SingleJar_deploy.jar" ] \ - && [ -f "tools/jdk/GenClass_deploy.jar" ] \ - && [ -e "tools/jdk/jdk" ]) || ./compile.sh >&2 || exit $? +[ -f "output/bazel" ] || ./compile.sh >&2 || exit $? # Make the script use actual bazel function bazel() { |