blob: 33afe0785027517d9eebea65b8c637b9141d12f8 (
plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
import org.jetbrains.*
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") apply false
id("java")
id("org.jetbrains.dokka") version "1.7.10"
id("io.github.gradle-nexus.publish-plugin")
}
val dokka_version: String by project
allprojects {
configureDokkaVersion()
group = "org.jetbrains.dokka"
version = dokka_version
val language_version: String by project
tasks.withType(KotlinCompile::class).all {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + listOf(
"-opt-in=kotlin.RequiresOptIn",
"-Xjsr305=strict",
"-Xskip-metadata-version-check",
// need 1.4 support, otherwise there might be problems with Gradle 6.x (it's bundling Kotlin 1.4)
"-Xsuppress-version-warnings"
)
allWarningsAsErrors = true
languageVersion = language_version
apiVersion = language_version
jvmTarget = "1.8"
}
}
repositories {
mavenCentral()
}
}
subprojects {
apply {
plugin("org.jetbrains.kotlin.jvm")
plugin("java")
plugin("signing")
plugin("org.jetbrains.dokka")
}
// Gradle metadata
java {
@Suppress("UnstableApiUsage")
withSourcesJar()
targetCompatibility = JavaVersion.VERSION_1_8
}
tasks {
val dokkaOutputDir = "$buildDir/dokka"
dokkaHtml {
onlyIf { !isLocalPublication }
outputDirectory.set(file(dokkaOutputDir))
}
register<Jar>("javadocJar") {
archiveClassifier.set("javadoc")
dependsOn(dokkaHtml)
from(dokkaOutputDir)
}
}
}
println("Publication version: $dokka_version")
tasks.register<ValidatePublications>("validatePublications")
nexusPublishing {
repositories {
sonatype {
username.set(System.getenv("SONATYPE_USER"))
password.set(System.getenv("SONATYPE_PASSWORD"))
}
}
}
tasks.maybeCreate("dokkaPublish").run {
if (publicationChannels.any { it.isMavenRepository() }) {
finalizedBy(tasks.named("closeAndReleaseSonatypeStagingRepository"))
}
}
|