gradle - 通过 build.gradle 任务在项目目录中创建 version.txt 文件(gradle 5.0)
问题描述
旧问题已过时(通过 build.gradle 任务在项目目录中创建 version.txt 文件)
我目前的任务:
task exportVersion {
def file = project.layout.buildDirectory.file("version.txt")
def f = file.get().asFile
f.text = "$project.android.defaultConfig.versionName"
}
这是一个稍微重写的任务,以删除 gradle 5.0 的“不兼容”更改,但仍然显示警告:
DefaultSourceDirectorySet 构造函数已被弃用。这计划在 Gradle 5.0 中删除。请改用 ObjectFactory 服务来创建 SourceDirectorySet 的实例。
ProjectLayout.directoryProperty() 方法已被弃用。这计划在 Gradle 5.0 中删除。请改用 ObjectFactory.directoryProperty() 方法。
ProjectLayout.fileProperty() 方法已被弃用。这计划在 Gradle 5.0 中删除。请改用 ObjectFactory.fileProperty() 方法。
如何使用 ObjectFactory 重写任务?该项目是一个 Android 应用程序,但我认为这并没有太大的变化。
解决方案
在您的任务exportVersion
中,您没有使用显示的警告中列出的任何不推荐使用的方法:也许这些警告涉及您脚本的另一部分?
对于需要使用方法的已弃用代码:您可以简单地获取using方法ObjectFactory.xyz
的实例,请参阅https://docs.gradle.org/5.0-rc-3/javadoc/org/gradle/api/Project.html#getObjects --ObjectFactory
Project.getObjects()
例如,不推荐使用的代码
project.layout.directoryProperty()
可以改写为:
project.getObjects().directoryProperty()
推荐阅读
- azure - Azure VM上的Tomcat使用terraform?
- robotframework - Robot Framework:从文件中读取登录凭证
- java - Table View Javafx 无法正确显示数据。表中的数据是不可见的
- php - phpMyAdmin:无法使用 root 以外的用户登录
- angular - 更新查询参数复选框过滤器角度4
- go - 执行 RFC7523
- http - 为什么“未修改”是重定向(“3xx”)状态码?
- python - 通过 FEniCS 求解热方程
- python - 检查目标时出错:预期 dense_1 有 3 个维度,但得到了形状为 (118, 1) 的数组
- angular - 路由前的角度动画