Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Конфигурирование и запуск таска / 5 сообщений из 5, страница 1 из 1
24.07.2017, 13:22
    #39493931
aleks.eustace
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конфигурирование и запуск таска
Гуру Gradle - подскажите пожалуйста такой момент
Если я настраиваю свой таск например как

Код: java
1.
2.
3.
4.
5.
task cleanImages(type : clean) {
def tree = fileTree("$rootDir")
tree.include '*.png'
tree.each { it.delete() }
}



то каждый раз когда запускается ЛЮБОЙ таск вызывается метод внутри фиг скобок - потому что все это код для стадии coinfiguration.
Как правильно сделать код, чтобы на стадии конфигурирования была только настройка таска xleanImages, а собственно само удаление происходило только при вызове этого таска?

Пробовал так

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
task cleanImages(type : clean) {
def tree = fileTree("$rootDir")
tree.include '*.png'
}

cleanImages {
doLast {
tree.each { it.delete() }
}



Это правильно? То есть отработку конкретного действия вызываем методами doFirst() doLast() ?
...
Рейтинг: 0 / 0
24.07.2017, 20:56
    #39494215
fixxer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конфигурирование и запуск таска
Второй раз тот же вопрос.

В принципе правильно, но во-первых, можно короче:

Код: java
1.
2.
3.
4.
5.
6.
7.
task cleanImages(type : clean) {
  def tree = fileTree("$rootDir")
  tree.include '*.png'
  doLast {
    tree.each { it.delete() }
  }
}



Во-вторых, кто вам сказал, что есть такой таск clean? Есть таск Delete

task cleanImages(type: Delete) {
delete fileTree(dir: "$rootDir", include: '*.png')
}

учитесь читать документацию
...
Рейтинг: 0 / 0
25.07.2017, 13:25
    #39494557
aleks.eustace
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конфигурирование и запуск таска
А таск clear от плагина Java
https://docs.gradle.org/current/userguide/java_plugin.html#sec:clean
"The clean task is an instance of Delete."

- что означает? Почему мы не можем сделать extends этого таска?

task myClean(type: clean) {
}
...
Рейтинг: 0 / 0
25.07.2017, 14:44
    #39494625
fixxer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конфигурирование и запуск таска
Так определитесь, вы хотите сделать свой instance таска Delete, или отконфигурировать существующий в java плагине instance таска Delete c именем clean?

И по поводу можно/нельзя:

допустим в java написано
Код: java
1.
Delete clean = new Delete ();



Понятно почему можно отнаследоваться от класса Delete и нельзя от переменной clean? Ну вот в гредл примерно потому же.
...
Рейтинг: 0 / 0
28.07.2017, 16:44
    #39496830
aleks.eustace
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конфигурирование и запуск таска
Спасибо, теперь понял
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Конфигурирование и запуск таска / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]