This message was deleted.
# caching
s
This message was deleted.
n
I'm fighting with similar issues, but I'm hoping your issue may be easier. Have you tried running with
-Dorg.gradle.caching.debug=true
? My problem is the compiled code gets a different checksum, but yours may just be a property or path that you overlooked
i
hi, can you apply a diff in the jars?
d
mm I'm having a hard time reproing now, maybe when i ran on my local machine, the remote cache hadn't populated yet
but it's weird that they evaluate to different cache keys on the same commit
Copy code
Resulting cache key	aa8faf2680554bff91a31a63dcb6ea3e 0941a279cfa4845c5fcd0bb1350d20e2
i
if same commit produces different keys, I would try to isolate the investigation in the first task that experiences the cache miss for one of the types(ie
KaptGenerateStubsTask
), then I would say some of the configuration in CI is adding a different file property like BuildNumber or similar that is considered in the key calculation
1
d
got it.. actually I didn't include the very first entry. We use a composite build to build an internal plugin and the first task that is getting the cache mismatch is
org.jetbrains.kotlin.gradle.tasks.InspectClassesForMultiModuleIC
which uses an absolute path
Normalization: Absolute path, ignored empty directories, non-normalized line endings
Copy code
build A: /home/changd/code/android/gradle/gradle-plugin/plugin/build/classes/kotlin/main
build B: /Users/changd/code/android/gradle/gradle-plugin/plugin/build/classes/kotlin/main
nope that didn't do it
is it possible to transform the input files myself?
i
perfect, this covers the task type
InspectClassesForMultiModuleIC
, what about more expensive tasks like
KaptGenerateStubsTask
or
KotlinCompileWithWorkers
? I'm mentioning because the InspectClasses tasks usually are quite fast in terms of execution(< 1/2sec) and the original issue you pointed showed differences of classpath for Kotlin compiler/Kapt tasks
d
those seem to be annotated with
@get:Classpath
for the input fields
so i'm assuming that
InspectClassesForMultiModuleIC
is causing that initial chain reaction
i could turn my plugin into a jar and consume it that way
but if it's possible to update the input path at runtime.. i'd prefer that