How to implement task inputs / outputs for non-local files without breaking the up-to-date mechanism?
I’m referring to what’s described in the Gradle manual at 15.8., Skipping tasks that are up-to-date. The responsible API for creating file collections, ‘Project.file(Object path)’, has been documented with Currently, only file: URLs are supported. for a long time already, and implementing custom objects derived from ‘java.io.File’ has turned out to be useless, as they are attempted to be converted back to vanilla files through normalization from their paths (‘getPath()’).
Is there a way to achieve this without re-implementing all or most of Gradle’s (local) file caching mechanisms?