私はgradleでzipを使用しようとしていますが、これを「webserver」プロジェクトのセクションに追加するまで、ビルドは正常に機能していました(おそらく、私の質問は、その前にタスクがなくてもコピーが機能するのはなぜですか?????. ..zipの前にタスクが必要で、下にコピーが必要ない場合、copyとzipの違いに本当に混乱しています)
assemble << {
zip {
from '.'
includes ['app/*','conf/*','public/*','play-1.2.4/*','run*.sh']
}
}
エラーは
- 問題: タスク ':webserver:assembly' の実行に失敗しました。
タスク ':webserver:assembly' の引数 [build_3nljqgmljp29v06751h102sq8b$_run_closure3_closure16_closure18@7cc8e407] のメソッド zip() が見つかりませんでした。
copy { from fixedLibDir into genLibDir }
また、ドキュメンテーションにあるように、ドキュメンテーションに本当に混乱しています。ほとんどの場合、
task myZip(type: Zip) {
}
毎回新しいタスクを作成するのではなく、zipタスクを呼び出したいだけなので、ドキュメントの例は非常に悪いようです...それらは、新しいタスクを作成せずにzipタスクを使用する例である必要があります(結局のところ、作成したい人既に存在する場合の新しい zip タスク??) または、ここに何か不足していますか? いずれにせよ、gradle を使い始めたとき、それは私を混乱させました。他の人を混乱させると思います。それを使用することと、新しいものを定義することの両方を示すのはいいことかもしれません (ただし、新しいものを定義する理由はまだわかりません)。
詳細情報/更新: 実行されるこのコードも試してみましたが、出力メッセージが表示されますが、期待どおりに webserver/output/libs ディレクトリに zip ファイルが表示されませんか???
assemble << {
println "I'm zipping up now"
task zip(type: Zip) {
from('.') {
fileMode = 0755
include 'run*.sh'
include 'app/*'
}
}
}
後、ディーン