aboutsummaryrefslogtreecommitdiff
path: root/buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt
diff options
context:
space:
mode:
Diffstat (limited to 'buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt')
-rw-r--r--buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt33
1 files changed, 33 insertions, 0 deletions
diff --git a/buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt b/buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt
new file mode 100644
index 00000000..05593b40
--- /dev/null
+++ b/buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt
@@ -0,0 +1,33 @@
+package org.jetbrains
+
+import org.gradle.api.GradleException
+import org.gradle.api.Project
+import org.gradle.kotlin.dsl.provideDelegate
+import org.jetbrains.DokkaPublicationChannel.*
+
+internal enum class DokkaPublicationChannel {
+ SpaceDokkaDev,
+ BintrayKotlinDev,
+ BintrayKotlinEap,
+ BintrayKotlinDokka;
+
+ val isSpaceRepository get() = this == SpaceDokkaDev
+
+ val isBintrayRepository
+ get() = when (this) {
+ SpaceDokkaDev -> false
+ BintrayKotlinDev, BintrayKotlinEap, BintrayKotlinDokka -> true
+ }
+}
+
+internal val Project.publicationChannel: DokkaPublicationChannel
+ get() {
+ val dokka_publication_channel: String by this
+ return when (dokka_publication_channel) {
+ "space-dokka-dev" -> SpaceDokkaDev
+ "bintray-kotlin-dev" -> BintrayKotlinDev
+ "bintray-kotlin-eap" -> BintrayKotlinEap
+ "bintray-kotlin-dokka" -> BintrayKotlinDokka
+ else -> throw GradleException("Unknown dokka_publication_channel=$dokka_publication_channel")
+ }
+ }