build.gradle
ファイルに2つのgradleタスクがあります.1つはフォルダをアーカイブし、もう1つはリモートサーバーにプッシュします。私はgradle tarTask
とし、コメントアウトpublish
タスク単独でtarTaskを実行した場合依存関係として追加された場合、Gradleタスクが実行されない
task tarTask(type: Exec) {
commandLine 'tar', '-czf', 'javadocs.tgz', 'javadocs/'
}
、ビルドが成功します。 このタスクは、公開タスクの依存関係として使用しています。
task publish(dependsOn: tarTask) {
ssh.run {
settings {
knownHosts = allowAnyHosts
fileTransfer = 'scp'
}
session(remotes.webServer) {
from: 'javadocs.tgz', into: 'publishingHouse/'
}
}
}
しかし、私はgradle publish
を実行したとき、前のタスクが実行された場合に作成されている必要がありtgzファイルを見つけることができないことを言って失敗しました。
java.io.FileNotFoundException:javadocs.tgz私は私がここで行方不明です本当にわからないのGradleする新しいビーイング
。私が何をすることができるかについてのアイデア?
tarタスクでは何が「javadocs /」となりますか?それはタールがそのフォルダに保存されていることを意味しますか?おそらく、あなたは公開タスクで 'javadocs/javadocs.tgz'を使うべきでしょうか? – AdamSkywalker
@AdamSkywalker 'javadocs /'は、アーカイブするフォルダの名前です。つまり、 'javadocs'フォルダを' javadocs.tgz'としてアーカイブします。ですから、公開タスクでの作業はうまくいきます。ファイルが存在すれば正常に動作します。 –
gradle publishを実行すると、tarTaskが実行されたか、またはスキップされたというコンソールメッセージが表示されますか? – AdamSkywalker