From 42dab2021090eb180de6cf66122e57c4036b5675 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Sun, 18 Sep 2022 23:32:15 +0200 Subject: [PATCH] start setting up Factorio Gradle mod --- .../factorio_gradle/FactorioModPlugin.kt | 22 +++++++++++++++++++ .../factorio_gradle/FactorioModSettings.kt | 16 ++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 gradle-plugins/factorio-gradle/src/main/kotlin/dev/adamko/factorio_gradle/FactorioModPlugin.kt create mode 100644 gradle-plugins/factorio-gradle/src/main/kotlin/dev/adamko/factorio_gradle/FactorioModSettings.kt diff --git a/gradle-plugins/factorio-gradle/src/main/kotlin/dev/adamko/factorio_gradle/FactorioModPlugin.kt b/gradle-plugins/factorio-gradle/src/main/kotlin/dev/adamko/factorio_gradle/FactorioModPlugin.kt new file mode 100644 index 0000000..c883d40 --- /dev/null +++ b/gradle-plugins/factorio-gradle/src/main/kotlin/dev/adamko/factorio_gradle/FactorioModPlugin.kt @@ -0,0 +1,22 @@ +package dev.adamko.factorio_gradle + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.create + +abstract class FactorioModPlugin : Plugin { + + override fun apply(target: Project) { + target.createSettings() + } + + private fun Project.createSettings(): FactorioModSettings { + return extensions.create(FACTORIO_GRADLE_EXTENSION_NAME).apply { + + } + } + + companion object { + const val FACTORIO_GRADLE_EXTENSION_NAME = "factorio" + } +} diff --git a/gradle-plugins/factorio-gradle/src/main/kotlin/dev/adamko/factorio_gradle/FactorioModSettings.kt b/gradle-plugins/factorio-gradle/src/main/kotlin/dev/adamko/factorio_gradle/FactorioModSettings.kt new file mode 100644 index 0000000..c43f697 --- /dev/null +++ b/gradle-plugins/factorio-gradle/src/main/kotlin/dev/adamko/factorio_gradle/FactorioModSettings.kt @@ -0,0 +1,16 @@ +package dev.adamko.factorio_gradle + +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.provider.Property + +interface FactorioModSettings { + + val factorioClientModsDirectory: DirectoryProperty + + val steamExe: RegularFileProperty + + val factorioGameSteamId: Property + + val factorioServerDataDirectory: DirectoryProperty +}