gradle config: try fixing config-cache miss with projectTokens
This commit is contained in:
parent
fb265e39a6
commit
92e385fbe7
3 changed files with 30 additions and 28 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
import dev.adamko.kafkatorio.gradle.excludeGeneratedGradleDsl
|
import dev.adamko.kafkatorio.gradle.excludeGeneratedGradleDsl
|
||||||
|
import java.time.LocalDate
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
idea
|
idea
|
||||||
|
|
@ -12,14 +13,14 @@ version = "0.4.0"
|
||||||
|
|
||||||
val licenseFile: RegularFile by extra(layout.projectDirectory.file("LICENSE"))
|
val licenseFile: RegularFile by extra(layout.projectDirectory.file("LICENSE"))
|
||||||
|
|
||||||
val projectTokens: MutableMap<String, String> by extra(
|
val projectTokens: MapProperty<String, String> by extra {
|
||||||
mutableMapOf(
|
objects.mapProperty<String, String>().apply {
|
||||||
"project.version" to "$version",
|
put("project.version", provider { "$version" })
|
||||||
"rootProject.name" to rootProject.name,
|
put("rootProject.name", provider { rootProject.name })
|
||||||
"date.year" to "${java.time.LocalDate.now().year}",
|
put("date.year", provider { "${LocalDate.now().year}" })
|
||||||
"author.email" to "adam@adamko.dev",
|
put("author.email", "adam@adamko.dev")
|
||||||
)
|
}
|
||||||
)
|
}
|
||||||
|
|
||||||
idea {
|
idea {
|
||||||
module {
|
module {
|
||||||
|
|
|
||||||
|
|
@ -18,24 +18,21 @@ description =
|
||||||
// Factorio required format is:
|
// Factorio required format is:
|
||||||
// - filename: `mod-name_version.zip`
|
// - filename: `mod-name_version.zip`
|
||||||
// - zip contains one directory, `mod-name`
|
// - zip contains one directory, `mod-name`
|
||||||
val modName: String by extra("${rootProject.name}-events")
|
val modName: String by extra { "${rootProject.name}-events" }
|
||||||
val distributionZipName: String by extra("${modName}_${project.version}.zip")
|
val distributionZipName: String by extra { "${modName}_${project.version}.zip" }
|
||||||
|
|
||||||
// version of Factorio that the mod is compatible with (must only be "major.minor" - patch causes error)
|
// version of Factorio that the mod is compatible with (must only be "major.minor" - patch causes error)
|
||||||
val modFactorioCompatibility: String by extra(
|
val modFactorioCompatibility: Provider<String> =
|
||||||
libs.versions.factorio
|
libs.versions.factorio.map { SemVer.parse(it).run { "$major.$minor" } }
|
||||||
.map { SemVer.parse(it).run { "$major.$minor" } }
|
|
||||||
.get()
|
|
||||||
)
|
|
||||||
|
|
||||||
val licenseFile: RegularFile by rootProject.extra
|
val licenseFile: RegularFile by rootProject.extra
|
||||||
val projectTokens: MutableMap<String, String> by rootProject.extra
|
val projectTokens: MapProperty<String, String> by rootProject.extra
|
||||||
projectTokens += mapOf(
|
projectTokens.apply {
|
||||||
"mod.name" to modName,
|
put("mod.name", modName)
|
||||||
"mod.title" to "Kafkatorio Events",
|
put("mod.title", "Kafkatorio Events")
|
||||||
"mod.description" to (project.description ?: ""),
|
put("mod.description", provider { project.description }.orElse(""))
|
||||||
"factorio.version" to modFactorioCompatibility,
|
put("factorio.version", modFactorioCompatibility)
|
||||||
)
|
}
|
||||||
|
|
||||||
val tsSrcDir: Directory = layout.projectDirectory.dir("src/main/typescript")
|
val tsSrcDir: Directory = layout.projectDirectory.dir("src/main/typescript")
|
||||||
|
|
||||||
|
|
@ -95,8 +92,14 @@ val installEventsTsSchema by tasks.registering(Sync::class) {
|
||||||
|
|
||||||
|
|
||||||
tasks.distZip {
|
tasks.distZip {
|
||||||
archiveFileName.set(provider { distributionZipName })
|
val zipName = distributionZipName
|
||||||
|
val zipNameProvider = provider { zipName }
|
||||||
|
val projectTokens = projectTokens
|
||||||
|
inputs.property("distributionZipName", distributionZipName)
|
||||||
|
inputs.property("zipNameProvider", zipNameProvider)
|
||||||
|
inputs.property("projectTokens", projectTokens)
|
||||||
|
|
||||||
|
archiveFileName.set(zipNameProvider)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -112,7 +115,7 @@ distributions {
|
||||||
from(licenseFile)
|
from(licenseFile)
|
||||||
from(typescriptToLua.map { it.outputDirectory })
|
from(typescriptToLua.map { it.outputDirectory })
|
||||||
filesNotMatching("**/*.png") {
|
filesNotMatching("**/*.png") {
|
||||||
filter<ReplaceTokens>("tokens" to projectTokens)
|
filter<ReplaceTokens>("tokens" to projectTokens.get())
|
||||||
}
|
}
|
||||||
includeEmptyDirs = false
|
includeEmptyDirs = false
|
||||||
exclude {
|
exclude {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import org.jetbrains.kotlin.util.parseSpaceSeparatedArgs
|
import dev.adamko.kafkatorio.task.DockerComposeExec
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
dev.adamko.kafkatorio.infra.`docker-compose`
|
dev.adamko.kafkatorio.infra.`docker-compose`
|
||||||
|
|
@ -14,9 +14,7 @@ tasks.dockerUp {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
val dockerBuildKafkaPipe by tasks.registering(DockerComposeExec::class) {
|
||||||
@Suppress("UnstableApiUsage") // normalizeLineEndings is incubating
|
|
||||||
val dockerBuildKafkaPipe by tasks.registering(dev.adamko.kafkatorio.task.DockerComposeExec::class) {
|
|
||||||
dependsOn(tasks.dockerEnv)
|
dependsOn(tasks.dockerEnv)
|
||||||
|
|
||||||
dockerComposeDir.set(dockerSrcDir)
|
dockerComposeDir.set(dockerSrcDir)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue