-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathsettings.gradle.kts
74 lines (68 loc) · 2.07 KB
/
settings.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
63
64
65
66
67
68
69
70
71
72
73
74
@file:[Suppress(
"UNCHECKED_CAST", "GradleDynamicVersion", "UnstableApiUsage",
"SpellCheckingInspection", "SafeCastWithReturn",
"NestedLambdaShadowedImplicitParameter"
) OptIn(InternalMarsProjectApi::class)]
buildscript {
// parse versions.properties file and collect to Map<String, String>
val versions = rootDir.resolve("versions.properties").readLines()
.filter { it.contains("=") && !it.startsWith("#") }
.map { it.substringBeforeLast("=") to it.substringAfterLast("=") }
.toMap()
// find newest dependency from the versions.properties file
fun dep(group: String, artifact: String, versionKey: String? = null) =
"$group:$artifact:" + versions[versionKey ?: "version.$group..$artifact"]
repositories {
gradlePluginPortal()
jcenter()
google()
maven("https://dl.bintray.com/oh-rin/Mars/")
}
listOf(
"com.mars.gradle.plugin:toolkit:0.6.25",
"org.jlleitschuh.gradle:ktlint-gradle:9.4.1",
"com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5",
"de.fayard.refreshVersions:refreshVersions:0.9.5",
dep("org.jetbrains.kotlin", "kotlin-gradle-plugin"),
dep("com.android.tools.build", "gradle")
).forEach { dependencies.classpath(it) }
}
setupMarsToolkit {
shareMarsAndroidConfig {
compileSdkVersion = 30
targetSdkVersion = 30
minSdkVersion = 21
}
shareDependencies {
implementationOf(
Kotlin.stdlib.jdk8,
KotlinX.coroutines.core,
KotlinX.coroutines.android,
AndroidX.appCompat,
AndroidX.core,
AndroidX.core.ktx,
AndroidX.lifecycle.commonJava8,
AndroidX.lifecycle.runtimeKtx,
AndroidX.lifecycle.viewModelKtx,
AndroidX.lifecycle.liveDataCoreKtx
)
testImplementationOf(
Testing.junit4,
AndroidX.test.runner,
AndroidX.test.coreKtx,
AndroidX.test.ext.truth,
AndroidX.test.ext.junitKtx
)
}
shareDependencies("kotlin") {
implementationOf(
Kotlin.stdlib.jdk8,
KotlinX.coroutines.core
)
testImplementationOf(
KotlinX.coroutines.test,
Testing.junit4
)
}
}
importProject(rootDir, "")