在多项目Gradle构建的根项目中编译Java文件

时间:2018-11-16 20:31:20

标签: java gradle

我需要使用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,该如何分配?

0 个答案:

没有答案