Kafkatorio/modules/infra-factorio-server/build.gradle.kts

74 lines
1.6 KiB
Text
Raw Normal View History

2021-12-01 18:12:34 +01:00
import dev.adamko.kafkatorio.gradle.asConsumer
import dev.adamko.kafkatorio.gradle.factorioModAttributes
import org.jetbrains.kotlin.util.parseSpaceSeparatedArgs
2021-12-01 16:57:46 +01:00
plugins {
dev.adamko.kafkatorio.infra.`docker-compose`
2021-12-01 16:57:46 +01:00
}
val dockerSrcDir: Directory by extra
val factorioServerDataDir: Directory = dockerSrcDir.dir("factorio-server")
2021-12-01 16:57:46 +01:00
val factorioMod: Configuration by configurations.creating {
asConsumer()
factorioModAttributes(objects)
}
dependencies {
factorioMod(projects.modules.eventsMod)
}
val deployModToServer by tasks.registering(Copy::class) {
description = "Copy the mod to the Factorio Docker server"
group = project.name
2021-12-28 17:24:20 +01:00
dependsOn(factorioMod)
2021-12-08 17:57:28 +01:00
from(
provider { factorioMod.incoming.artifacts.artifactFiles.files }
)
2021-12-01 16:57:46 +01:00
into(factorioServerDataDir.dir("mods"))
doLast {
logger.lifecycle("Copying mods ${source.files} to $destinationDir")
}
}
tasks.dockerDown {
commandLine = parseSpaceSeparatedArgs(""" docker-compose stop """)
}
tasks.dockerUp {
2021-12-01 16:57:46 +01:00
dependsOn(
deployModToServer,
":modules:infra-kafka-cluster:processRun",
2021-12-01 16:57:46 +01:00
)
}
2021-12-10 20:38:52 +01:00
tasks.dockerEnv {
properties("FACTORIO_VERSION" to libs.versions.factorio.get())
2021-12-01 16:57:46 +01:00
}
tasks.build { dependsOn(deployModToServer) }
2022-02-20 12:30:22 +01:00
idea {
module {
excludeDirs.add(file("src/factorio-server"))
}
}
tasks.hardReset {
dependsOn(tasks.dockerRemove)
delete(
factorioServerDataDir.dir("saves"),
factorioServerDataDir.dir("temp"),
factorioServerDataDir.file("factorio-current.log"),
factorioServerDataDir.file("factorio-previous.log"),
factorioServerDataDir.file(".lock"),
)
}