Scripts/convention/src/main/kotlin/io/gitlab/jfronny/convention/ext/SharedProps.kt

26 lines
1.2 KiB
Kotlin

package io.gitlab.jfronny.convention.ext
import io.gitlab.jfronny.convention.VersionType
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("io.gitlab.jfronny.scripts.getVersionType")) extra["io.gitlab.jfronny.scripts.getVersionType"] as VersionType else VersionType.RELEASE
set(value) = extra.set("io.gitlab.jfronny.scripts.getVersionType", value)
var Project.changelog: String
get() = if (extra.has("io.gitlab.jfronny.scripts.getChangelog")) extra["io.gitlab.jfronny.scripts.getChangelog"].toString() else ""
set(value) = extra.set("io.gitlab.jfronny.scripts.getChangelog", value)
val TaskContainer.deployDebug: Task get() = findByName("deployDebug") ?: register("deployDebug").get().dependsOn(named<DefaultTask>("build").get())
val TaskContainer.deployRelease: Task get() = findByName("deployRelease") ?: register("deployRelease").get().dependsOn(deployDebug)