gradle - 如何从字符串或类路径资源创建 RegularFileProperty?
问题描述
我正在创建一个配置另一个 Gradle 插件的 Gradle 插件。一项配置是提供RegularFileProperty
实例。String
如果我手头只有对象,如何创建此类接口的实例?还是与我的插件捆绑在一起的资源?
和我一起TextResource
做resources.text.fromString(...)
project.with {
resources.text.fromString(buildscript.classLoader.getResource(resourceName).text)
}
创建一个等效的片段是RegularFileProperty
什么?如果唯一的方法是通过临时文件,我应该如何以及在哪里创建它?
解决方案
ARegularFileProperty
是一种提供程序,它允许您延迟提供 type 的值RegularFile
。所以我认为您可能不是在问如何创建提供程序,而是如何使用 RegularFile 配置它。
ARegularFile
代表文件系统上的一个固定文件。因此,如果您拥有的只是文件的内容,则需要将其作为文件保存在某个地方——最好是在构建文件夹中的某个地方。
您可以通过 setter 方法为提供程序配置新值。目前获取 的实例的方法并不多,但通常您可以通过ProjectLayoutRegularFile
上的各种方法获取它:
myRegularFileProvider.set(project.layout.buildDirectory.file("myFile.txt"))
推荐阅读
- java - 无法绑定“spring.jackson.deserialization”下的属性
- pytorch - Pytorch 中 np.multiply.at 的等价物
- reactjs - 我不确定为什么我的状态在这段代码中没有增加
- nginx - Nginx - 如果 $request_uri 存在 proxy_pass 一个 url,否则另一个 url
- python - 如何访问在另一个文件的线程中运行的文件的变量?
- azure-active-directory - 从访问包站点中排除 MFA
- r - 如何使用 R data.table fwrite 将格式错误的标题行写入 csv?
- html - 形式从主体继承颜色。帮助表示赞赏
- sapui5 - 警告使用新的异步工厂'sap.ui.core.mvc.Controller.create(...)'
- jmeter - 通过 httpclient4 实现配置 Jmeter 采样器时 CPU 使用率比 Java 实现少得多