Как я могу настроить кеш сборки Gradle для нормализации окончания строк для файлов?
Я настроил кеш сборки Gradle для своего проекта Gradle; однако я вижу промахи в кеше из-за некоторых конкретных файлов между Linux (ci, wsl) и Windows.
Вот пример файла, который работает нормально, и файла, который не работает:
Окончания строк Windows в Windows
src/main/kotlin/com/example/myservice/Application.kt / 2cb571d81042a8f959e144defd9f18b8
src/main/resources/logback-spring.xml / 7e3ed1680c889bf1cc5450a0c6e8620f
Окончания строк Unix в Linux
src/main/kotlin/com/example/myservice/Application.kt / 2cb571d81042a8f959e144defd9f18b8
src/main/resources/logback-spring.xml / 09219d6006f7c1bc7de29d36fb706fad
Обратите внимание, что gradle вычисляет один и тот же хэш в Windows и Linux для файлов .
В этом примере это означает, что моя задача GradlecompileTestKotlin
пропускает кеш в Windows и его приходится перекомпилировать. В Linux я получаю попадание в кеш, и сборку не нужно перекомпилировать.
Единственная разница между этими файлами в обоих случаях — это окончания строк. Если я дерну на Windows, позвониdos2unix
on, чтобы преобразовать окончания строк в unix и перезапустить сборку, я получаю правильный хэш и получаю попадание в кеш для этой задачи.
Итак, gradle, похоже, правильно нормализует окончания строк дляApplication.kt
, но не дляlogback-spring.xml
.
Как я могу это исправить?