如何获得';所有Java';从Gradle 4.10.3中带有Kotlin Gradle DSL的源集?

如何获得';所有Java';从Gradle 4.10.3中带有Kotlin Gradle DSL的源集?,gradle,kotlin,gradle-kotlin-dsl,maven-publish,Gradle,Kotlin,Gradle Kotlin Dsl,Maven Publish,我试图遵循Gradle4.10.2文档中的Maven发布指南,但由于都是在Groovy中,所以遇到了一些困难。下面是示例所说的操作: task sourcesJar(type: Jar) { from sourceSets.main.allJava classifier = 'sources' } task javadocJar(type: Jar) { from javadoc classifier = 'javadoc' } 下面是我想做的: tasks.

我试图遵循Gradle4.10.2文档中的Maven发布指南,但由于都是在Groovy中,所以遇到了一些困难。下面是示例所说的操作:

task sourcesJar(type: Jar) {
    from sourceSets.main.allJava
    classifier = 'sources'
}

task javadocJar(type: Jar) {
    from javadoc
    classifier = 'javadoc'
}
下面是我想做的:

tasks.register<Jar>("sourcesJar") {
    from(project(":core").sourceSets.allJava)
    classifier = "sources"
}

tasks.register<Jar>("javadocJar") {
    from(tasks["javadoc"])
    classifier = "javadoc"
}
tasks.register(“sourcesJar”){
from(project(“:core”).sourceset.allJava)
分类器=“源”
}
tasks.register(“javadocJar”){
来自(任务[“javadoc”])
分类器=“javadoc”
}

不幸的是,
allJava
返回未找到。在Gradle版本4.10.3的Kotlin Gradle DSL中,正确的方法是什么?

正确的
build.Gradle.kts
Kotlin DSL1.1.3的语法应该是:

插件{
`java库`
`马文出版社`
}
任务。注册(“sourcesJar”){
from(sourceset.main.get().allJava)
archiveClassifier.set(“源”)
}
tasks.register(“javadocJar”){
from(tasks.javadoc)
archiveClassifier.set(“javadoc”)
}
顺便说一句,
分类器
属性被标记为
@Deprecated
-您应该改用
archiveClassifier


[更新]

但是,Gradle4.10.3具有Kotlin DSL1.0-rc-6,因此
build.Gradle.kts
应该类似于:

插件{
`java库`
`马文出版社`
}
任务。注册(“sourcesJar”){
from(sourceset[“main”].allJava)
分类器=“源”
}
tasks.register(“javadocJar”){
来自(任务[“javadoc”])
分类器=“javadoc”
}