Как отлаживать правило java_library в сборке bazel?

Я покопался в вариантах и ​​исходном коде, но все еще не уверен, как отлаживать сборку bazel, в частности java.

Также кто-нибудь знает, как я могу изменить базел, собрать его локально и использовать в сборках для проверки. Я нашел вызов bazel: exec -a "$ 0" "$ {BAZEL_REAL}" "$ @"

где BAZEL_REAL - двоичный файл: /usr/local/Cellar/bazel/0.15.2/libexec/bin/bazel-real

Но это не объясняет подробно, как это начинается и как я могу его отладить ...

Например, можно ли подключиться и отладить com.google.devtools.build.lib.bazel.rules.java.BazelJavaLibraryRule при создании моего кода? Например, если я создам свой код с помощью Maven, я могу выполнить mvnDebug.

bazel build -s
➜  bazel git:(master) ✗ bazel build //examples/java-native/src/main/java/com/example/myproject:hello-world -s
BAZEL_REAL==/usr/local/Cellar/bazel/0.15.2/libexec/bin/bazel-real
INFO: Analysed target //examples/java-native/src/main/java/com/example/myproject:hello-world (15 packages loaded).
INFO: Found 1 target...
Target //examples/java-native/src/main/java/com/example/myproject:hello-world up-to-date:
  bazel-bin/examples/java-native/src/main/java/com/example/myproject/hello-world.jar
  bazel-bin/examples/java-native/src/main/java/com/example/myproject/hello-world
INFO: Elapsed time: 4.943s, Critical Path: 0.29s
INFO: 0 processes.
INFO: Build completed successfully, 2 total actions

person HoaPhan    schedule 13.10.2018    source источник
comment
Что вы имеете в виду под отладкой базеля? Вы имеете в виду отладку двоичного файла bazel или отладку того, как он обрабатывает написанное вами правило? Вы ищете что-то вроде bazel build -s?   -  person Andy Turner    schedule 13.10.2018
comment
Например, можно ли подключиться и отладить com.google.devtools.build.lib.bazel.rules.java.BazelJavaLibraryRule при создании моего кода? базель строит -s   -  person HoaPhan    schedule 13.10.2018
comment
См. Также: stackoverflow.com/a/52836468/7778502   -  person László    schedule 16.10.2018


Ответы (1)


не обращай на меня внимания, https://www.bazel.build/contributing.html#setting-up-your-coding-environment содержит нужную мне информацию.

В основном для начинающих

bazel --host_jvm_debug build //:*

порядок аргументов имеет значение. Например ниже НЕ будет работать

bazel build //:* --host_jvm_debug 

Чтобы отладить jvm рабочего, получите команду с помощью bazel build -s, затем добавьте параметры запуска удаленной отладки.

person HoaPhan    schedule 13.10.2018