Update buck to the latest version

This version includes a lot of new features and improvements,
including:

* Switched to top-down-building, which should generally make builds
  faster. The old behavior can be bypassed by passing --deep on the
  command line [1]

* New query command was added (inspired by Bazel) [2]

* Performance improvement in file globbing

Extend tools/eclipse/project.py to pass the --deep option to ask Buck
to execute bottom-up build when generating the Eclipse project. This is
needed otherwise after using the buck clean command only the gerrit.war
file would be fetched from the cache and the buck-out/gen/lib folder
would remain empty.

With [3] genrule output is now namespaced with the genrule name. Adapt
documentation and references in the code to the new location of Buck
artifacts. Because of this change, `buck clean` must be issued after
Buck upgrade, otherwise the build would fail. The same prolem exists
when switching between branches: `buck clean` must be issued, otherwise
the build would fail.

Test plan:

* buck build release
* buck build api_install
* buck test
* install and verify new gerrit site
* upgrade and verify existing gerrit site
* reindex existing gerrit site
* verify that tools/eclipse/project.py produces sane Eclipse project
* verify that unit test execution from Eclipse works
* verify that daemon started from Eclipse works
* verify that GWT SDM debug session started from Eclipe works

[1] 217cec33bc
[2] https://buckbuild.com/command/query.html
[3] c92ef212b5

Change-Id: Ib3f22e70b7cb9eb9349618f2bcc018bf799c40f8
This commit is contained in:
David Ostrovsky
2015-09-14 17:46:28 +09:00
parent 057e94530c
commit f377aa96de
7 changed files with 17 additions and 17 deletions

View File

@@ -189,7 +189,7 @@ public abstract class PluginDaemonTest extends AbstractDaemonTest {
private Properties loadBuckProperties() throws IOException {
Properties properties = new Properties();
Path propertiesPath = gen.resolve("tools").resolve("buck.properties");
Path propertiesPath = gen.resolve(Paths.get("tools/buck/buck.properties"));
if (Files.exists(propertiesPath)) {
try (InputStream in = Files.newInputStream(propertiesPath)) {
properties.load(in);