Skip to content
This repository was archived by the owner on Nov 19, 2022. It is now read-only.

Commit 5ad2263

Browse files
committed
[edit]Refer to Kotlin version from gradle.properties
1 parent 976c936 commit 5ad2263

File tree

11 files changed

+68
-40
lines changed

11 files changed

+68
-40
lines changed

buildSrc/build.gradle.kts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import java.util.*
2+
13
plugins {
24
`kotlin-dsl`
35
}
@@ -6,6 +8,12 @@ repositories {
68
gradlePluginPortal()
79
}
810

11+
val props = Properties().apply {
12+
file("../gradle.properties").inputStream().use(this::load)
13+
}
14+
15+
fun version(target: String) = props.getProperty("${target}.version")
16+
917
dependencies {
10-
implementation(kotlin("gradle-plugin", "1.5.21"))
18+
implementation(kotlin("gradle-plugin", version("kotlin")))
1119
}

buildSrc/src/main/java/Kotlin.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
@file:Suppress("HardcodedStringLiteral")
2+
3+
import org.gradle.api.Project
4+
5+
val Project.kotlinVersion get() = version("kotlin")
6+
val Project.kotlinStdlibJs get() = "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlinVersion"
7+
val Project.kotlinTestJs get() = "org.jetbrains.kotlin:kotlin-test-js:$kotlinVersion"

buildSrc/src/main/java/Libraries.kt

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,23 @@
11
@Suppress("unused")
22
object Libraries {
3-
object Plugin {
4-
const val kotlinGradle = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Kotlin.version}"
5-
}
6-
7-
object Kotlin {
8-
const val version = "1.5.21"
9-
const val wrappersBuild = "pre.218-kotlin-$version"
10-
11-
const val js = "org.jetbrains.kotlin:kotlin-stdlib-js:$version"
12-
const val jsTest = "org.jetbrains.kotlin:kotlin-test-js:$version"
3+
class JsWrappers(kotlinVersion: String) {
4+
private val wrappersBuild = "pre.218-kotlin-$kotlinVersion"
135

14-
const val reactVersion = "${Npm.react}-$wrappersBuild"
15-
const val react = "org.jetbrains.kotlin-wrappers:kotlin-react:$reactVersion"
16-
const val reactDom = "org.jetbrains.kotlin-wrappers:kotlin-react-dom:$reactVersion"
6+
private val reactVersion = "${Npm.react}-$wrappersBuild"
7+
val react = "org.jetbrains.kotlin-wrappers:kotlin-react:$reactVersion"
8+
val reactDom = "org.jetbrains.kotlin-wrappers:kotlin-react-dom:$reactVersion"
179

18-
const val htmlVersion = "0.7.3"
19-
const val html = "org.jetbrains.kotlinx:kotlinx-html-js:$htmlVersion"
10+
private val htmlVersion = "0.7.3"
11+
val html = "org.jetbrains.kotlinx:kotlinx-html-js:$htmlVersion"
2012

21-
const val cssVersion = "1.0.0-$wrappersBuild"
22-
const val css = "org.jetbrains.kotlin-wrappers:kotlin-css-js:$cssVersion"
13+
private val cssVersion = "1.0.0-$wrappersBuild"
14+
val css = "org.jetbrains.kotlin-wrappers:kotlin-css-js:$cssVersion"
2315

24-
const val styledVersion = "${Npm.styledComponent}-$wrappersBuild"
25-
const val styled = "org.jetbrains.kotlin-wrappers:kotlin-styled:$styledVersion"
16+
private val styledVersion = "${Npm.styledComponent}-$wrappersBuild"
17+
val styled = "org.jetbrains.kotlin-wrappers:kotlin-styled:$styledVersion"
2618

27-
const val extensionsVersion = "1.0.1-$wrappersBuild"
28-
const val extensions = "org.jetbrains.kotlin-wrappers:kotlin-extensions:$extensionsVersion"
19+
private val extensionsVersion = "1.0.1-$wrappersBuild"
20+
val extensions = "org.jetbrains.kotlin-wrappers:kotlin-extensions:$extensionsVersion"
2921
}
3022

3123
object Npm {

buildSrc/src/main/java/Projects.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@file:Suppress("HardcodedStringLiteral")
2+
3+
import org.gradle.api.Project
4+
5+
fun Project.version(target: String) = prop("$target.version")
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import org.gradle.api.Project
2+
import org.gradle.api.Task
3+
4+
internal fun Project.prop(propertyName: String) = property(propertyName) as String
5+
internal fun Task.prop(propertyName: String) = project.prop(propertyName)

core/build.gradle.kts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@ plugins {
77
}
88

99
dependencies {
10-
api(Libraries.Kotlin.html)
11-
api(Libraries.Kotlin.react)
12-
api(Libraries.Kotlin.reactDom)
13-
api(Libraries.Kotlin.css)
14-
api(Libraries.Kotlin.extensions)
10+
val wrappers = Libraries.JsWrappers(kotlinVersion)
11+
api(wrappers.html)
12+
api(wrappers.react)
13+
api(wrappers.reactDom)
14+
api(wrappers.css)
15+
api(wrappers.extensions)
1516

1617
api(npm("@material-ui/core", Libraries.Npm.MaterialUi.core))
1718

18-
testImplementation(Libraries.Kotlin.jsTest)
19+
testImplementation(kotlinTestJs)
1920
}

gradle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
kotlin.code.style=official
22
kotlin.js.compiler=both
3+
4+
kotlin.version=1.5.21

lab/build.gradle.kts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ plugins {
88

99
dependencies {
1010
api(project(":core"))
11-
api(Libraries.Kotlin.extensions)
11+
12+
val wrappers = Libraries.JsWrappers(kotlinVersion)
13+
api(wrappers.extensions)
14+
1215
api(npm("@material-ui/lab", Libraries.Npm.MaterialUi.lab))
1316

14-
testImplementation(Libraries.Kotlin.jsTest)
17+
testImplementation(kotlinTestJs)
1518
}

pickers/build.gradle.kts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,18 @@ plugins {
99
dependencies {
1010
api(project(":core"))
1111
api(project(":pickers:date-io"))
12-
api(Libraries.Kotlin.html)
13-
api(Libraries.Kotlin.react)
14-
api(Libraries.Kotlin.reactDom)
15-
api(Libraries.Kotlin.css)
16-
api(Libraries.Kotlin.extensions)
12+
13+
val wrappers = Libraries.JsWrappers(kotlinVersion)
14+
api(wrappers.html)
15+
api(wrappers.react)
16+
api(wrappers.reactDom)
17+
api(wrappers.css)
18+
api(wrappers.extensions)
19+
1720
api(npm("react", Libraries.Npm.react))
1821
api(npm("react-dom", Libraries.Npm.react))
1922
api(npm("@material-ui/core", Libraries.Npm.MaterialUi.core))
2023
api(npm("@material-ui/pickers", Libraries.Npm.MaterialUi.pickers))
2124

22-
testImplementation(Libraries.Kotlin.jsTest)
25+
testImplementation(kotlinTestJs)
2326
}

pickers/date-io/date-fns/build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ plugins {
77

88
dependencies {
99
api(project(":pickers:date-io"))
10-
api(Libraries.Kotlin.extensions)
10+
11+
val wrappers = Libraries.JsWrappers(kotlinVersion)
12+
api(wrappers.extensions)
13+
1114
api(npm("@date-io/date-fns", Libraries.Npm.dateIo))
1215
api(npm("date-fns", Libraries.Npm.dateFns))
1316
}

0 commit comments

Comments
 (0)