add info extension

This commit is contained in:
2025-09-08 16:55:07 +02:00
parent a979ec6623
commit be7cac2e5d
4 changed files with 101 additions and 0 deletions

View File

@@ -1,9 +1,11 @@
package ltd.lulz.plugin
import ltd.lulz.plugin.extension.GitExtension
import ltd.lulz.plugin.extension.InfoExtension
import org.gradle.api.Plugin
import org.gradle.api.Project
import ltd.lulz.plugin.extension.GitExtension.Companion.PLUGIN_NAME as GIT_PLUGIN_NAME
import ltd.lulz.plugin.extension.InfoExtension.Companion.PLUGIN_NAME as INFO_PLUGIN_NAME
@Suppress("unused")
class CorePlugin : Plugin<Project> {
@@ -15,8 +17,14 @@ class CorePlugin : Plugin<Project> {
project: Project,
) {
gitExtension(project)
infoExtension(project)
}
private fun infoExtension(
project: Project,
): InfoExtension = project.extensions
.create(INFO_PLUGIN_NAME, InfoExtension::class.java, project)
private fun gitExtension(
project: Project,
): GitExtension = project.extensions

View File

@@ -0,0 +1,16 @@
package ltd.lulz.plugin.extension
import java.time.OffsetDateTime.now
import java.time.ZoneId.of
import java.time.format.DateTimeFormatter.ofPattern
import org.gradle.api.Project
abstract class InfoExtension(private val project: Project) {
companion object {
const val PLUGIN_NAME = "info"
}
val nameVersion get() = "Project Name: ${project.name} Version: ${project.version}"
val utcTimestamp = now().atZoneSameInstant(of("UTC")).format(ofPattern("yyyy-MM-dd HH:mm:ss z")).toString()
val vendorName = "Lulz Ltd"
}