java - 执行任务时如何将变量写入gradle属性文件?

标签 java gradle

我身边就有这样的案例。我需要在每次使用 gradle 发布版本后保存当前日期。是否有可能将日期保存到 gradle.properties 文件中,以便我可以在下一个构建作业中读取它?

我的文件: gradle.属性:

version=0.0.1
date=

构建.gradle:

task changeDate() {
    file = new File("changelogs/CHANGELOG_RELEASE_FROM_"+getDate()+".md");
    project.setProperty("date",getDate());
}

它不起作用,并且不会将日期变量保存到 gradle.properties 中。

所以我希望我的 gradle.properties 文件中可以有一个发布日期:

gradle.属性:

version=0.0.1
date=12.04.2019

最佳答案

方法getPropertyfindPropertysetPropertygradle.properties文件没有直接关系。相反,它们提供对 Project 范围内的属性的访问。评估 build.gradle 的实例。此范围包括许多不同的属性,其中包括所谓的额外属性(来自gradle.properties文件)。

但是,Gradle 为该功能提供了一个名为 WriteProperties 的任务类型。 。只需指定目标文件并定义一些属性即可:

task changeDate(type: WriteProperties) {
    outputFile = file('gradle.properties')
    property 'date', getDate()
}

关于java - 执行任务时如何将变量写入gradle属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55650241/

相关文章:

android - Gradle Kotlin DSL : Inspection "Newer Library Versions Available" not working

gradle - Android Studio & Gradle : Adding external classes to build path

android - 从 Gradle 中的 Android 库 jar 中排除 BuildConfig.class

java - 如何创建传递对象实现接口(interface)的方法?

Java项目布局——能简单点吗?

java - 使用 Java 和 Oracle 数据库时出现奇怪的唯一约束错误

java - Eclipse (Java) 中未找到源错误

java - Gradle 无法加载 Google playServicesVersion

java - 多态性 vs 覆盖 vs 重载

java - 拒绝在颜色类型中添加参数