私はstackoverflowとgradleフォームを読みましたが、まだ困惑しています。ここでの最終的な目標は、いくつかのファイルをコピーした後、書き込み可能フラグを設定したいということです。そうしてください(ハーランフ!)。
ここに私が持っているものの概要があります:
task setPermissions (type : Exec) {
executable = 'chmod -R +w'
}
// ... a little while later ...
task('somethingElse') << {
// ... unrelated stuff ...
def String targetDir = "$aVar/theTarget"
// >> TASK CALL <<
setPermissions {
commandLine = [executable + " $targetDir"]
}
// but that doesn't work... this does...
proc = Runtime.getRuntime().exec("chmod -R +w $deployDir")
proc.waitFor()
}
「setPermissions」のバリエーションを試しました。
試行 1:
commandLine = 'chmod'
args = '-R', '+w'
その場合、setPermissions を呼び出したときにターゲット ディレクトリを「args」に追加しました。
試行 2:
commandLine = 'chmod -R +w'
その場合、setPermissions を呼び出したときに、ターゲット ディレクトリを「commandLine」に追加しました。また、それを唯一の「args」値にしようとしました。
試行 3:
commandLine = 'chmod', '-R', '+w'
その場合、setPermissions を呼び出したときに、ターゲット ディレクトリを「commandLine」に追加しました。また、それを唯一の「args」値にしようとしました。
では、Rt.gR.exec() は実行するのに、Exec タスクはこれを適切に実行しないというのは、ここで何が間違っているのでしょうか?