Могу ли я использовать `bazel cquery`, чтобы определить, какие правила` config_setting` активируются? - PullRequest
0 голосов
/ 11 марта 2020

У меня есть зависимая библиотека, которая неправильно выбирает config_setting.

Для дальнейшей отладки я попытался использовать функцию config из cquery документов, но она возвращает все потенциальные config_settings.

В частности, я попытался выполнить следующее: bazel cquery "config(deps(@openssl//:crypto), target)" --noimplicit_deps --bazelrc=build-scripts/windows/windows.bazelrc

Возвращено:

@openssl//:crypto (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@local_config_cc//:cc-compiler-k8 (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@local_config_cc//:local (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@openssl//:windows_x86_64 (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@bazel_tools//tools/cpp:toolchain_type (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@openssl//:mac_x86_64 (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@openssl//:linux_ppc64le (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)
@openssl//:android (aa65f203efeb0a68bcf0a0d51b3259145cb8e2c6bf209950206fe2bfb21381b5)

Как лучше всего определить, как Базель выбирает config_setting ? Это запрос?

Я ожидал, что моя команда выше не вернет никаких правил сборки, связанных с настройками конфигурации ma c, linux и android. Просто windows.

1 Ответ

0 голосов
/ 13 марта 2020

Я обнаружил, что лучшим решением для моих нужд было бы запустить cquery для интересующей меня цели, а затем проверить настроенные файлы сборки (output=build в cquery), чтобы увидеть, какие значения выбирались операторами select ,

Было бы неплохо иметь возможность увидеть какой-то процесс «разрешения настроек конфигурации» в журналах. Но это делает работу на данный момент.

...