Kafkatorio/modules/infra-factorio-server/build.gradle.kts
Adam 7091f7648d - more tidying up
- setting up distribution plugin
- using more variables for mod config
2021-12-02 00:54:15 +01:00

86 lines
1.9 KiB
Kotlin

import dev.adamko.kafkatorio.gradle.asConsumer
import dev.adamko.kafkatorio.gradle.factorioModAttributes
plugins {
id("dev.adamko.kafkatorio.infra.docker-compose")
}
val srcDir: Directory by extra
val factorioServerDataDir: Directory = srcDir.dir("factorio-server")
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
from(factorioMod)
into(factorioServerDataDir.dir("mods"))
doLast {
logger.lifecycle("Copying mods ${source.files} to $destinationDir")
}
}
tasks.dockerUp {
dependsOn(
deployModToServer,
":modules:infra-kafka-cluster:processRun",
)
}
tasks.updateEnv {
properties("FACTORIO_VERSION" to libs.versions.factorio.get())
}
tasks.build { dependsOn(deployModToServer) }
//<editor-fold desc="Factorio server lifecycle tasks">
//val factorioServerStop = tasks.register<Exec>("factorioServerStop") {
// group = project.name
//
// mustRunAfter(deployModToServer)
//
// workingDir(modInfraDir)
// commandLine = parseSpaceSeparatedArgs("docker-compose stop factorio-server")
//}
//val factorioServerUp = tasks.register<Exec>("factorioServerUp") {
// group = project.name
//
// mustRunAfter(deployModToServer)
// dependsOn(factorioServerStop)
//
// workingDir(modInfraDir)
// commandLine = parseSpaceSeparatedArgs("docker-compose up -d factorio-server")
//}
//val factorioServerRestart: Task by tasks.creating {
// group = project.name
//
// dependsOn(factorioServerStop, factorioServerUp)
//}
//</editor-fold>
//
//tasks.processRun {
// description = "Build the mod, upload to Server and Client, and start both"
// dependsOn(
// deployModToServer,
// factorioServerRestart,
// )
//}
//
//tasks.processKill {
// dependsOn(
// factorioServerStop,
// )
//}
//