2016-09-27 18 views
0

毎日更新されるデータがいくつか取得されますが、数秒かかる場合があります。ビルド時間を節約するために、私はそのタスクを1日に1回しか実行しません。私はgradleのdocsの最新のセクションを読んだが、私はまだこれを行う方法については明確ではない。1日目の最初のビルドでGradleタスクを実行する

答えて

2

は、その使用方法についての詳細は、日付プロパティ

task onceADay { 
    inputs.property("todaysDate", new Date().clearTime()) 
    outputs.upToDateWhen { true } 
} 

https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:task_input_output_runtime_apiを持つように入力を設定します。これは24時間ではないことに注意してください。それは一度カレンダーの日です。

+0

これは完璧です。これがどういう仕組みになっているのか、もう少し詳しく説明できますか? –

+0

これはうまくいかないようですが、何が起こっていると思われるのか少し拡大できますか? –

+0

@ZachSperske申し訳ありません、私はこれを忘れていましたが、今日の日付(1月の年)を値として 'todaysDate'プロパティを取得することになっています。そのタスクが実行されるたびに、gradleはその値をキャッシュします。そのタスクが呼び出された次回の時間が同じ値であれば、その入力はUP-DATEとみなされます。次の日付には、キャッシュされた日付とは異なる日付が取得され、タスクは_not_ UP-DATEになります。何が起きているのですか?それは翌日に実行されていない? – Aarjav

関連する問題