Компиляция Java-файлов в корневом проекте мультипроектной сборки Gradle - PullRequest
0 голосов
/ 16 ноября 2018

Мне нужно скомпилировать набор файлов в проекте в определенный файл JAR с помощью Gradle.Это многопроектная сборка.Задачи сборки находятся в родительском файле сборки.

У меня есть задача, которая копирует Java-файл в каталог.Файл этой задачи работает.

task copyCoreSharedFiles(type: Copy) {
    includeEmptyDirs = false
    from ('<file path of source files>')
    <included files here>

    <excluded files here>
    into  rootProject.rootDir.getAbsolutePath() + "/target" + "/coreshared"
    println 'Copied core-shared files into directory'
}

Это задача компиляции:

apply plugin: 'java'

task compileCoreShareJar(type: JavaCompile) {
    source = file('/target/coreshared')
    destinationDir = file('/target/buildtmp/core')
    classpath = configurations.compile
    println 'Compiled core-shared files into directory'
}

Когда задача компиляции находится в одном из подпроектов, она работает нормально.Но когда я перемещаю его в корневой проект, эта задача не выполняется.Там нет ошибки.Каталог назначения создается, но там нет файлов классов, и создается jar (другая задача не показана), но в jar есть только файл манифеста, но нет файлов классов.У меня есть плагин применения в закрытии allprojects.Я думаю, что атрибут classpath установлен неправильно.Как мне присвоить это значение, если оно не configuration.compile?

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