5

プロジェクトの 1 つ (ProjectA) で、すべてのテスト クラスを含む jar ファイルを生成して、ProjectB で使用できるようにしようとしています。

私は少し調査を行い、これが可能な解決策であることがわかりました: gradle でテスト jar アーティファクトを作成します。つまり、次のコード スニペットでうまくいくはずです。

apply plugin: 'java'

task testJar(type: Jar) {
   classifier = 'tests'
   from sourceSets.test.classes
}

ただし、上記を my に追加するとbuild.gradle、次のエラー メッセージが表示されます。

  • 何が悪かったのか:

ルート プロジェクト 'gradle_project' の評価中に問題が発生しました。

タスク ':testJar' でプロパティ 'sourceSets' が見つかりませんでした。

詳細については、Google と Gradle の両方のドキュメントを検索しましたが、見つかった場所に文書化せずに削除されたか、間違って使用しています。私は後者を疑っていますが、何が間違っているのかわかりません。

セクション内で同じコード スニペットを試しましたsubprojects{}が、次のエラー メッセージが表示されました。

  • 何が悪かったのか:

ルート プロジェクト 'gradle_project' の評価中に問題が発生しました。

ソース セット テストで書き込み専用プロパティ 'classes' の値を取得できません。

4

1 に答える 1

5

以下の手順で解決しました。

ステップ 1: コード スニペットをsubprojects{}セクション内に移動する

ステップ 2:sourceSets.test.classes削除されました。sourceSets.test.outputトリックを行うようです。これを見つけました:テストバイナリのJarを作成する - Gradle

于 2012-05-31T14:12:00.243 に答える