Corda has a script plugin in the buildSrc directory called CanonicalizerPlugin, which describes itself as:
Custom Gradle plugin that attempts to make the resulting jar file deterministic.
Ie. same contract definition should result when compiled in same jar file.
This is done by removing date time stamps from the files inside the jar.
However, Gradle supports deterministic jars already via these options to the Jar task:
preserveFileTimestamps = false
reproducibleFileOrder = true
so use these options instead, and then the CanonicalizerPlugin can DIE!
The CanonicalizerPlugin is used by the following modules:
i.e. the CorDapp modules. In fact, this "reproducible Jars" functionality should be part of the cordapp Gradle plugin!