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