2022-10-07 16:03:38 +02:00
|
|
|
package io.gitlab.jfronny.scripts
|
2022-10-06 19:30:52 +02:00
|
|
|
|
2022-11-13 12:16:12 +01:00
|
|
|
import org.gradle.api.Action
|
2022-10-06 19:30:52 +02:00
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2022-12-02 18:32:50 +01:00
|
|
|
val Project.versionStripped: String get() = if (versionS.endsWith("-SNAPSHOT")) versionS.substring(0, versionS.length - "-SNAPSHOT".length) else versionS
|
|
|
|
|
2022-10-06 19:30:52 +02:00
|
|
|
var Project.versionType: VersionType
|
2022-10-07 19:05:03 +02:00
|
|
|
get() = if (extra.has("versionType")) extra["versionType"] as VersionType else VersionType.RELEASE
|
|
|
|
set(value) = extra.set("versionType", value)
|
2022-10-06 19:30:52 +02:00
|
|
|
|
|
|
|
var Project.changelog: String
|
2022-10-07 19:05:03 +02:00
|
|
|
get() = if (extra.has("changelog")) extra["changelog"].toString() else ""
|
|
|
|
set(value) = extra.set("changelog", value)
|
2022-10-06 19:30:52 +02:00
|
|
|
|
2022-12-03 15:53:40 +01:00
|
|
|
var Project.flavour: String
|
|
|
|
get() = prop("flavour", "").trim()
|
2022-12-03 16:04:37 +01:00
|
|
|
set(value) {
|
|
|
|
if (hasProperty("flavour")) setProperty("flavour", value)
|
|
|
|
else extra.set("flavour", value)
|
|
|
|
}
|
2022-12-03 15:53:40 +01:00
|
|
|
|
2022-10-06 19:30:52 +02:00
|
|
|
val TaskContainer.deployDebug: Task get() = findByName("deployDebug") ?: register("deployDebug").get().dependsOn(named<DefaultTask>("build").get())
|
2022-10-13 20:36:58 +02:00
|
|
|
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()
|
2022-11-13 12:16:12 +01:00
|
|
|
else default
|
|
|
|
|
|
|
|
// Utility to run actions on values
|
2022-12-03 15:53:40 +01:00
|
|
|
fun <T> T.runAction(action: Action<T>?): T {
|
2022-11-13 12:16:12 +01:00
|
|
|
action?.execute(this!!)
|
|
|
|
return this
|
|
|
|
}
|