-
Notifications
You must be signed in to change notification settings - Fork 437
/
build.gradle
60 lines (49 loc) · 1.84 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
buildscript {
ext {
def customProperties = new Properties()
customProperties.load(file("../arrow-libs/gradle.properties").newInputStream())
customProperties.each { key, value -> set(key, value) }
apply from: "../arrow-libs/gradle/setup.gradle"
}
dependencies {
classpath "io.arrow-kt:arrow-ank-gradle:${property("projects.version")}"
}
}
plugins {
id "org.jetbrains.kotlin.jvm" version "$KOTLIN_VERSION"
id "org.jetbrains.kotlin.kapt" version "$KOTLIN_VERSION"
id "org.jlleitschuh.gradle.ktlint" version "$KTLINT_GRADLE_VERSION"
}
apply from: "../arrow-libs/gradle/main.gradle"
dependencies {
implementation "io.arrow-kt:arrow-optics:${property("projects.version")}"
implementation "io.arrow-kt:arrow-core:${property("projects.version")}"
implementation "io.arrow-kt:arrow-fx-coroutines:${property("projects.version")}"
implementation "io.arrow-kt:arrow-fx-stm:${property("projects.version")}"
compileOnly "org.jetbrains.kotlin:kotlin-reflect:$KOTLIN_VERSION"
kapt "io.arrow-kt:arrow-meta:${property("projects.version")}"
}
// Ank Plugin is not applied for every library to avoid adding runtime dependencies
apply plugin: 'ank-gradle-plugin'
ank {
source = file("${rootDir}/docs")
target = file("${rootDir}/build/site")
classpath = sourceSets.main.runtimeClasspath
}
task generateAndValidateDoc(type: Exec) {
workingDir "../arrow-libs"
commandLine "sh", "gradlew", "buildDoc"
}
task generateSite(type: Exec) {
commandLine "sh", "gradle/scripts/generate-site.sh"
}
task buildSite {
group = "documentation"
description = "Generates and validates the documentation, and generates the website"
dependsOn 'generateAndValidateDoc'
dependsOn 'generateSite'
}
generateSite.mustRunAfter generateAndValidateDoc
clean.doFirst {
delete "${projectDir}/docs/apidocs"
}