我需要使用Gradle将项目中的一组文件编译为特定的jar文件。这是一个多项目构建。构建任务位于父构建文件中。
我有一个将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
闭包中有apply插件。
我认为classpath属性设置不正确。
如果该值不是configuration.compile
,该如何分配?