Abstraction for referencing dev projects

This commit is contained in:
Johannes Frohnmeyer 2022-10-06 20:04:06 +02:00
parent d567348fb3
commit 8f924ccb8a
Signed by: Johannes
GPG Key ID: E76429612C2929F4
1 changed files with 7 additions and 3 deletions

View File

@ -5,12 +5,15 @@ import org.gradle.api.DefaultTask
import org.gradle.api.PolymorphicDomainObjectContainer
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.api.artifacts.Dependency
import org.gradle.api.artifacts.dsl.DependencyHandler
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.api.publish.PublishingExtension
import org.gradle.api.tasks.SourceSetContainer
import org.gradle.api.tasks.TaskContainer
import org.gradle.api.tasks.bundling.Jar
import org.gradle.kotlin.dsl.named
import org.gradle.kotlin.dsl.project
import org.gradle.kotlin.dsl.support.delegates.ProjectDelegate
import org.gradle.language.jvm.tasks.ProcessResources
import kotlin.reflect.KClass
@ -41,7 +44,8 @@ class SDelegate<T>(private val delegate: T) {
operator fun getValue(thisRef: Any?, property: KProperty<*>): T = delegate
}
fun Project.prop(name: String, default: String? = null): String {
return if (default == null || hasProperty(name)) property(name).toString()
fun Project.prop(name: String, default: String? = null): String =
if (default == null || hasProperty(name)) property(name).toString()
else default
}
fun DependencyHandler.devProject(path: String): Dependency = project(mapOf("path" to path, "configuration" to "dev"))