From f160dddd3d50e99754f3551a6bcb548f5eb237b0 Mon Sep 17 00:00:00 2001 From: Cedric Champeau Date: Thu, 2 Mar 2017 13:03:31 +0100 Subject: [PATCH] Add test case to show that we can still avoid compiling if no constant was changed --- ...ncrementalJavaCompilationIntegrationTest.groovy | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/subprojects/language-java/src/integTest/groovy/org/gradle/java/compile/incremental/AbstractCrossTaskIncrementalJavaCompilationIntegrationTest.groovy b/subprojects/language-java/src/integTest/groovy/org/gradle/java/compile/incremental/AbstractCrossTaskIncrementalJavaCompilationIntegrationTest.groovy index 1b9556e9a78e..5e7b5dea3f7b 100644 --- a/subprojects/language-java/src/integTest/groovy/org/gradle/java/compile/incremental/AbstractCrossTaskIncrementalJavaCompilationIntegrationTest.groovy +++ b/subprojects/language-java/src/integTest/groovy/org/gradle/java/compile/incremental/AbstractCrossTaskIncrementalJavaCompilationIntegrationTest.groovy @@ -714,4 +714,18 @@ abstract class AbstractCrossTaskIncrementalJavaCompilationIntegrationTest extend impl.recompiledClasses 'B' } + + def "detects that changed class still has the same constants so no recompile is necessary"() { + java api: ["class A { public static final int FOO = 123;}"], + impl: ["class B { void foo() { int x = 123; }}"] + impl.snapshot { run "compileJava" } + + when: + java api: ["class A { public static final int FOO = 123; void addSomeRandomMethod() {} }"] + run "impl:compileJava" + + then: + impl.noneRecompiled() + } + }