-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathProjects.kt
35 lines (25 loc) · 950 Bytes
/
Projects.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@file:Suppress("NOTHING_TO_INLINE")
import org.gradle.api.Project
object Projects : Dsl<Projects> {
inline fun Project.searchProject(name: String): Project =
rootProject
.childProjects
.filterKeys { name in it }
.entries
.singleOrNull()
?.value ?: error("Project $name not found")
inline val Project.kotlinSparkApi
get() = searchProject("kotlin-spark-api")
inline val Project.scalaHelpers
get() = searchProject("scala-helpers")
inline val Project.examples
get() = searchProject("examples")
inline val Project.jupyter
get() = searchProject("jupyter")
inline val Project.scalaTuplesInKotlin
get() = searchProject("scala-tuples-in-kotlin")
inline val Project.compilerPlugin
get() = searchProject("compiler-plugin")
inline val Project.gradlePlugin
get() = searchProject("gradle-plugin")
}