最終出力ファイルをGradleでビルドした後、私は2つのことをしたいと思います。ローカルのversion.propertiesファイルを更新し、最後の最終出力を特定のディレクトリにコピーしてアーカイブします。私がすでに説明した2つのメソッド、すなわちupdateVersionProperties()
とarchiveOutputFile()
を既に実装しているとしましょう。Gradleでタスクの依存関係やtask.doLastを使用する方が良いですか?
私はこれを行うための最善の方法です何...
オルタナティブA疑問に知っている:
assembleRelease.doLast {
updateVersionProperties()
archiveOutputFile()
}
オルタナティブB:
task myBuildTask(dependsOn: assembleRelease) << {
updateVersionProperties()
archiveOutputFile()
}
そして、ここに私がmyBuildTaskを呼ぶだろうの代わりにを使用してください。代替品と同様に、となります。
これをお勧めする方法は、どれですか?一方の利点は他にもありますか?いくつかの説明をお願いしますか。:)
これらのタスクの依存関係をどのように作成することをお勧めしますか?私は一つのタスクがプロジェクト全体をアセンブルすることを望みます(基本的には "assembleRelease'を"置き換える ")。そして、両方のタスクは' assembleRelease'の**実行が成功した後にのみ**実行されなければなりません。それらの間で、順序は本当に関係ありません。 –
'myBuildTask.dependsOn(updateVersionProperties、archiveOutputFile); updateVersionProperties.dependsOn(assembleRelease); archiveOutputFile.dependsOn(assembleRelease) ' –