diff --git a/buildSrc/src/main/kotlin/extensions.kt b/buildSrc/src/main/kotlin/extensions.kt index 83020f8..961642c 100644 --- a/buildSrc/src/main/kotlin/extensions.kt +++ b/buildSrc/src/main/kotlin/extensions.kt @@ -1,7 +1,6 @@ +import org.gradle.api.Task import org.gradle.api.artifacts.Configuration -import org.gradle.api.attributes.Usage -import org.gradle.api.model.ObjectFactory -import org.gradle.kotlin.dsl.named +import org.gradle.api.tasks.TaskCollection // to be moved into gradle-plugins/builder-plugins... @@ -23,3 +22,7 @@ fun Configuration.asConsumer() { // attributes { // attribute(Usage.USAGE_ATTRIBUTE, objects.named("dev.adamko.gradle.factorio.typescriptFiles")) // } + + +fun TaskCollection.withName(name: String): TaskCollection = + matching { it.name == name } diff --git a/modules/web-map/build.gradle.kts b/modules/web-map/build.gradle.kts index 7c757d6..0086b70 100644 --- a/modules/web-map/build.gradle.kts +++ b/modules/web-map/build.gradle.kts @@ -128,7 +128,7 @@ val installThemeCss by tasks.registering(Copy::class) { } -tasks.matching { it.name == "processResources" }.configureEach { +tasks.withName("processResources").configureEach { dependsOn(installThemeCss) } @@ -136,9 +136,16 @@ tasks.matching { it.name == "processResources" }.configureEach { val runWebMap by tasks.registering { group = rootProject.name - dependsOn(tasks.matching { it.name == "browserDevelopmentRun" }) + dependsOn(tasks.withName("browserDevelopmentRun")) + } + +tasks.zip { + dependsOn(tasks.withName("browserDistribution")) +} + + tasks.dockerComposeBuild { dependsOn(tasks.zip) }