Build: Add modularJar helper

This commit is contained in:
Vyacheslav Gerasimov
2020-04-29 19:49:35 +03:00
parent 4925ca2c9a
commit e3f1ddefd0
2 changed files with 25 additions and 16 deletions
+22
View File
@@ -176,6 +176,28 @@ fun Project.javadocJar(body: Jar.() -> Unit = {}): TaskProvider<Jar> {
return javadocTask
}
fun Project.modularJar(body: Jar.() -> Unit): TaskProvider<Jar> {
val modularJar = configurations.maybeCreate("modularJar").apply {
attributes {
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME))
}
}
val modularJarTask = getOrCreateTask<Jar>("modularJar") {
archiveClassifier.set("modular")
body()
}
addArtifact("modularJar", modularJarTask)
addArtifact("archives", modularJarTask)
val javaComponent = components.findByName("java") as AdhocComponentWithVariants
javaComponent.addVariantsFromConfiguration(modularJar) { }
return modularJarTask
}
fun Project.standardPublicJars() {
runtimeJar()
+3 -16
View File
@@ -39,12 +39,6 @@ embedded.isTransitive = false
configurations.getByName("compileOnly").extendsFrom(embedded)
val mainJar by configurations.creating
val modularJar by configurations.creating {
attributes {
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME))
}
}
dependencies {
compile(kotlinStdlib())
@@ -220,9 +214,10 @@ val result by task<Jar> {
callGroovy("manifestAttributes", manifest, project, "Main", true)
}
val modularJarTask by task<Jar> {
javadocJar()
modularJar {
dependsOn(intermediate)
archiveClassifier.set("modular")
from {
zipTree(intermediate.get().singleOutputFile())
}
@@ -244,12 +239,4 @@ artifacts {
builtBy(result)
}
}
add("archives", modularJarTask)
add(modularJar.name, modularJarTask)
}
val javaComponent = components.findByName("java") as AdhocComponentWithVariants
javaComponent.addVariantsFromConfiguration(modularJar) { }
javadocJar()