gpt4 book ai didi

gradle - 重新编译过多的源代码

转载 作者:行者123 更新时间:2023-12-03 06:19:13 25 4
gpt4 key购买 nike

使用三个gradle步骤运行TeamCity构建时,我遇到了一个问题。

步骤是:组装,测试,上传文件。

Gradle在每个步骤执行时都会重新编译源代码(似乎必须-每个执行单独运行)-最终总共需要 10 分钟。一步执行任务时,仅需 3 分钟。

“测试”和“上传文件”步骤中的大多数日志输出都是最新的

:project-api:compileJava UP-TO-DATE

但在真正开始上传 Artifact 之前,仍然需要2分钟才能在“上传步骤”中进行所有多余的操作。

我不能只配置任务“dependsOn”,因为有时可以在没有“测试”等情况下进行“上传”。我试图增加 resolutionStrategy.cacheChangingModulesFor ,但似乎不是选择。

有没有办法避免任务执行拆分产生的这些开销?

最佳答案

正如评论中提到的那样,问题是由TeamCity构建步骤的分离引起的-每个步骤的执行都是隔离的,这就是为什么Gradle无法使用先前步骤中缓存的信息的原因。

我通过将这三个构建步骤合并到一个构建步骤并添加适当的dependsOn关系来解决了这一问题。如您所见,我想避免从UploadTest的依赖性,但是在这种情况下是不可能的。

关于gradle - 重新编译过多的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27483224/

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