首页 文章

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

提问于
浏览
5

旧问题已过时(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

    在您的任务 exportVersion 中,您不使用显示的警告中列出的任何弃用方法:这些警告可能涉及脚本的另一部分吗?

    对于需要使用 ObjectFactory.xyz 方法的已弃用代码:您可以使用 Project.getObjects() 方法简单地获取 ObjectFactory 的实例,请参阅https://docs.gradle.org/5.0-rc-3/javadoc/org/gradle/api/Project.html#getObjects--

    例如,弃用的代码就像

    project.layout.directoryProperty()
    

    可以改写为:

    project.getObjects().directoryProperty()
    

相关问题