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

84 lines
1.7 KiB
Text
Raw Permalink Normal View History

import dev.adamko.gradle.factorio.FactorioModPlugin
2021-12-01 16:57:46 +01:00
plugins {
id("kafkatorio.conventions.base")
id("dev.adamko.geedeecee")
id("dev.adamko.factorio-mod-library")
idea
2021-12-01 16:57:46 +01:00
}
geedeecee {
srcDir.set(layout.projectDirectory.dir("src"))
}
val factorioServerDataDir: DirectoryProperty = objects.directoryProperty()
.convention(geedeecee.srcDir.dir("factorio-server"))
2021-12-01 16:57:46 +01:00
dependencies {
factorioMod(projects.modules.eventsMod)
}
2022-06-26 15:45:59 +02:00
val deployModToLocalServer by tasks.registering(Copy::class) {
2021-12-01 16:57:46 +01:00
description = "Copy the mod to the Factorio Docker server"
group = FactorioModPlugin.TASK_GROUP
2021-12-01 16:57:46 +01:00
2022-10-18 21:36:22 +02:00
dependsOn(configurations.factorioMod)
2021-12-28 17:24:20 +01:00
// from(
// provider { factorioMod.incoming.artifacts.artifactFiles.files }
// )
2022-10-18 21:36:22 +02:00
from(configurations.factorioMod.map { it.incoming.artifactView { lenient(true) }.files })
2021-12-01 16:57:46 +01:00
into(factorioServerDataDir.dir("mods"))
doLast {
logger.lifecycle("Copying mods ${source.files} into $destinationDir")
2021-12-01 16:57:46 +01:00
}
}
//tasks.dockerComposeDown {
// commandLine = parseSpaceSeparatedArgs(""" docker-compose stop """)
//}
tasks.dockerComposeUp {
2021-12-01 16:57:46 +01:00
dependsOn(
2022-06-26 15:45:59 +02:00
deployModToLocalServer,
":modules:infra-kafka-cluster:processRun",
2021-12-01 16:57:46 +01:00
)
}
2022-12-05 23:20:54 +01:00
val kafkatorioServerToken: String? by project
tasks.dockerComposeEnvUpdate {
2022-10-02 13:57:15 +02:00
envProperties {
put("FACTORIO_VERSION", libs.versions.factorio)
2022-12-05 23:20:54 +01:00
kafkatorioServerToken?.let { token ->
put("KAFKATORIO_TOKEN", token)
}
2022-10-02 13:57:15 +02:00
}
2021-12-01 16:57:46 +01:00
}
tasks.register(FactorioModPlugin.PUBLISH_MOD_LOCAL_TASK_NAME) {
group = FactorioModPlugin.TASK_GROUP
2022-06-26 15:45:59 +02:00
dependsOn(deployModToLocalServer)
}
2022-02-20 12:30:22 +01:00
idea {
module {
excludeDirs.add(file("src/factorio-server"))
}
}
val runFactorioServer by tasks.registering {
group = rootProject.name
dependsOn(tasks.dockerComposeUp)
}