-
Notifications
You must be signed in to change notification settings - Fork 18
/
build.gradle
111 lines (93 loc) · 2.96 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
104
105
106
107
108
109
110
111
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = "1.7.20-RC"
ext.hilt_version = '2.44.2'
ext.ktlint_version = '0.45.2'
ext.lifecycle_version = '2.5.1'
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:7.3.1"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
classpath "com.diffplug.spotless:spotless-plugin-gradle:6.11.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven { url 'https://jitpack.io' }
maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }
}
}
final Set<String> EDITOR_CONFIG_KEYS = [
"ij_kotlin_imports_layout",
"indent_size",
"end_of_line",
"charset",
"continuation_indent_size"
]
subprojects {
apply plugin: "com.diffplug.spotless"
spotless {
kotlin {
target("**/*.kt")
// TODO this should all come from editorconfig https://github.com/diffplug/spotless/issues/142
final data = [
"indent_size" : "2",
"continuation_indent_size": "4",
"ij_kotlin_imports_layout": "*",
"end_of_line" : "lf",
"charset" : "utf-8",
"disabled_rules" : "experimental:package-name,experimental:trailing-comma",
]
ktlint(ktlint_version)
.setUseExperimental(true)
.userData(data.subMap(data.keySet() - EDITOR_CONFIG_KEYS))
.editorConfigOverride(data.subMap(EDITOR_CONFIG_KEYS))
trimTrailingWhitespace()
indentWithSpaces()
endWithNewline()
}
format("xml") {
target("**/res/**/*.xml")
trimTrailingWhitespace()
indentWithSpaces()
endWithNewline()
}
groovyGradle {
target("*.gradle")
trimTrailingWhitespace()
indentWithSpaces()
endWithNewline()
}
kotlinGradle {
target("**/*.gradle.kts", "*.gradle.kts")
// TODO this should all come from editorconfig https://github.com/diffplug/spotless/issues/142
final data = [
"indent_size" : "2",
"continuation_indent_size": "4",
"ij_kotlin_imports_layout": "*",
"end_of_line" : "lf",
"charset" : "utf-8",
"disabled_rules" : "no-wildcard-imports",
]
ktlint(ktlint_version)
.setUseExperimental(true)
.userData(data.subMap(data.keySet() - EDITOR_CONFIG_KEYS))
.editorConfigOverride(data.subMap(EDITOR_CONFIG_KEYS))
trimTrailingWhitespace()
indentWithSpaces()
endWithNewline()
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}