forked from arrow-kt/arrow-meta
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
103 lines (87 loc) · 2.56 KB
/
build.gradle
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
buildscript {
repositories {
mavenCentral()
maven { url "https://dl.bintray.com/arrow-kt/arrow-kt/" }
}
dependencies {
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$DOKKA_VERSION"
classpath "io.arrow-kt:ank-gradle-plugin:$ANK_GRADLE_PLUGIN_VERSION"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN_VERSION"
classpath "org.jetbrains.kotlin.kapt:org.jetbrains.kotlin.kapt.gradle.plugin:$KOTLIN_VERSION"
}
}
plugins {
// Replace plugin DSL by legacy plugin application to use EAP versions by Kotlin
// id 'org.jetbrains.kotlin.jvm' version "$KOTLIN_VERSION"
// id 'org.jetbrains.kotlin.kapt' version "$KOTLIN_VERSION"
id 'com.github.johnrengelman.shadow' version "$SHADOW_JAR_VERSION"
id 'maven-publish'
}
apply plugin: "org.jetbrains.kotlin.jvm"
apply plugin: "org.jetbrains.kotlin.kapt"
def pathApiDocs = "${rootDir}/docs/docs/apidocs"
allprojects {
clean.doFirst {
delete pathApiDocs
}
repositories {
maven { url "https://kotlin.bintray.com/kotlinx" }
maven {
url "https://dl.bintray.com/arrow-kt/arrow-kt/"
content {
includeGroup "io.arrow-kt"
}
}
mavenCentral()
jcenter()
maven { url 'https://oss.jfrog.org/artifactory/oss-snapshot-local/' }
}
}
subprojects { project ->
group = GROUP
version = VERSION_NAME
apply plugin: 'kotlin'
apply plugin: 'org.jetbrains.dokka'
apply plugin: 'maven-publish'
publishing {
publications {
maven(MavenPublication) {
from components.java
}
}
}
//dokka log spam `Can't find node by signature` comes from https://github.com/Kotlin/dokka/issues/269
dokka {
outputFormat = 'jekyll'
outputDirectory = pathApiDocs
}
}
task cleanMeta {
dependsOn ':compiler-plugin:clean'
dependsOn ':gradle-plugin:clean'
dependsOn ':idea-plugin:clean'
dependsOn ':meta-test:clean'
}
task buildMeta {
dependsOn ':compiler-plugin:build'
dependsOn ':gradle-plugin:jar'
dependsOn ':idea-plugin:build'
dependsOn ':meta-test:build'
}
task publishMeta {
dependsOn ':compiler-plugin:publishToMavenLocal'
dependsOn ':gradle-plugin:publishToMavenLocal'
dependsOn ':idea-plugin:publishToMavenLocal'
dependsOn ':meta-test:publishToMavenLocal'
}
task publishAndRunIde {
dependsOn ':cleanMeta'
dependsOn ':publishMeta'
dependsOn ':idea-plugin:runIde'
tasks.findByPath(':publishMeta').mustRunAfter ':cleanMeta'
tasks.findByPath(':idea-plugin:runIde').mustRunAfter ':publishMeta'
}
wrapper {
distributionType = Wrapper.DistributionType.ALL
gradleVersion = "$GRADLE_VERSION"
}