I’ve got a fairly large project that is recompiling all source when any file changes:
When running gradle with --info, I see this:
Full recompilation is required because C:\Users\ac.gradle\caches\modules-2\files-2.1\org.renjin\methods\0.9.2687\33fb09ad3561d4a0ae8677f78f3fad1e121efd80\methods-0.9.2687.jar could not be analyzed for incremental compilation. See the debug log for more details. Analysis took 0.674 secs.
Running with --debug doesn’t appear to yield any additional information. The jar in question doesn’t seem to contain any .class files. Are there any strategies I could use to avoid full recompilation? A jar (org.renjin:renjin-script-engine:0.8.2247) required for compilation requires this jar. Thank you
In case someone else comes across something like this I was able to use exclude that particular jar from the compilation phase and include it for runtime.
If you use a newer Gradle version, there is more information.
I first tried with 7.6.3 as I had a project with it open and also did not get more information.
But if you try with 8.5, then you get the explanation.
In the jar are paths with colon (:) and while building on Windows, such paths are considered unsafe as it could be something like C:\asdf.
There are several files with colons in it in that file:
If you think that Gradle should be more lenient here, you should open a bug report on Gradle.
Either way it might be a good idea to report this problem to org.renjin.methods.
Maybe they are able to produce more compatible jars in the future that would also be usable with incremental Java compilation on older Gradle versions.