- more tidying up
- setting up distribution plugin - using more variables for mod config
This commit is contained in:
parent
afbfeda616
commit
7091f7648d
34 changed files with 293 additions and 169 deletions
|
|
@ -1,15 +1,12 @@
|
|||
import dev.adamko.kafkatorio.gradle.asConsumer
|
||||
import dev.adamko.kafkatorio.gradle.factorioModAttributes
|
||||
import org.jetbrains.kotlin.util.parseSpaceSeparatedArgs
|
||||
|
||||
plugins {
|
||||
id("dev.adamko.kafkatorio.process-runner")
|
||||
id("dev.adamko.kafkatorio.infra.docker-compose")
|
||||
}
|
||||
|
||||
val tokens: Map<String, String> by project.extra
|
||||
|
||||
val modInfraDir: Directory = layout.projectDirectory.dir("infra")
|
||||
val factorioServerDataDir: Directory = modInfraDir.dir("factorio-server")
|
||||
val srcDir: Directory by extra
|
||||
val factorioServerDataDir: Directory = srcDir.dir("factorio-server")
|
||||
|
||||
val factorioMod: Configuration by configurations.creating {
|
||||
asConsumer()
|
||||
|
|
@ -32,46 +29,58 @@ val deployModToServer by tasks.registering(Copy::class) {
|
|||
}
|
||||
}
|
||||
|
||||
//<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")
|
||||
tasks.dockerUp {
|
||||
dependsOn(
|
||||
deployModToServer,
|
||||
":modules:infra-kafka-cluster:processRun",
|
||||
)
|
||||
}
|
||||
|
||||
val factorioServerUp = tasks.register<Exec>("factorioServerUp") {
|
||||
group = project.name
|
||||
|
||||
mustRunAfter(deployModToServer)
|
||||
dependsOn(factorioServerStop)
|
||||
|
||||
workingDir(modInfraDir)
|
||||
commandLine = parseSpaceSeparatedArgs("docker-compose up -d factorio-server")
|
||||
tasks.updateEnv {
|
||||
properties("FACTORIO_VERSION" to libs.versions.factorio.get())
|
||||
}
|
||||
|
||||
val factorioServerRestart: Task by tasks.creating {
|
||||
group = project.name
|
||||
|
||||
dependsOn(factorioServerStop, factorioServerUp)
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
tasks.build { dependsOn(deployModToServer) }
|
||||
|
||||
tasks.processRun {
|
||||
description = "Build the mod, upload to Server and Client, and start both"
|
||||
dependsOn(
|
||||
deployModToServer,
|
||||
factorioServerRestart,
|
||||
)
|
||||
}
|
||||
//<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")
|
||||
//}
|
||||
|
||||
tasks.processKill {
|
||||
dependsOn(
|
||||
factorioServerStop,
|
||||
)
|
||||
}
|
||||
//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,
|
||||
// )
|
||||
//}
|
||||
//
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
COMPOSE_PROJECT_NAME=factorio-infra
|
||||
3
modules/infra-factorio-server/src/.env
Normal file
3
modules/infra-factorio-server/src/.env
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Do not edit manually. This file was created with task 'updateEnv'
|
||||
COMPOSE_PROJECT_NAME=kafkatorio
|
||||
FACTORIO_VERSION=1.1.48
|
||||
|
|
@ -3,13 +3,13 @@ version: "3.9"
|
|||
services:
|
||||
|
||||
factorio-server:
|
||||
image: factoriotools/factorio:1.1.48
|
||||
image: factoriotools/factorio:${FACTORIO_VERSION}
|
||||
# logging:
|
||||
# driver: "json-file"
|
||||
container_name: "factorio-server"
|
||||
restart: "unless-stopped"
|
||||
networks:
|
||||
- "factorio-events-nw"
|
||||
- "kafkatorio-nw"
|
||||
ports:
|
||||
- "34197:34197/udp" # factorio
|
||||
- "27015:27015/tcp" # rcon
|
||||
|
|
@ -32,8 +32,6 @@ services:
|
|||
# - TOKEN=FactorioToken
|
||||
|
||||
networks:
|
||||
kafka-nw:
|
||||
name: "kafka-nw"
|
||||
kafkatorio-nw:
|
||||
name: "kafkatorio-nw"
|
||||
external: true
|
||||
factorio-events-nw:
|
||||
name: "factorio-events-nw"
|
||||
|
|
@ -3,7 +3,11 @@ ARG factorioVersion=1.1.42
|
|||
|
||||
FROM factoriotools/factorio:$factorioVersion
|
||||
|
||||
|
||||
# In progress
|
||||
# The intention is to remove kafka-pipe and have a
|
||||
# pre-preared Factorio Docker container than can
|
||||
# just run, without needing an additional
|
||||
# container with kcat.
|
||||
|
||||
#RUN apk add --update \
|
||||
# curl \
|
||||
|
|
@ -19,5 +23,3 @@ RUN apt-get update && apt-get install -y \
|
|||
|
||||
WORKDIR /
|
||||
COPY kafka-pipe.sh kafka-pipe.sh
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue