[英]Get value from `build.gradle` to code
我們有一個build.gradle
,其中定義了version
。 我需要實現一個版本端點(例如/version
)以獲取項目的版本。 build.gradle
這個version
屬性已經存在很長時間了,我無法將其移動到project.properties
文件中。 如何從Java代碼訪問此version
的值?
您可以通過多種方式將信息“植入”代碼中
首先,您可以使用清單文件,並從中讀取
jar {
manifest {
attributes(
"lib-version": version
}
}
另一種選擇是在jar任務之前將該信息添加到您的屬性文件中
task('addVersion') {
doLast {
//append the version here, see example
file("src/main/resources/props.properties").append("version=$version")
}
}
jar.dependsOn(addVersion)
我們的項目之一不僅需要版本信息,還需要構建時間等。我們使用帶有模板替換的復制任務。
task updateVersions(type: Copy) {
Properties props = new Properties()
props.load(new FileInputStream(file('build.properties')))
props.put("buildtime", new Date().format("dd MMM yyyy hh:mm aa"))
props.put("version", "${version}")
from project(':main').file('Version.tmpl')
into file('src/main/java').path
expand(props)
rename('Version.tmpl', 'Version.java')
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.