我试图遵循Gradle 4.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"
}
不幸的是,找不到 allJava
返回。在Kotlin Gradle DSL For Gradle版本4.10.3中执行此操作的正确方法是什么?
答案 0 :(得分:1)
正确的build.gradle.kts
语法 1.1.3 应该是:
plugins {
`java-library`
`maven-publish`
}
tasks.register<Jar>("sourcesJar") {
from(sourceSets.main.get().allJava)
archiveClassifier.set("sources")
}
tasks.register<Jar>("javadocJar") {
from(tasks.javadoc)
archiveClassifier.set("javadoc")
}
顺便说一句,classifier
属性被标记为@Deprecated
-您应该改用archiveClassifier
。
[更新]
但是, Gradle 4.10.3 具有 Kotlin DSL 1.0-rc-6 ,因此{{1 }}应该像这样:
build.gradle.kts