通过build.gradle任务(版本5.0)在项目目录中创建version.txt文件

时间:2018-11-12 18:21:32

标签: gradle

旧问题已过时(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应用程序,但我认为这并没有太大改变。

1 个答案:

答案 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()