2022-10-02 12:11:06 +02:00
|
|
|
import dev.adamko.gradle.factorio.FactorioModPlugin
|
2021-12-01 16:57:46 +01:00
|
|
|
|
|
|
|
|
plugins {
|
2022-10-05 00:06:46 +02:00
|
|
|
id("kafkatorio.conventions.base")
|
2022-10-02 12:11:06 +02:00
|
|
|
id("dev.adamko.geedeecee")
|
2022-12-18 01:40:40 +01:00
|
|
|
id("dev.adamko.factorio-mod-library")
|
2022-10-02 12:11:06 +02:00
|
|
|
idea
|
2021-12-01 16:57:46 +01:00
|
|
|
}
|
|
|
|
|
|
2022-06-26 14:56:53 +02:00
|
|
|
|
2022-10-05 00:06:46 +02:00
|
|
|
geedeecee {
|
|
|
|
|
srcDir.set(layout.projectDirectory.dir("src"))
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-02 12:11:06 +02:00
|
|
|
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 14:56:53 +02:00
|
|
|
|
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"
|
2022-10-02 12:11:06 +02:00
|
|
|
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
|
|
|
|
2022-10-02 12:11:06 +02: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 {
|
2022-09-13 17:56:57 +02:00
|
|
|
logger.lifecycle("Copying mods ${source.files} into $destinationDir")
|
2021-12-01 16:57:46 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-06-26 14:56:53 +02:00
|
|
|
|
2022-10-02 12:11:06 +02:00
|
|
|
//tasks.dockerComposeDown {
|
|
|
|
|
// commandLine = parseSpaceSeparatedArgs(""" docker-compose stop """)
|
|
|
|
|
//}
|
2021-12-03 09:04:18 +01:00
|
|
|
|
2022-06-26 14:56:53 +02:00
|
|
|
|
2022-10-02 12:11:06 +02:00
|
|
|
tasks.dockerComposeUp {
|
2021-12-01 16:57:46 +01:00
|
|
|
dependsOn(
|
2022-06-26 15:45:59 +02:00
|
|
|
deployModToLocalServer,
|
2021-12-02 00:54:15 +01:00
|
|
|
":modules:infra-kafka-cluster:processRun",
|
2021-12-01 16:57:46 +01:00
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
2022-06-26 14:56:53 +02:00
|
|
|
|
2022-12-05 23:20:54 +01:00
|
|
|
val kafkatorioServerToken: String? by project
|
2022-08-28 19:37:49 +02:00
|
|
|
|
|
|
|
|
|
2022-10-02 12:11:06 +02:00
|
|
|
tasks.dockerComposeEnvUpdate {
|
2022-10-02 13:57:15 +02:00
|
|
|
envProperties {
|
2022-10-05 00:06:46 +02:00
|
|
|
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
|
|
|
}
|
|
|
|
|
|
2022-06-26 14:56:53 +02:00
|
|
|
|
2022-10-02 12:11:06 +02:00
|
|
|
tasks.register(FactorioModPlugin.PUBLISH_MOD_LOCAL_TASK_NAME) {
|
|
|
|
|
group = FactorioModPlugin.TASK_GROUP
|
2022-06-26 15:45:59 +02:00
|
|
|
dependsOn(deployModToLocalServer)
|
2022-06-26 14:56:53 +02:00
|
|
|
}
|
2022-02-20 12:30:22 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
idea {
|
|
|
|
|
module {
|
|
|
|
|
excludeDirs.add(file("src/factorio-server"))
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-09-13 17:56:57 +02:00
|
|
|
|
|
|
|
|
val runFactorioServer by tasks.registering {
|
|
|
|
|
group = rootProject.name
|
|
|
|
|
|
2022-10-02 12:11:06 +02:00
|
|
|
dependsOn(tasks.dockerComposeUp)
|
2022-09-13 17:56:57 +02:00
|
|
|
}
|