gradle - 在 Gradle 扩展/复制期间,如何将不同文件夹中的辅助文件包含到主文件中?

标签 gradle groovy include copy

这是来自:How/Can I include secondary files into a file during gradle's expand/copy? 的后续行动

如果在文件夹"template"中,我有 2 个文件,Master.xml 和 Child.xml,在 Master.xml 中我有这一行:

${new File("$DESTDIR/templates/Child.xml").getText()}

Child.xml 已处理其 token 并包含在生成的 Master.xml 中。这非常有效。

但是,如果我将 Child.xml 放在不同的文件夹中,甚至是子文件夹:
${new File("$DESTDIR/templates/include/Child.xml").getText()}

然后 processResources 失败,提示找不到 Child。

摘要: ${....getText()} 适用于同一文件夹中的文件,但不适用于不同的文件夹。

关于如何克服这个问题的任何建议?

感谢您的帮助!

最佳答案

只有靠运气,我才找到解决办法。根本问题是文件夹和文件的提取顺序。

最初,我认为我可以通过使用“_1_ProcessFirst”、“_2_ProcessSecond”等感知排序顺序来控制文件夹。但隐含的排序被完全忽略了。我最终决定使用 A_... 和 Z_... 等,而且效果很好。

我不知道这是否是正确的解决方案,或者是否首选使用“包含”。我没有成功进行任何“包含”尝试。

下划线是否被忽略或特殊处理?理论上,_1_XXX 应该有效。

我希望这可以帮助其他人。

关于gradle - 在 Gradle 扩展/复制期间,如何将不同文件夹中的辅助文件包含到主文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42636959/

相关文章:

android - Android gradle问题(当前2.4必需2.8)Android Studio

android - Android Studio Gradle Analyze已损坏

android - 添加 phonegap-plugin-barcodescanner 后无法构建 cordova android projet

java - Android Studio 在尝试访问导入库中的方法时显示 "Cannot resolve symbol"

在 buildSrc 下找不到 gradle 插件依赖项

c++ - 我可以包含全局静态成员吗​​?

升级到 2.3.5 后不再调用 BootStrap 中添加的 Grails 事件方法

java - 无法将 Groovy 代码添加到现有 Maven Java 项目 "def cannot be resolved to a type"

c++ - 使包含多个类需要一个 header

html - Twig - 如何排除其他模板?