Update Buck

Latest version of buck is faster than the prior version used by
Gerrit.  No-op updates when loading a debug version of the UI now take
only 1.804s on my laptop (previously 7s) and a draft UI compile is
only 24.659s (previously 39s).

The slow acceptance tests must now be excluded with `--exclude slow`.
Buck changed the meaning of the -e option to be --emulator, which is
unfortunately useful only for Android application developers.

genrule() now needs to use $(exe) to reference the binary to run,
offers $(location) to make it easier to find files in the build tree.

The empty srcs array is no longer required for genrule().  Buck has
determined it is sufficiently powerful with $(location) and deps that
requiring srcs is unnecessary.

Supporting .src.zip files in the srcs array of java_library() means
Gerrit no longer needs to run a separate genrule() to extract files
produced by ANTLR, or call javac inside of the BuckPrologCompiler
support glue.

Change-Id: Ib03042921a081b867a7aad0423bd45523e42917a
diff --git a/BUCK b/BUCK
index 98a85a1..9a2a12e 100644
--- a/BUCK
+++ b/BUCK
@@ -16,7 +16,6 @@
 genrule(
   name = 'api',
   cmd = '',
-  srcs = [],
   deps = API_DEPS,
   out = '__fake.api__',
 )
@@ -38,8 +37,7 @@
 )
 genrule(
   name = 'extension-api-src',
-  cmd = 'ln -s $DEPS $OUT',
-  srcs = [],
+  cmd = 'ln -s $(location //gerrit-extension-api:api-src) $OUT',
   deps = ['//gerrit-extension-api:api-src'],
   out = 'extension-api-src.jar',
 )
@@ -66,16 +64,14 @@
 
 genrule(
   name = 'download',
-  cmd = '${//tools:download_all}',
-  srcs = [],
+  cmd = '$(exe //tools:download_all)',
   deps = ['//tools:download_all'],
   out = '__fake.download__',
 )
 
 genrule(
   name = 'download_sources',
-  cmd = '${//tools:download_all} --src',
-  srcs = [],
+  cmd = '$(exe //tools:download_all) --src',
   deps = ['//tools:download_all'],
   out = '__fake.download__',
 )