Мне нужно скомпилировать набор файлов в проекте в определенный файл 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
?