1
bazel query
を使用して、利用可能なすべてのリモートリポジトリ(e.x. @com_google_protobuf)のリストを取得できますか?ワークスペースで利用可能なすべてのリポジトリのリストをどのようにクエリしますか?
bazel query
を使用して、利用可能なすべてのリモートリポジトリ(e.x. @com_google_protobuf)のリストを取得できますか?ワークスペースで利用可能なすべてのリポジトリのリストをどのようにクエリしますか?
正確にこれを取得する方法はわかりませんが、合成//external
パッケージを照会することで過剰近似を得ることができます。これには、外部リポジトリごとに1つのターゲットが含まれます。ただし、デフォルトでは他のターゲットがいくつか含まれています。
例://external:a
と//external:b
が結果に表示されていること
$ cat WORKSPACE
local_repository(name = "a", path = "a")
maven_jar(name = "b", artifact = "com.google.guava:guava:19.0")
$ bazel query //external:all
//external:local_jdk
//external:local_config_xcode
//external:local_config_cc
//external:jre-default
//external:jre
//external:jni_md_header-linux
//external:jni_md_header-freebsd
//external:jni_md_header-darwin
//external:jni_header
//external:jdk-default
//external:jdk
//external:javac
//external:java
//external:jar
//external:has_androidsdk
//external:extdir
//external:extclasspath
//external:cc_toolchain
//external:bootclasspath
//external:bazel_tools
//external:bazel_j2objc
//external:b
//external:android_sdk_for_testing
//external:android_ndk_for_testing
//external:android/sdk
//external:android/dx_jar_import
//external:android/crosstool
//external:a
注意。
アダムの答えを完成させるには:現時点でこれを行うには良い方法はありません。最良の見積もりは// external:*を照会することです。すべてのリポジトリのダウンロードを開始するよう注意してください。 また、native.existing_rules()を使用してリポジトリのリストをaファイルに書き込むレポジトリルールを記述することもできます。 –