Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过build.gradle任务(gradle 5.0)在项目目录中创建version.txt文件_Gradle - Fatal编程技术网

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

通过build.gradle任务(gradle 5.0)在项目目录中创建version.txt文件,gradle,Gradle,老问题过时了 我目前的任务: task exportVersion { def file = project.layout.buildDirectory.file("version.txt") def f = file.get().asFile f.text = "$project.android.defaultConfig.versionName" } 这是一个略微重写的任务,用于删除gradle 5.0的“不兼容”更改,但仍显

老问题过时了

我目前的任务:

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
中,您没有使用所示警告中列出的任何不推荐的方法:这些警告可能与脚本的另一部分有关

对于需要使用
ObjectFactory.xyz
方法的弃用代码:可以使用
Project.getObjects()
方法简单地获取
ObjectFactory
的实例,请参阅

例如,不推荐使用的代码,如

project.layout.directoryProperty() 
可以重写为:

project.getObjects().directoryProperty()