Подтвердить что ты не робот

Зачем запускать 'gradle clean'?

Зачем мне запускать gradle clean build вместо gradle build?

Из того, что я понимаю, Gradle может обнаруживать изменения в источнике и обновлять конечные артефакты, если это необходимо. Так зачем мне еще clean?

4b9b3361

Ответ 1

чистая задача определяется java-плагином и просто удаляет папку buildDir, тем самым очищая все, включая остатки предыдущих версий, которые больше не актуальны. Невыполнение этого может привести к нечистой сборке, которая может быть нарушена из-за сборки артефактов, созданных предыдущими сборками.

В качестве примера предположим, что ваша сборка содержит несколько тестов, которые были провалены, и вы решили, что они устарели, поэтому их необходимо удалить. Без очистки результатов теста (с помощью задачи cleanTest) или построения полностью (путем выполнения чистой задачи) вы столкнетесь с неудачными результатами тестов, которые приведут к сбою сборки. Подобные побочные эффекты могут возникать и с ресурсами/классами, удаленными из источников, но остающимися в папке сборки, которая не была очищена.

Ответ 2

Удаляет каталог сборки. (Сборка содержит выходные данные операции gradle) gradle clean demo

Ответ 3

Другие инструменты сборки, такие как buck, обнаружат, что некоторые тесты удалены и не будут запускать их без необходимости запуска чистой цели. Я думаю, что это ловушка gradle.