RobolectricをBazelビルドシステムに設定する際に、いくつかの問題があります。これは、主に必要な依存関係があるためです。BazelにRobolectricを設定する
Robolectricとそのすべての依存関係を含む単一のJARがないようです。そのため、私は両方試してみた:
がRobolectric repoからJavaソースをコンパイルしたカスタムビルドファイルと私のワークスペースファイル内
new_git_repository
ルールを作成します。Downloading all JARs for Robolectric’s dependenciesを入力し、これらをテストルールに依存する
java_import
にバンドルします。最初のケースで
、私が提供GroovyクラスからJavaコードを生成しようとしている問題に走ったし、今でも手動で他のいくつかの依存関係を含める必要がありました。 2番目のケースでは、RobolectricのMavenDependencyResolver
が実行時に特定の依存関係を見つけることができないという問題がありました。これにより、見つからない依存関係のJARファイルを手動で組み込む必要があります。
これはBazelにRobolectricテストをコンパイルして実行させるのは面倒です。 BazelビルドシステムでRobolectricを使用する方が良い方法はありますか?
この[ブログ投稿](http://robolectric.org/blog/2017/03/01/hermetic-builds/)は、優れたリソースであるかもしれません。私はBazelを使って議論している[このgithubの問題](https://github.com/robolectric/robolectric/issues/2292)を読んだ後でそれを見つけました。 – zlalanne
FWIW、Bazelのファーストクラスの耐電力測定が行われています。 https://github.com/bazelbuild/bazel/issues/2080 – Adam