[英]Using java variable in build.gradle
有什么方法可以在我的 build.gradle 版本字段中使用 java 变量,这样我每次进行新构建时都不需要手动更改构建脚本?
所以像这样
group = 'project_name'
version = <insert variable from java file>
sourceCompatibility = '1.8'
使用 Java 源文件来管理项目的版本是向后的。 您应该让您的构建系统(在本例中为 Gradle)来管理版本。 当您更新 Gradle 中的版本时,您应该以这样一种方式设置构建,以便新版本在整个项目中传播。
在构建脚本中,这很容易实现; 您只需在需要的任何地方引用version
属性。 这个概念与在应用程序中传递数据没有任何不同。 Remember that, in Gradle, the build script is written in Groovy or Kotlin and normal programming logic applies (the build script is essentially an object which implements both org.gradle.api.Project
and org.gradle.api.Script
).
更困难的部分是确保您的应用程序可以看到版本,而无需在构建脚本和源代码中更新版本。 但是,有多种方法可以实现这一点,例如:
processResources
Gradle 任务将项目的版本注入到所述属性文件中。 然后在运行时读取资源以获取应用程序版本。AppVersion.java
)。jar
Gradle 任务设置清单的Implementation-Version
属性。 然后在运行时读取此属性以获取应用程序的版本。compileJava
Gradle 任务设置模块版本。 然后您可以在运行时读取模块版本。 您可能还需要考虑将版本保留在gradle.properties
文件中,并将其从那里读入您的构建脚本(Gradle 为此提供了 API)。 这样,当您更新版本时,不必重新编译构建脚本(至少 Kotlin DSL 就是这种情况)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.