Update Buck

$DEPS is now funny, it is an unexpanded string using the shell
variable $GEN_DIR. Upstream buck suggests using $(eval echo $DEPS)
to access the string value as $DEPS will not expand to the complete
file paths.

Instead of using eval modify our only use of $DEPS inside of the
GWT compiler helper to replace $GEN_DIR at the start of a string
with the value from the environment.

The JUnit support in Buck was updated recently and PrologTestCase
is being identified as a test to run. Rename its execution method
to prevent it from being identified as a test and push real call
down into the concrete base class.

Change-Id: Ic7e119cd26e72ee95e155e8507785c77b7692acf
diff --git a/gerrit-server/BUCK b/gerrit-server/BUCK
index c4539f6..f12fac1 100644
--- a/gerrit-server/BUCK
+++ b/gerrit-server/BUCK
@@ -58,13 +58,44 @@
   visibility = ['PUBLIC'],
 )
 
-java_test(
-  name = 'server_tests',
-  srcs = glob(['src/test/java/**/*.java']),
-  resources = glob(['src/test/resources/**/*']),
+PROLOG_TEST_CASE = [
+  'src/test/java/com/google/gerrit/rules/PrologTestCase.java',
+]
+PROLOG_TESTS = glob(
+  ['src/test/java/com/google/gerrit/rules/**/*.java'],
+  excludes = PROLOG_TEST_CASE,
+)
+
+java_library(
+  name = 'prolog_test_case',
+  srcs = PROLOG_TEST_CASE,
   deps = [
     ':server',
+    '//lib:junit',
+    '//lib/guice:guice',
+    '//lib/prolog:prolog-cafe',
+  ],
+  export_deps = True,
+)
+
+java_test(
+  name = 'prolog_tests',
+  srcs = PROLOG_TESTS,
+  resources = glob(['src/test/resources/com/google/gerrit/rules/**/*']),
+  deps = [
+    ':prolog_test_case',
     '//gerrit-server/src/main/prolog:common',
+  ],
+)
+
+java_test(
+  name = 'server_tests',
+  srcs = glob(
+    ['src/test/java/**/*.java'],
+    excludes = PROLOG_TESTS + PROLOG_TEST_CASE
+  ),
+  deps = [
+    ':server',
     '//gerrit-antlr:query_exception',
     '//gerrit-antlr:query_parser',
     '//gerrit-common:server',