次のようなビルドファイルを見る:
task busted(type: Copy){
from "${projectDir}/foo"
into projectDir
rename 'foo','bar'
expand(baz:'qux')
}
task alsoBusted(type: Copy){
from 'foo'
into projectDir
rename 'foo','bar'
expand(baz:'qux')
}
task moreBusted(type: Copy){
from projectDir
into projectDir
include 'foo'
rename 'foo','bar'
expand(baz:'qux')
}
task notBusted(type: Copy){
from 'foo'
into "${projectDir}/quux"
rename 'foo','bar'
expand(baz:'qux')
}
task surprisinglyNotBusted(type: Copy){
from 'quux'
into "${projectDir}/quux"
include 'foo'
rename 'foo','bar'
expand(baz:'qux')
}
同じディレクトリとの間でファイルをコピーすることは可能ですが (驚くべきことに NotBusted タスク)、projectDir との間でコピーすることはできないようです。これにより、大きなファット IOException がスローされます。
org.gradle.api.UncheckedIOException: java.io.IOException: 別のプロセスがファイルの一部をロックしているため、プロセスはファイルにアクセスできません
Copy を使用して単純なテンプレートを作成しようとしていますが、これは賢明ではないかもしれませんが、これが機能しない理由はありますか? それについてもっと良い方法はありますか?
ティア……