【问题标题】:create version.txt file in project dir via build.gradle task(gradle 5.0)通过 build.gradle 任务在项目目录中创建 version.txt 文件(gradle 5.0)
【发布时间】:2019-04-15 12:23:19
【问题描述】:

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

【问题讨论】:

    标签: gradle


    【解决方案1】:

    在您的任务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() 
    

    【讨论】:

      猜你喜欢
      • 2016-11-11
      • 2018-02-18
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      • 2017-11-03
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多