Skip to content

Commit 5b0c6bc

Browse files
committed
Store all library versions in a single TOML file
1 parent 9dd9c11 commit 5b0c6bc

File tree

11 files changed

+230
-158
lines changed

11 files changed

+230
-158
lines changed

api-examples/getting-started/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ kotlinJupyter {
1212
project.version = rootProject.version
1313

1414
dependencies {
15-
implementation(kotlin("stdlib"))
16-
implementation(kotlin("reflect"))
15+
implementation(libs.kotlin.stable.stdlib)
16+
implementation(libs.kotlin.stable.reflect)
1717
}
1818

1919
kotlinPublications {

build.gradle.kts

Lines changed: 26 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,12 @@ import ru.ileasile.kotlin.developer
88
import ru.ileasile.kotlin.githubRepo
99

1010
plugins {
11-
kotlin("jvm")
12-
kotlin("jupyter.api") apply false
13-
kotlin("plugin.serialization")
14-
id("com.github.johnrengelman.shadow")
15-
id("org.jlleitschuh.gradle.ktlint")
1611
id("org.jetbrains.kotlinx.jupyter.dependencies")
17-
id("ru.ileasile.kotlin.publisher")
18-
id("ru.ileasile.kotlin.doc")
19-
id("org.hildan.github.changelog")
2012
}
2113

2214
extra["isMainProject"] = true
2315

24-
val kotlinVersion: String by project
25-
val kotlinxSerializationVersion: String by project
2616
val ktlintVersion: String by project
27-
val junitVersion: String by project
28-
val slf4jVersion: String by project
29-
val logbackVersion: String by project
30-
3117
val docsRepo: String by project
3218
val githubRepoUser: String by project
3319
val githubRepoName: String by project
@@ -91,52 +77,50 @@ tasks.withType<KotlinCompile> {
9177

9278
dependencies {
9379
// Dependency on module with compiler.
94-
api(project(":shared-compiler"))
95-
96-
fun implKotlin(module: String, version: String? = kotlinVersion) = implementation(kotlin(module, version))
80+
api(projects.sharedCompiler)
9781

9882
// Standard dependencies
99-
implKotlin("reflect")
100-
implKotlin("stdlib-jdk8")
101-
implementation("org.jetbrains:annotations:20.1.0")
102-
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2")
83+
implementation(libs.kotlin.dev.reflect)
84+
implementation(libs.kotlin.dev.stdlibJdk8)
85+
implementation(libs.jetbrains.annotations)
86+
implementation(libs.coroutines.core)
10387

10488
// Embedded compiler and scripting dependencies
105-
implKotlin("compiler-embeddable")
106-
implKotlin("scripting-compiler-impl-embeddable")
107-
implKotlin("scripting-compiler-embeddable")
108-
implKotlin("scripting-ide-services")
109-
implKotlin("scripting-dependencies-maven")
110-
implKotlin("script-util")
111-
implKotlin("scripting-common")
89+
implementation(libs.kotlin.dev.compilerEmbeddable)
90+
implementation(libs.kotlin.dev.scriptingCompilerImplEmbeddable)
91+
implementation(libs.kotlin.dev.scriptingCompilerEmbeddable)
92+
implementation(libs.kotlin.dev.scriptingIdeServices)
93+
implementation(libs.kotlin.dev.scriptingDependenciesMaven)
94+
implementation(libs.kotlin.dev.scriptUtil)
95+
implementation(libs.kotlin.dev.scriptingCommon)
11296

11397
// Embedded version of serialization plugin for notebook code
114-
implKotlin("serialization")
98+
implementation(libs.serialization.dev.embeddedPlugin)
11599

116100
// Logging
117-
implementation("org.slf4j:slf4j-api:$slf4jVersion")
118-
implementation("ch.qos.logback:logback-classic:$logbackVersion")
101+
implementation(libs.logging.slf4j.api)
102+
implementation(libs.logging.logback.classic)
119103

120104
// ZeroMQ library for implementing messaging protocol
121-
implementation("org.zeromq:jeromq:0.5.2")
105+
implementation(libs.zeromq)
122106

123107
// Clikt library for parsing output magics
124-
implementation("com.github.ajalt:clikt:2.8.0")
108+
implementation(libs.clikt)
125109

126110
// Serialization implementation for kernel code
127-
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion")
111+
implementation(libs.serialization.json)
128112

129113
// Test dependencies: kotlin-test and Junit 5
130-
testImplementation(kotlin("test"))
131-
testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")
132-
testImplementation("org.junit.jupiter:junit-jupiter-params:$junitVersion")
133-
testImplementation("io.kotlintest:kotlintest-assertions:3.1.6")
114+
testImplementation(libs.kotlin.stable.test)
115+
testImplementation(libs.test.junit.api)
116+
testImplementation(libs.test.junit.params)
117+
testImplementation(libs.test.kotlintest.assertions)
134118

135-
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
119+
testRuntimeOnly(libs.test.junit.engine)
136120

137-
deploy(project(":lib"))
138-
deploy(project(":api"))
139-
deploy(kotlin("script-runtime", kotlinVersion))
121+
deploy(projects.lib)
122+
deploy(projects.api)
123+
deploy(libs.kotlin.dev.scriptRuntime.get())
140124
}
141125

142126
tasks.register("publishToPluginPortal") {

gradle/libs.versions.toml

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
[versions]
2+
kotlin = "1.6.0-dev-903"
3+
stableKotlin = "1.5.20"
4+
gradleKotlin = "1.4.31"
5+
shadowJar = "7.0.0"
6+
changelogPlugin = "1.7.0"
7+
kotlinxSerialization = "1.1.0"
8+
kotlinxCoroutines = "1.4.2"
9+
ktlintGradle = "10.0.0"
10+
ktlint = "0.40.0"
11+
publishPlugin = "0.0.38-dev"
12+
13+
slf4j = "1.7.30"
14+
logback = "1.2.3"
15+
http4k = "4.9.8.0"
16+
jupyterApi = "0.9.1-45"
17+
jetbrainsAnnotations = "20.1.0"
18+
19+
junit = "5.7.1"
20+
kotlinTest = "3.1.6"
21+
clikt = "2.8.0"
22+
zeromq = "0.5.2"
23+
gson = "2.8.6"
24+
25+
jlatexmath = "1.0.7"
26+
xmlgraphicsFop = "2.6"
27+
xmlgraphicsBatikCodec = "1.14"
28+
xmlgraphicsCommons = "2.6"
29+
graphvizJava = "0.18.1"
30+
31+
[libraries]
32+
33+
# Dev Kotlin dependencies
34+
kotlin-dev-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" }
35+
kotlin-dev-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "kotlin" }
36+
kotlin-dev-stdlibJdk8 = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
37+
38+
kotlin-dev-compilerEmbeddable = { group = "org.jetbrains.kotlin", name = "kotlin-compiler-embeddable", version.ref = "kotlin" }
39+
kotlin-dev-scriptingCompilerImplUnshaded = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-compiler-impl", version.ref = "kotlin" }
40+
kotlin-dev-scriptingCompilerImplEmbeddable = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-compiler-impl-embeddable", version.ref = "kotlin" }
41+
kotlin-dev-scriptingCompilerEmbeddable = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-compiler-embeddable", version.ref = "kotlin" }
42+
kotlin-dev-scriptingIdeServices = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-ide-services", version.ref = "kotlin" }
43+
kotlin-dev-scriptingDependencies = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-dependencies", version.ref = "kotlin" }
44+
kotlin-dev-scriptingDependenciesMaven = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-dependencies-maven", version.ref = "kotlin" }
45+
kotlin-dev-scriptUtil = { group = "org.jetbrains.kotlin", name = "kotlin-script-util", version.ref = "kotlin" }
46+
kotlin-dev-scriptingCommon = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-common", version.ref = "kotlin" }
47+
kotlin-dev-scriptingJvm = { group = "org.jetbrains.kotlin", name = "kotlin-scripting-jvm", version.ref = "kotlin" }
48+
kotlin-dev-scriptRuntime = { group = "org.jetbrains.kotlin", name = "kotlin-script-runtime", version.ref = "kotlin" }
49+
50+
# Stable Kotlin dependencies
51+
kotlin-stable-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "stableKotlin" }
52+
kotlin-stable-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "stableKotlin" }
53+
kotlin-stable-stdlibJdk8 = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "stableKotlin" }
54+
kotlin-stable-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "stableKotlin" }
55+
56+
# Gradle-compatible Kotlin dependencies
57+
kotlin-gradle-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "gradleKotlin" }
58+
kotlin-gradle-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "gradleKotlin" }
59+
kotlin-gradle-stdlibJdk8 = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "gradleKotlin" }
60+
kotlin-gradle-test = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "gradleKotlin" }
61+
kotlin-gradle-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "gradleKotlin" }
62+
63+
# Serialization compiler plugin (for Dev Kotlin)
64+
serialization-dev-embeddedPlugin = { group = "org.jetbrains.kotlin", name = "kotlin-serialization", version.ref = "kotlin" }
65+
serialization-dev-unshadedPlugin = { group = "org.jetbrains.kotlin", name = "kotlin-serialization-unshaded", version.ref = "kotlin" }
66+
67+
# Serialization runtime
68+
serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
69+
70+
71+
# JetBrains libraries
72+
jetbrains-annotations = { module = "org.jetbrains:annotations", version.ref = "jetbrainsAnnotations"}
73+
74+
# Coroutines
75+
coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }
76+
77+
# Logging
78+
logging-slf4j-api = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" }
79+
logging-logback-classic = { group = "ch.qos.logback", name = "logback-classic", version.ref = "logback" }
80+
81+
# Network
82+
zeromq = { module = "org.zeromq:jeromq", version.ref = "zeromq" }
83+
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
84+
http4k-core = { module = "org.http4k:http4k-core", version.ref = "http4k" }
85+
http4k-clientApache = { module = "org.http4k:http4k-client-apache", version.ref = "http4k" }
86+
87+
# Parsing console arguments
88+
clikt = { module = "com.github.ajalt:clikt", version.ref = "clikt" }
89+
90+
# Testing
91+
test-junit-api = { group = "org.junit.jupiter", name = "junit-jupiter-api", version.ref = "junit" }
92+
test-junit-params = { group = "org.junit.jupiter", name = "junit-jupiter-params", version.ref = "junit" }
93+
test-junit-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version.ref = "junit" }
94+
test-kotlintest-assertions = { module = "io.kotlintest:kotlintest-assertions", version.ref = "kotlinTest" }
95+
96+
# Different libraries
97+
ext-jlatex = { module = "org.scilab.forge:jlatexmath", version.ref = "jlatexmath" }
98+
99+
ext-xmlgraphics-fop = { module = "org.apache.xmlgraphics:fop", version.ref = "xmlgraphicsFop" }
100+
ext-xmlgraphics-batikCodec = { module = "org.apache.xmlgraphics:batik-codec", version.ref = "xmlgraphicsBatikCodec" }
101+
ext-xmlgraphics-commons = { module = "org.apache.xmlgraphics:xmlgraphics-commons", version.ref = "xmlgraphicsCommons" }
102+
103+
ext-graphviz = { module = "guru.nidi:graphviz-java", version.ref = "graphvizJava" }
104+
105+
# Gradle Plugins
106+
107+
# kotlin("jvm")
108+
plugin-kotlinJvm = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "stableKotlin" }
109+
110+
# kotlin("plugin.serialization") version stableKotlin
111+
plugin-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "stableKotlin" }
112+
113+
# kotlin("jupyter.api") version jupyterApi
114+
plugin-kotlinJupyterApi = { module = "org.jetbrains.kotlin:kotlin-jupyter-api-gradle-plugin", version.ref = "jupyterApi" }
115+
116+
# id("com.github.johnrengelman.shadow") version shadowJar
117+
plugin-shadowJar = { module = "gradle.plugin.com.github.jengelman.gradle.plugins:shadow", version.ref = "shadowJar" }
118+
119+
# id("org.jlleitschuh.gradle.ktlint") version ktlintGradle
120+
plugin-ktlint = { module = "org.jlleitschuh.gradle:ktlint-gradle", version.ref = "ktlintGradle" }
121+
122+
# id("ru.ileasile.kotlin.publisher") version publishPlugin
123+
plugin-publisher = { module = "ru.ileasile:kotlin-libs-publisher", version.ref = "publishPlugin" }
124+
125+
# id("org.hildan.github.changelog") version changelogPlugin
126+
plugin-changelog = { module = "gradle.plugin.org.hildan.gradle:gradle-github-changelog", version.ref = "changelogPlugin" }
127+
128+
[bundles]
129+
http4k = [ "http4k-core", "http4k-clientApache" ]
130+
allGradlePlugins = [
131+
"plugin-kotlinJvm",
132+
"plugin-serialization",
133+
"plugin-kotlinJupyterApi",
134+
"plugin-shadowJar",
135+
"plugin-ktlint",
136+
"plugin-publisher",
137+
"plugin-changelog",
138+
]

