旧问题已过时(create version.txt file in project dir via build.gradle task)
我当前的任务:
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应用程序,但我认为这并没有太大改变。
答案 0 :(得分:0)
在您的任务exportVersion
中,您没有使用显示的警告中列出的所有不赞成使用的方法:也许这些警告与脚本的另一部分有关?
对于需要使用ObjectFactory.xyz
方法的不推荐使用的代码:您可以使用ObjectFactory
方法简单地获取Project.getObjects()
的实例,请参见https://docs.gradle.org/5.0-rc-3/javadoc/org/gradle/api/Project.html#getObjects--
例如,已弃用的代码,例如
project.layout.directoryProperty()
可以改写为:
project.getObjects().directoryProperty()