отменить исключение файла в пользовательской задаче jar - PullRequest
0 голосов
/ 26 июня 2018

В моем файле Gradle есть специальная задача для создания исполняемого (или жирного) фляги. Этот jar-файл должен содержать реализацию ведения журнала slf4j, чтобы при запуске jar-файла пользователь получал некоторую информацию. Поэтому я хочу, чтобы файл jar logback и файл конфигурации были включены в исполняемый файл jar. Однако я не хочу, чтобы ни один из них не появлялся в выходных данных встроенной задачи jar.

Я могу специально включить jar logback в исполняемый jar. Тем не менее я не могу исключить файл logback.xml из библиотеки JAR, а также исключить его в исполняемый файл JAR. Использование include("logback.xml") в задаче fatjar приводит к тому, что выходной jar содержит ТОЛЬКО файл XML и ничего больше!

Вот соответствующая часть моего файла сборки:

dependencies {
    runtime group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
}

task fatJar(type: Jar) {
    manifest {
        attributes 'Main-Class': 'MyClass'
    }
    baseName = baseName + "-executable"
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
    // include('logback.xml') //FAIL!
}

jar {
    // clients should configure slf4j themselves
    exclude('logback.xml')
}

Как я могу исключить logback.xml из обычной задачи jar, но включить ее в задачу fatJar?

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