如何使gradle绕过java类(输入)未更改的项目的测试任务

如何使gradle绕过java类(输入)未更改的项目的测试任务,gradle,build.gradle,Gradle,Build.gradle,我有一个多项目(>20)git存储库。当我执行gradle构建时,我只希望项目中的测试任务,其中java类(输入)自上次构建以执行以来发生了变化。我尝试将…/build/classes/main指定为测试任务的输入,将…/build/classes/test指定为测试任务的输出,认为gradle会检测到这些在构建之间没有变化,也不会执行测试任务,但运气不佳。我认为这应该是gradle的默认行为。您是否尝试过使用--info或--debug标志来尝试并了解Gradle认为需要执行测试的原因 除非问

我有一个多项目(>20)git存储库。当我执行gradle构建时,我只希望项目中的测试任务,其中java类(输入)自上次构建以执行以来发生了变化。我尝试将…/build/classes/main指定为测试任务的输入,将…/build/classes/test指定为测试任务的输出,认为gradle会检测到这些在构建之间没有变化,也不会执行测试任务,但运气不佳。

我认为这应该是gradle的默认行为。您是否尝试过使用
--info
--debug
标志来尝试并了解Gradle认为需要执行测试的原因

除非问题是多项目构建本身。如果您有A&B,B依赖于A,并且您更改了A,那么即使B没有更改,也会运行B的测试。然而,由于B的依赖关系发生了变化,所以执行它的测试可能是正确的


祝你好运。

是的,我在发布此信息后找到了信息,它确实有所帮助。事实证明,有一个manifest.mf文件在每次构建时都会被重建(其中唯一更改的是日期时间戳),这会导致重建java类的domino效应,从而导致所有测试重新运行。正在防止每次生成时重新创建manifest.mf文件。谢谢你的回答!一张赞成票和一个绿色的复选标记就足够了。