2017-06-27 5 views
1

Ich versuche, die Anweisungen für die Mitwirkenden hier zu folgen:gtest Abhängigkeit für Bazel java_tools bauen?

https://bazel.build/contributing.html

ich aus der Master einen erfolgreichen Build (dh bazel // src bauen: bazel), aber der Doc schlägt auch „Sie vielleicht um die verschiedenen Werkzeuge zu bauen, die Bazel benutzt. " Ich versuche, das zu tun, zum Beispiel:

cd src/java_tools/singlejar 
bazel build //... 

aber es funktioniert nicht mit:

ERROR: /Users/.../bazel/third_party/protobuf/3.2.0/BUILD:621:1: no such target '//external:gtest': target 'gtest' not declared in package 'external' defined by /Users/plaird/scone/public/bazel/WORKSPACE and referenced by '//third_party/protobuf/3.2.0:test_plugin'. 

Muss ich Gtest lokal bauen müssen, und dann fügen Sie es dem Workspace-Datei?

Antwort

1

bazel build //..., egal wo Sie es aufrufen, baut alles im Projekt. Es sieht so aus, als ob Sie wahrscheinlich wollen, ist bazel build //src/java_tools/singlejar/..., die alle Ziele unter diesem Verzeichnis erstellen wird.

Im Allgemeinen müssen Sie Singlejar wahrscheinlich nicht separat kompilieren. Ich arbeite seit mehreren Jahren an Bazel und in 99% der Fälle muss man die Werkzeuge nicht extra bauen.

In Bezug auf den Fehler, den Sie bekommen, wäre es schön, wenn wir //... Gebäude bekommen könnten, aber es war nicht eine große Priorität. Der Aufbau des Protobuf-Codes ist komisch und ich empfehle nicht, ihn zu debuggen, sondern einfach in das zu springen, woran du wirklich arbeiten willst.