相對較新的java和gradle - 試圖做事「正確」。在構建我的應用程序之前(我已經添加了gradle「application」插件)我想設置一些環境和系統的東西 - 例如,我想創建log /目錄和log.txt文件。Gradle「設置」任務(預編譯/編譯/ jar)
所以我做這樣的事情:
task setup {
println 'Setup task executing ...'
File d = new File('log');
d.mkdir();
f = new File(d.getPath() + '/log.txt');
f.createNewFile();
}
其中一期工程 - 但在運行時,我得到了一堆標準輸出的警告>設置的gradle
Setup task executing ...
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "f" on "task ':setup'", value: "log/log.txt".
:setup UP-TO-DATE
所以一個問題:什麼是正確的方式來利用Gradle執行設置/安裝任務? (這應該只在應用程序部署時真正執行一次)
這個具體的警告 - 「按需性能過時」 - 是由代碼中的未變量變量「f」造成的。效果如下:「f」被創建爲當前Project對象的「擴展名」變量。你應該聲明一個局部變量或使用project.ext來消除這個警告。 – akhikhl