jupyter-lib/api-annotations/build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ plugins {
66
}
77

88
project.version = rootProject.version
9-
val gradleKotlinVersion: String by rootProject
109

1110
repositories {
1211
mavenCentral()
1312
}
1413

1514
dependencies {
16-
compileOnly(kotlin("stdlib", gradleKotlinVersion))
17-
compileOnly(kotlin("reflect", gradleKotlinVersion))
15+
compileOnly(libs.kotlin.gradle.stdlib)
16+
compileOnly(libs.kotlin.gradle.reflect)
1817
}
1918

2019
tasks.withType<KotlinCompile> {

jupyter-lib/api/build.gradle.kts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,26 @@ plugins {
88
}
99

1010
project.version = rootProject.version
11-
val kotlinxSerializationVersion: String by rootProject
12-
val junitVersion: String by rootProject
13-
val gradleKotlinVersion: String by rootProject
1411

1512
repositories {
1613
mavenCentral()
1714
}
1815

1916
dependencies {
20-
compileOnly(kotlin("stdlib", gradleKotlinVersion))
21-
compileOnly(kotlin("reflect", gradleKotlinVersion))
17+
compileOnly(libs.kotlin.gradle.stdlib)
18+
compileOnly(libs.kotlin.gradle.reflect)
2219

23-
api("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") {
20+
api(libs.serialization.json) {
2421
excludeKotlinDependencies(
2522
"stdlib",
2623
"stdlib-common"
2724
)
2825
}
2926

30-
testImplementation(kotlin("test", gradleKotlinVersion))
27+
testImplementation(libs.kotlin.gradle.test)
3128

32-
testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")
33-
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
29+
testImplementation(libs.test.junit.api)
30+
testRuntimeOnly(libs.test.junit.engine)
3431
}
3532

3633
tasks.withType<KotlinCompile> {

kotlin-jupyter-plugin/common-dependencies/build.gradle.kts renamed to jupyter-lib/common-dependencies/build.gradle.kts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,18 @@ plugins {
55

66
project.version = rootProject.version
77

8-
val http4kVersion: String by rootProject
9-
val kotlinxSerializationVersion: String by rootProject
10-
val gradleKotlinVersion: String by rootProject
11-
128
repositories {
139
mavenCentral()
1410
}
1511

1612
dependencies {
17-
implementation(kotlin("stdlib", gradleKotlinVersion))
13+
implementation(libs.kotlin.gradle.stdlib)
1814

1915
// HTTP4K for resolving remote library dependencies
20-
fun http4k(name: String) = api("org.http4k:http4k-$name:$http4kVersion")
21-
http4k("core")
22-
http4k("client-apache")
16+
api(libs.bundles.http4k)
2317

2418
// Serialization implementation for kernel code
25-
api("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion")
19+
api(libs.serialization.json)
2620
}
2721

2822
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {

jupyter-lib/kotlin-jupyter-api-gradle-plugin/build.gradle.kts

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ plugins {
99
project.version = rootProject.version
1010
project.group = "org.jetbrains.kotlin"
1111

12-
val junitVersion: String by rootProject
13-
val kotlinVersion: String by rootProject
14-
val stableKotlinVersion: String by rootProject
15-
val gradleKotlinVersion: String by rootProject
16-
1712
repositories {
1813
mavenCentral()
1914
gradlePluginPortal()
@@ -23,16 +18,16 @@ dependencies {
2318
// Temporary solution until Kotlin 1.4 will be supported in
2419
// .kts buildscripts and it will be possible to use
2520
// kotlinx.serialization in plugin code
26-
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$gradleKotlinVersion")
27-
implementation("com.google.code.gson:gson:2.8.6")
21+
implementation(libs.kotlin.gradle.gradlePlugin)
22+
implementation(libs.gson)
2823

29-
testImplementation(kotlin("test", gradleKotlinVersion))
24+
testImplementation(libs.kotlin.gradle.test)
3025

31-
testImplementation("org.junit.jupiter:junit-jupiter-api:$junitVersion")
32-
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
26+
testImplementation(libs.test.junit.api)
27+
testRuntimeOnly(libs.test.junit.engine)
3328

34-
testImplementation(project(":api"))
35-
testImplementation(project(":api-annotations"))
29+
testImplementation(projects.api)
30+
testImplementation(projects.apiAnnotations)
3631
}
3732

3833
val saveVersion by tasks.registering {

0 commit comments

Comments
 (0)