gpt4 book ai didi

gradle - 在 Gradle 中管理为项目生成的资源

转载 作者:行者123 更新时间:2023-12-03 05:41:09 26 4
gpt4 key购买 nike

我有一个 Gradle 项目,它在 /src/main/resources 中有很多资源文件夹。出于性能原因,必须在构建时从其他资源生成一些资源。所以我把所有东西都分成子项目:

/MainProj/src/main/java - The application
/MainProj/src/main/resources
/InternalProj/src/main/java - Code for generating additional resources for MainProj
/InternalProj/src/main/resources

当我使用特殊的 Gradle 任务运行 InternalProj 时,它会生成一些文件到 /InternalProj/output然后我将其复制到 /MainProj/src/main/resources .不用说,这真的很难看,我想知道如何以更好的方式做到这一点。我应该把它放到 build 的某个地方还是直接放到 /MainProj/src/main/resources 中? ?也许使用符号链接(symbolic link)?

编辑

我现在使用来自 /src/main/generated-resources 的相对符号链接(symbolic link)至 /build/something到目前为止它工作正常。但现在我有一个不同的问题:我有任务 A生成一些资源和任务 B这取决于这些资源,因此取决于 A .如果我运行 gradle Bgradle A B , B仍然会失败,因为 A 生成的资源没有更新到它的构建文件夹中。如何强制 Gradle 更新资源?

最佳答案

您可以添加 output文件到 InternalProj 的主要源集:

示例 Groovy 代码:

sourceSets {
main {
resources {
srcDirs "src/main/resources", "output"
}
}
}

相关答案: https://stackoverflow.com/a/38982006/3708426

关于gradle - 在 Gradle 中管理为项目生成的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52917206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com