Gradle - Удалить не работает - PullRequest
16 голосов
/ 13 марта 2012

Я хочу добавить некоторые дополнительные функции удаления к чистой задаче (для сборок Java).

Поэтому я пытаюсь добавить следующее в мой скрипт сборки gradle.

clean.doLast{
    delete ('test.txt')
}

Когда я настраиваю «чистую» задачу, мой пример файла не удаляется ... Я также не получаю сообщение об ошибке, указывающее, что произошло.

Если я попробую следующее:

task deleteStuff(type: Delete) {
    delete 'test.txt'
}

Вещи работают.

Могу ли я не добавлять (через doLast) функцию удаления в задачи? Как правильно это сделать (без взлома в задачах Ant).

Ответы [ 2 ]

18 голосов
/ 13 марта 2012

В этих двух фрагментах кода вы звоните не Project.delete(), а Delete.delete(). Другими словами, вы настраиваете задачу Delete. Делать это после выполнения задачи Delete (как в первом фрагменте) слишком поздно.

В случае задачи Delete нет веских оснований для добавления операции delete с doLast. Ваш второй фрагмент явно предпочтительнее. Для других задач подход doLast будет работать, потому что у них нет метода delete. Или вы можете устранить неоднозначность с project.delete().

1 голос
/ 20 января 2015

Если причина состоит в том, чтобы не тратить время на этапе подготовки (который выполняется для каждой задачи), doFirst можно использовать для настройки задачи удаления.Так что использование clean.doFirst вместо clean.doLast в приведенном выше примере будет работать.

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