add option to disable adding the build date to the jar manifest
All checks were successful
Publish to snapshot maven / build (push) Successful in 23s

This commit is contained in:
moehreag 2024-10-28 18:27:27 +01:00
parent 78e7bdf68a
commit 3196b6db93
8 changed files with 27 additions and 8 deletions

View file

@ -7,7 +7,7 @@ plugins {
} }
group = "dev.frogmc" group = "dev.frogmc"
version = "0.0.1-alpha.30" + ("+local".takeUnless { project.hasProperty("FrogMCSnapshotsMavenPassword") } ?: "") version = "0.0.1-alpha.31" + ("+local".takeUnless { project.hasProperty("FrogMCSnapshotsMavenPassword") } ?: "")
repositories { repositories {
maven { maven {

View file

@ -29,7 +29,6 @@ import java.nio.file.FileSystems
import java.nio.file.Files import java.nio.file.Files
import java.nio.file.Path import java.nio.file.Path
import java.nio.file.StandardCopyOption import java.nio.file.StandardCopyOption
import java.time.LocalDateTime
import kotlin.io.path.* import kotlin.io.path.*
@ -179,7 +178,6 @@ class PhytotelmaPlugin : Plugin<Project> {
Built-By: Phytotelma ${this.javaClass.`package`.implementationVersion} Built-By: Phytotelma ${this.javaClass.`package`.implementationVersion}
Target-Namespace: Mojmap Target-Namespace: Mojmap
Built-For: Minecraft ${data.minecraftVersion} Built-For: Minecraft ${data.minecraftVersion}
Build-Date: ${LocalDateTime.now()}
""".trimIndent() """.trimIndent()
).plus(data.jarManifestProperties.entries.joinToString("\n") { it.key + ": " + it.value }) ).plus(data.jarManifestProperties.entries.joinToString("\n") { it.key + ": " + it.value })
manifest.writeLines(lines, StandardCharsets.UTF_8) manifest.writeLines(lines, StandardCharsets.UTF_8)

View file

@ -0,0 +1,12 @@
package dev.frogmc.phytotelma.ext
import org.gradle.api.Project
import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.Property
import javax.inject.Inject
abstract class BuildExtension @Inject constructor(project: Project, objects: ObjectFactory) {
val includeDate: Property<Boolean> = objects.property(Boolean::class.java).convention(true)
}

View file

@ -1,4 +1,4 @@
package dev.frogmc.phytotelma.ext.datagen package dev.frogmc.phytotelma.ext
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.model.ObjectFactory import org.gradle.api.model.ObjectFactory

View file

@ -1,6 +1,5 @@
package dev.frogmc.phytotelma.ext package dev.frogmc.phytotelma.ext
import dev.frogmc.phytotelma.ext.datagen.DatagenExtension
import org.gradle.api.Action import org.gradle.api.Action
@Suppress("unused") @Suppress("unused")
@ -13,4 +12,6 @@ interface PhytotelmaGradleExtension {
fun froglib(action: Action<VersionConfiguration>) fun froglib(action: Action<VersionConfiguration>)
fun datagen(action: Action<DatagenExtension>) fun datagen(action: Action<DatagenExtension>)
fun build(action: Action<BuildExtension>)
} }

View file

@ -4,7 +4,6 @@ import dev.frogmc.phytotelma.Constants
import dev.frogmc.phytotelma.ProjectStorage import dev.frogmc.phytotelma.ProjectStorage
import dev.frogmc.phytotelma.VersionChecker import dev.frogmc.phytotelma.VersionChecker
import dev.frogmc.phytotelma.accesswidener.AccessWidener import dev.frogmc.phytotelma.accesswidener.AccessWidener
import dev.frogmc.phytotelma.ext.datagen.DatagenExtension
import dev.frogmc.phytotelma.run.AssetDownloader import dev.frogmc.phytotelma.run.AssetDownloader
import dev.frogmc.phytotelma.run.RunConfigGenerator import dev.frogmc.phytotelma.run.RunConfigGenerator
import dev.frogmc.phytotelma.run.datagen.DatagenConfigGenerator import dev.frogmc.phytotelma.run.datagen.DatagenConfigGenerator
@ -19,6 +18,7 @@ import org.gradle.api.model.ObjectFactory
import org.gradle.api.plugins.JavaPlugin import org.gradle.api.plugins.JavaPlugin
import java.nio.file.* import java.nio.file.*
import java.nio.file.attribute.BasicFileAttributes import java.nio.file.attribute.BasicFileAttributes
import java.time.LocalDateTime
import java.util.function.Consumer import java.util.function.Consumer
import javax.inject.Inject import javax.inject.Inject
import kotlin.io.path.copyTo import kotlin.io.path.copyTo
@ -168,4 +168,12 @@ abstract class PhytotelmaGradleExtensionImpl @Inject constructor(
DatagenConfigGenerator.generate(project, conf) DatagenConfigGenerator.generate(project, conf)
project.tasks.register("runDatagen", DatagenTask::class.java, conf) project.tasks.register("runDatagen", DatagenTask::class.java, conf)
} }
override fun build(action: Action<BuildExtension>) {
val conf = objects.newInstance(BuildExtension::class.java)
action.execute(conf)
if (conf.includeDate.get()) {
ProjectStorage.get(project).jarManifestProperties["Build-Date"] = LocalDateTime.now().toString()
}
}
} }

View file

@ -1,7 +1,7 @@
package dev.frogmc.phytotelma.run.datagen package dev.frogmc.phytotelma.run.datagen
import dev.frogmc.phytotelma.ProjectStorage import dev.frogmc.phytotelma.ProjectStorage
import dev.frogmc.phytotelma.ext.datagen.DatagenExtension import dev.frogmc.phytotelma.ext.DatagenExtension
import dev.frogmc.phytotelma.run.RunConfigGenerator import dev.frogmc.phytotelma.run.RunConfigGenerator
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.logging.configuration.ConsoleOutput import org.gradle.api.logging.configuration.ConsoleOutput

View file

@ -3,7 +3,7 @@ package dev.frogmc.phytotelma.run.datagen
import com.electronwill.nightconfig.toml.TomlParser import com.electronwill.nightconfig.toml.TomlParser
import dev.frogmc.phytotelma.Constants import dev.frogmc.phytotelma.Constants
import dev.frogmc.phytotelma.common.Env import dev.frogmc.phytotelma.common.Env
import dev.frogmc.phytotelma.ext.datagen.DatagenExtension import dev.frogmc.phytotelma.ext.DatagenExtension
import dev.frogmc.phytotelma.run.task.RunGameTask import dev.frogmc.phytotelma.run.task.RunGameTask
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.plugins.JavaPluginExtension import org.gradle.api.plugins.JavaPluginExtension