Расширьте существующую задачу Gradle и переопределите конфигурацию.

StackOverflow https://stackoverflow.com//questions/25026632

  •  21-12-2019
  •  | 
  •  

Вопрос

Я хотел бы определить новую задачу под названием dbStatus который вызывает (или расширяет?) run, и просто переопределяет args свойство.

apply plugin: 'application'

run {
    args "server", "service.yml"
}


task(dbStatus, type: run) {
    args "db", "status", "service.yml
}

Это не работает, потому что "run" не является допустимым классом задач.Есть ли быстрый способ расширить задачу и просто переопределить свойство?

ОБНОВЛЯТЬ:Разрешение

К сожалению, мне пришлось просто определить совершенно новый JavaExec задачу и воссоздать логику, которая run настроен на выполнение.Вот что я придумал:

task(dbStatus, type: JavaExec) {
    main mainClassName
    classpath sourceSets.main.runtimeClasspath
    args "db", "status", "service.yml"
}

Я не думаю, что это точно то же самое, что run, поскольку он не работает против сборки jar Не верю, но для моих целей это работает.

Это было полезно?

Решение

Задачи не могут быть «расширены» таким образом.Вместо этого объявите другую задачу и настройте ее соответствующим образом.(Обычно настраивают несколько задач одновременно, чтобы избежать дублирования кода.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top