簡體   English   中英

從build.gradle獲取價值並編寫代碼

[英]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清單

另一種選擇是在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM