首页 > 解决方案 > 如何从字符串或类路径资源创建 RegularFileProperty?

问题描述

我正在创建一个配置另一个 Gradle 插件的 Gradle 插件。一项配置是提供RegularFileProperty实例。String如果我手头只有对象,如何创建此类接口的实例?还是与我的插件捆绑在一起的资源?

和我一起TextResourceresources.text.fromString(...)

        project.with {
            resources.text.fromString(buildscript.classLoader.getResource(resourceName).text)
        }

创建一个等效的片段是RegularFileProperty什么?如果唯一的方法是通过临时文件,我应该如何以及在哪里创建它?

标签: gradle

解决方案


ARegularFileProperty是一种提供程序,它允许您延迟提供 type 的值RegularFile。所以我认为您可能不是在问如何创建提供程序,而是如何使用 RegularFile 配置它。

ARegularFile代表文件系统上的一个固定文件。因此,如果您拥有的只是文件的内容,则需要将其作为文件保存在某个地方——最好是在构建文件夹中的某个地方。

您可以通过 setter 方法为提供程序配置新值。目前获取 的实例的方法并不多,但通常您可以通过ProjectLayoutRegularFile上的各种方法获取它:

myRegularFileProvider.set(project.layout.buildDirectory.file("myFile.txt"))

推荐阅读