3

build.gradle.ktsスクリプトから Ant タスクにアクセスするにはどうすればよいですか? 特に、私はそのant.patch仕事に興味があります。

延長してもいいですか?

task("patchSources", Patch::class) {

このように、他のタスクから呼び出すことはできますか?

task("patchSources") {
    doLast {
        ant.patch(...)
    }
}

Groovy でそれを行う方法を知っています: Gradle でパッチ ファイルを適用するにはどうすればよいですか?

4

2 に答える 2

2

これは私のために働く:

import org.apache.tools.ant.taskdefs.Patch

val patchConfigTask = task("patchConfig") {
    dependsOn(unzipTask)    

    doLast {
        val resources = projectDir.resolve("src/main/resources")
        val patchFile = resources.resolve("config.patch")

        Patch().apply {
            setPatchfile(patchFile)
            setDir(buildDir.resolve("config/"))
            setStrip(1)  // gets rid of the a/ b/ prefixes
            execute()
        }
    }
}

それが正しい方法かどうかはわかりません。

于 2016-11-25T10:55:15.037 に答える