Gradle字符串替換

在Gralde中我們可以很方便的替換Manifest中的字符串:

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "myapp"]

但是,這種方式不適用于其他文件。

舉個栗子,首先要有個測試文件,Test.java:

public class Test {
    public static final String Str = "${TEST_KEY}";
}

然后build.gradle中添加函數(shù)和task:

def static replaceText(File file, String key, String value) {
    def fileText = file.text
    def regex = '\\$\\{' + key + '\\}'
    fileText = (fileText =~ /${regex}/).replaceAll(value)
    file.write(fileText)
}

task doSth {
    doLast {
        File file = new File("${projectDir}/Test.java")
        replaceText(file, 'TEST_KEY', 'this is test value')
    }
}

執(zhí)行task doSth:

$ ./gradlew -q doSth

最后Test.java的${TEST_KEY}就被替換了:

public class Test {
    public static final String Str = "this is test value";
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,634評論 19 139
  • Gradle配置最佳實(shí)踐 本文會不定期更新,推薦watch下項(xiàng)目。如果喜歡請star,如果覺得有紕漏請?zhí)峤籭ssu...
    Solang閱讀 1,767評論 0 4
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,278評論 6 342
  • 本文的書寫已經(jīng)是很早之前的事情了,只是把從新排版發(fā)了出來,有部分內(nèi)網(wǎng)資源以及找不到了,有興趣的同學(xué)可以根據(jù)原理補(bǔ)充...
    OliverGao閱讀 8,397評論 3 12
  • Gradle對于很多開發(fā)者來說有一種既熟悉又陌生的感覺,他是離我們那么近,以至于我每天做項(xiàng)目都需要他,但是他又是離...
    阿_希爸閱讀 9,716評論 10 199

友情鏈接更多精彩內(nèi)容