Improve noDefaultJar behaviour:

- drop appropriate artifact from all configurations
- clean actions - in addition to task disabling
This commit is contained in:
Ilya Chernikov
2018-08-22 11:38:37 +02:00
parent 24dc8b33cd
commit d7f45253d5
+9 -2
View File
@@ -55,15 +55,22 @@ fun Project.testsJar(body: Jar.() -> Unit = {}): Jar {
fun Project.noDefaultJar() { fun Project.noDefaultJar() {
tasks.findByName("jar")?.let { defaultJarTask -> tasks.findByName("jar")?.let { defaultJarTask ->
defaultJarTask.enabled = false defaultJarTask.enabled = false
configurations.findByName("archives")?.artifacts?.removeAll { defaultJarTask.actions = emptyList()
(it as? ArchivePublishArtifact)?.archiveTask?.let { it == defaultJarTask } ?: false configurations.forEach { cfg ->
cfg.artifacts.removeAll {
(it as? ArchivePublishArtifact)?.archiveTask?.let { it == defaultJarTask } ?: false
}
} }
} }
} }
fun<T> Project.runtimeJarArtifactBy(task: Task, artifactRef: T, body: ConfigurablePublishArtifact.() -> Unit = {}) { fun<T> Project.runtimeJarArtifactBy(task: Task, artifactRef: T, body: ConfigurablePublishArtifact.() -> Unit = {}) {
addArtifact("archives", task, artifactRef, body) addArtifact("archives", task, artifactRef, body)
addArtifact("runtimeJar", task, artifactRef, body) addArtifact("runtimeJar", task, artifactRef, body)
configurations.findByName("runtime")?.let {
addArtifact(it, task, artifactRef, body)
}
} }
fun<T: Jar> Project.runtimeJar(task: T, body: T.() -> Unit = {}): T { fun<T: Jar> Project.runtimeJar(task: T, body: T.() -> Unit = {}): T {