Я упаковываю свое приложение java с помощью плагина Gradle's Distribution. Я хотел сделать 2 дистрибутива, один из которых не содержит JRE, а другой - JRE с приложением. Я настроил задачу copyJre
и хотел, чтобы плагин Distributions включал папку (jre-8 в приведенном ниже примере) только тогда, когда задача copyJre
находится в графе задач. Вот моя попытка, которая не работает.
distributions {
main {
contents {
from('/') {
include 'tools/**'
}
// my attempt to conditionally copy
// jre-8 directory only when tasks graph contains
// a task named 'copyJre'
if (tasks.findByName('copyJre') != null) {
from('../../jre-dist/') {
include 'jre-8/**'
}
}
}
}
}
Вероятно, в целом должен быть лучший подход. Это похоже на кладжи.