-
Notifications
You must be signed in to change notification settings - Fork 6
/
build.gradle.kts
62 lines (56 loc) · 1.77 KB
/
build.gradle.kts
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
plugins {
id("org.jmailen.kotlinter") version "3.12.0" apply true
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
maven("https://plugins.gradle.org/m2/")
}
dependencies {
classpath(BuildPlugins.TOOLS_BUILD_GRADLE)
classpath(BuildPlugins.DAGGER_HILT_PLUGIN)
classpath(BuildPlugins.KOTLIN_GRADLE_PLUGIN)
classpath(BuildPlugins.KTLINT_GRADLE_PLUGIN)
classpath("com.twitter.compose.rules:ktlint:0.0.22")
}
}
subprojects {
apply(plugin = "org.jlleitschuh.gradle.ktlint")
apply(plugin = BuildPlugins.KOTLINTER)
}
allprojects {
repositories {
google()
mavenCentral()
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().all {
kotlinOptions.freeCompilerArgs += listOf(
"-Xopt-in=kotlin.RequiresOptIn",
"-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi"
)
kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
tasks.register("clean").configure {
delete(rootProject.buildDir)
}
tasks.register("installGitHook", Copy::class) {
from("${rootProject.rootDir}/scripts/git-hooks")
into("${rootProject.rootDir}/.git/hooks")
fileMode = 7 * 64 + 7 * 8 + 7
}
tasks.register("check").configure {
dependsOn("installKotlinterPrePushHook")
}
kotlinter {
ignoreFailures = false
reporters = arrayOf("checkstyle", "html", "plain")
experimentalRules = true
disabledRules = emptyArray()
// disabledRules = arrayOf("experimental:argument-list-wrapping", "no-wildcard-imports")
}
afterEvaluate {
// We install the hook at the first occasion
tasks["clean"].dependsOn(tasks.getByName("installGitHook"))
}