Gradle: Exécuter un processus externe depuis une tâche gradle
Publié le 28 September 2020
Gradle-Kotlin-DSL:
open class PrintHerokuVersion : Exec() {
init {
this.workingDir = project.rootDir
this.commandLine("/snap/bin/heroku", "-v")
this.standardOutput = ByteArrayOutputStream()
}
}
project.tasks.register<PrintHerokuVersion>("printHerokuVersion")
project.tasks.withType<PrintHerokuVersion> {
doLast { logger.info(standardOutput.toString()) }
}
Pour exécuter la tâche:
$ ./gradlew pHV
Gradle-Groovy-DSL:
task printHerokuVersionGroovy(type: Exec) {
workingDir(project.projectDir)
commandLine("/snap/bin/heroku", "-v")
standardOutput = new ByteArrayOutputStream()
doLast {
logger.info(standardOutput.toString())
}
}
Pour exécuter la tâche:
$ ./gradlew pHVG