0

私は次のタスクがある大規模なビルド システムに取り組んでいます。

:runTests

:moduleA:installDebug
:moduleA:installTest

:moduleB:installDebug
:moduleB:installTest

:moduleA:uninstallAll

:moduleB:uninstallAll

プロジェクト/ビルド構造:

build.gradle
settings.gradle
   |
   - moduleA
        |
        - build.gradle
   |
   - moduleB
        - build.gradle

uninstallAll および install タスクは、Gradle android プラグインによって作成されます。

、、、 の順に実行さ:runTestsれる Exec 型の Gradle タスクにしたい。:moduleA:uninstallAll:moduleB:uninstallAllmoduleA:installDebugmoduleA:installTest

subproject最上位の build.gradle ファイルでクロージャーを使用して単一の runTests Exec コマンドを作成し、dependsOn を使用してアンインストールとインストールのタスクを最初に完了するように指定することで、これを構成しようとしています。

ただし、このアプローチは機能していないようです。プラグインによって作成されたタスクが見つからないか ( でリストされていてもgradlew tasks --all)、タスクによって実行されるビルドスクリプトが完全に無視されます。

この依存関係のチェーンを作成するためのベスト プラクティスは何でしょうか?

4

1 に答える 1

4

私の知る限り、Android プラグインはゲームの非常に遅い段階でタスクを作成するため、ロジックを でラップする必要があるかもしれませんgradle.projectsEvaluated { ... }

于 2013-08-06T21:00:21.287 に答える