Gradle生成包含所有依赖项的源代码jar

时间:2018-06-15 11:08:47

标签: java

我已使用此任务成功生成了源代码jar:

task sourcesJar(type: Jar, dependsOn: classes) {

    classifier = 'sources'
    from project.sourceSets.main.allSource
}

但是,jar只包含顶级项目的源代码,而不是任何项目依赖项的源代码。 因此,我尝试调整代码来创建所有项目,顶级和依赖项的列表,并从中收集源代码:

task sourcesJar(type: Jar, dependsOn: classes) {

    classifier = 'sources'
    List<Project> projects = new ArrayList<>()
    projects.add(project)
    from project.configurations.runtime.dependencies
            .findAll { dependency -> dependency instanceof ProjectDependency }
            .each{ projects.add(it.getDependencyProject()) }
    from { projects.collect { it.sourceSets.main.allSource } }
}

但是,它不起作用,我得到一个错误,说它无法将某个子项目的名称转换为URL。如何更正上面的代码以使其按预期工作?

0 个答案:

没有答案