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 +}