Функция Gradle "Stale output files" удаляет все мои скомпилированные классы Java - PullRequest
0 голосов
/ 01 апреля 2019

В настоящее время я работаю над довольно крупным монолитным Java-проектом, созданным с помощью ANT, и пытаюсь восстановить его с помощью Gradle.

Я определил некоторые исходные наборы и задачи для компиляции всего проекта. Существует много зависимостей между компонентами и иногда они также компилируют классы в один и тот же каталог / подкаталоги.

Проблема в том, что очень часто при компиляции исходных наборов удаляются некоторые классы, которые уже скомпилированы другими исходными наборами. Я предполагаю, что это связано с этой функцией https://docs.gradle.org/4.2-rc-1/release-notes.html#safer-handling-of-stale-output-files, но мне не удается заставить ее работать с использованием правильного input / output.dir

Можно ли деактивировать удаление файлов, которые считаются безопасными для удаления с помощью Gradle? Например, для моего полного каталога скомпилированных классов?

Большое спасибо.

Пример удаления:

sourceSetX{
        java {
            srcDirs = ['src/']
            include "path/to/sourceSetsX/subdirectory/"
            outputDir = file('classes')
        }
    }

> Task :compileSourceSetXJava
Deleting stale output file: C:/path/to/project/classes
...

Например, этот sourceSet компилируется в подкаталоге, но удаляет весь каталог outputDir.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...