0

これは可能ですか?私は次のようなものを持っています:

task taskB(dependsOn: taskA) {
    // Do stuff.
}

task taskA {
    // Do stuff.
}

task runClass(dependsOn: 'classes', type: JavaExec) {
    main = 'com.some.package.MainClass'
    classpath = some.classpath
}

JavaExec タスクでtaskB前に実行したい。classesこれについてどうすればよいですか?に変更してもdependsOn: ['taskB', 'classes']効果がないようclassesです。

編集:

追加classes.dependsOn taskBはうまくいったようです。しかし、これが最善の方法ですか?

4

1 に答える 1

0

Gradle では、foo.dependsOn(bar, baz)に相当しfoo.dependsOn(bar); foo.dependsOn(baz)ます。Ant (ソフト依存関係機能を使用)の場合のように、との間の順序を意味するものではありません。barbaz

何が機能しているtaskBのか、なぜそれを前に実行する必要があると思うのかを説明できますclassesか?

編集:

以下のコメントに基づいて、私は次のようなことをします:

sourceSets.main.resources.srcDir "build/taskB" // output dir of taskB
processResources.dependsOn(taskB)

もちろん、これはさまざまな方法で改良できますが、基本は正しく理解できます。

于 2013-01-23T00:54:40.870 に答える