I have two separate Java projects, A at D:\trunk\A and B at D:\trunk\B which both use some common subprojects located in the folder D:\trunk\common\SUBPROJECT1, D:\trunk\common\SUBPROJECT2 etc.
When I perform successive builds without source change of project A, all tasks performing builds of common subprojects are up-to-date and gradle does not execute them.
However, when I perform the build of project B that was built in the past and has not changed since, some common subprojects get rebuild, despite the fact that no actual changes to the common subprojects were made. Info output for the tasks that are supposedly not up-to-date is:
:SUBPROJECT1:jar (Thread[Daemon worker Thread 5,5,main]) started. :SUBPROJECT1:jar Putting task artifact state for task ':SUBPROJECT1:jar' into context took 0.0 secs. Task :SUBPROJECT1:jar class loader hash: 83f3637f6805a7b149525a93c5faad58 Task :SUBPROJECT1:jar actions class loader hash: fde60ab3b9776111ebd9bf87f24df716 Executing task ':SUBPROJECT1:jar' (up-to-date check took 0.058 secs) due to: Output property 'archivePath' file D:\trunk\common\SUBPROJECT1\build\libs\A-9.12.296.jar has changed.
I have output the property ‘archivePath’ of the SUBPROJECT1 when building A and when building B and it hasn’t changed, in both cases it was "D:\trunk\common\SUBPROJECT1\build\libs\SUBPROJECT1-9.12.296.jar"
There are also other tasks in subprojects that are not up-to-date with the reports like:
:SUBPROJECT3:compileJava (Thread[Daemon worker Thread 5,5,main]) started. :SUBPROJECT3:compileJava Putting task artifact state for task ':SUBPROJECT3:compileJava' into context took 0.0 secs. Task :SUBPROJECT3:compileJava class loader hash: 83f3637f6805a7b149525a93c5faad58 Task :SUBPROJECT3:compileJava actions class loader hash: d883a18cf154fc57e90f4d3fa9e5588f Executing task ':SUBPROJECT3:compileJava' (up-to-date check took 0.062 secs) due to: Input property 'classpath' file D:\trunk\common\SUBPROJECT1\build\libs\SUBPROJECT1-9.12.296.jar has changed.
Any ideas, why gradle detects these tasks as not up-to-date, even though the actual properties haven’t changed?