package io.gitlab.jfronny.scripts import org.gradle.api.DefaultTask import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.tasks.TaskContainer import org.gradle.kotlin.dsl.extra import org.gradle.kotlin.dsl.named var Project.versionS: String get() = version.toString() set(value) { version = value } var Project.versionType: VersionType get() = if (extra.has("versionType")) extra["versionType"] as VersionType else VersionType.RELEASE set(value) = extra.set("versionType", value) var Project.changelog: String get() = if (extra.has("changelog")) extra["changelog"].toString() else "" set(value) = extra.set("changelog", value) val TaskContainer.deployDebug: Task get() = findByName("deployDebug") ?: register("deployDebug").get().dependsOn(named("build").get()) val TaskContainer.deployRelease: Task get() = findByName("deployRelease") ?: register("deployRelease").get().dependsOn(deployDebug) fun Project.prop(name: String, default: String? = null): String = if (default == null || hasProperty(name)) property(name).toString() else default