-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsettings.gradle.kts
33 lines (29 loc) · 1.27 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
rootProject.name = "advent-of-code"
include(
"advents",
"visualisations"
)
pluginManagement {
// DO NOT TRY TO USE import OR REMOVE THE PluginManagementSpec PREFIX - THESE ARE ALL NEEDED AS THE pluginManagement BLOCK DOES NOT
// SEE OR ALLOW EXTERNAL REFERENCES WHEN IT COMPILES.
fun PluginManagementSpec.loadProperties(fileName: String, path: String = rootDir.absolutePath) = java.util.Properties().also { properties ->
File("$path/$fileName").inputStream().use {
properties.load(it)
}
}
val versions: java.util.Properties = loadProperties("gradle.properties")
val kotlinVersion: String by versions
val shadowVersion: String by versions
resolutionStrategy {
eachPlugin {
when(requested.id.id) {
"org.jetbrains.kotlin.jvm" -> useVersion(kotlinVersion)
"org.jetbrains.kotlin.kapt" -> useVersion(kotlinVersion)
"org.jetbrains.kotlin.plugin.allopen" -> useVersion(kotlinVersion)
"org.jetbrains.kotlin.multiplatform" -> useVersion(kotlinVersion)
"org.jetbrains.kotlin.plugin.serialization" -> useVersion(kotlinVersion)
"com.github.johnrengelman.shadow" -> useVersion(shadowVersion)
}
}
}
}