summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildSrc/build.gradle.kts13
-rw-r--r--buildSrc/settings.gradle.kts10
-rw-r--r--buildSrc/src/main/kotlin/Libs.kt10
-rw-r--r--gradle/libs.versions.toml18
-rw-r--r--settings.gradle.kts1
5 files changed, 33 insertions, 19 deletions
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index 760f0cab..1b24b44b 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -31,10 +31,11 @@ repositories {
}
dependencies {
- implementation(kotlin("gradle-plugin", version = "1.6.10"))
- implementation("org.jlleitschuh.gradle:ktlint-gradle:10.2.1")
- implementation("org.jetbrains.kotlin:kotlin-allopen:1.6.10")
- implementation("me.champeau.jmh:jmh-gradle-plugin:0.6.6")
- implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.6.10")
- implementation("gradle.plugin.com.github.johnrengelman:shadow:7.1.2")
+ implementation(libs.kotlin.gradle)
+ implementation(libs.kotlin.allopen)
+ implementation(libs.kotlin.noarg)
+ implementation(libs.ktlint.gradle)
+ implementation(libs.jmh.gradle)
+ implementation(libs.dokka.gradle)
+ implementation(libs.shadow)
}
diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts
index c9f9ab38..746d38f1 100644
--- a/buildSrc/settings.gradle.kts
+++ b/buildSrc/settings.gradle.kts
@@ -20,4 +20,12 @@
* SOFTWARE.
*/
-/* Intentionally left blank */
+enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
+
+dependencyResolutionManagement {
+ versionCatalogs {
+ create("libs") {
+ from(files("../gradle/libs.versions.toml"))
+ }
+ }
+}
diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt
index f538b1ad..6a73e1b9 100644
--- a/buildSrc/src/main/kotlin/Libs.kt
+++ b/buildSrc/src/main/kotlin/Libs.kt
@@ -26,14 +26,12 @@ import org.gradle.api.JavaVersion
import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.kotlin.dsl.getByType
-import kotlin.properties.ReadOnlyProperty
/**
* This class makes the version catalog accessible for the build scripts until Gradle adds support for it.
*
* See https://github.com/gradle/gradle/issues/15383
*/
-@Suppress("UnstableApiUsage")
public class Libs(project: Project) {
/**
* The version catalog of the project.
@@ -41,16 +39,10 @@ public class Libs(project: Project) {
private val versionCatalog = project.extensions.getByType(VersionCatalogsExtension::class).named("libs")
/**
- * A delegate for obtaining configuration values from a [Project] instance.
- */
- private fun lib(name: String? = null): ReadOnlyProperty<Libs, String> =
- ReadOnlyProperty { _, property -> get(name ?: property.name) }
-
- /**
* Obtain the version for the specified [dependency][name].
*/
operator fun get(name: String): String {
- val dep = versionCatalog.findDependency(name).get().get()
+ val dep = versionCatalog.findLibrary(name).get().get()
return "${dep.module.group}:${dep.module.name}:${dep.versionConstraint.displayName}"
}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 5fe5cc33..a1251a1c 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -3,25 +3,33 @@ classgraph = "4.8.138"
clikt = "3.3.0"
config = "1.4.1"
commons-math3 = "3.6.1"
+dokka = "1.6.10"
hadoop = "3.3.1"
jackson = "2.13.1"
+jmh-gradle = "0.6.6"
junit-jupiter = "5.8.2"
junit-platform = "1.8.2"
+kotlin = "1.6.10"
kotlin-logging = "2.1.21"
kotlinx-coroutines = "1.6.0"
+ktlint-gradle = "10.2.1"
ktor = "1.6.7"
log4j = "2.17.1"
mockk = "1.12.2"
opentelemetry-main = "1.11.0"
-opentelemetry-metrics = "1.10.1-alpha"
-opentelemetry-semconv = "1.10.1-alpha"
+opentelemetry-metrics = "1.11.0-alpha"
+opentelemetry-semconv = "1.11.0-alpha"
parquet = "1.12.2"
progressbar = "0.9.2"
sentry = "5.5.2"
+shadow = "7.1.2"
slf4j = "1.7.32"
[libraries]
# Kotlin
+kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
+kotlin-allopen = { module = "org.jetbrains.kotlin:kotlin-allopen", version.ref = "kotlin" }
+kotlin-noarg = { module = "org.jetbrains.kotlin:kotlin-noarg", version.ref = "kotlin" }
kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
# Logging
@@ -68,3 +76,9 @@ classgraph = { module = "io.github.classgraph:classgraph", version.ref = "classg
hadoop-common = { module = "org.apache.hadoop:hadoop-common", version.ref = "hadoop" }
hadoop-mapreduce-client-core = { module = "org.apache.hadoop:hadoop-mapreduce-client-core", version.ref = "hadoop" }
commons-math3 = { module = "org.apache.commons:commons-math3", version.ref = "commons-math3" }
+
+# Other (Build)
+dokka-gradle = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" }
+ktlint-gradle = { module = "org.jlleitschuh.gradle:ktlint-gradle", version.ref = "ktlint-gradle" }
+jmh-gradle = { module = "me.champeau.jmh:jmh-gradle-plugin", version.ref = "jmh-gradle" }
+shadow = { module = "gradle.plugin.com.github.johnrengelman:shadow", version.ref = "shadow" }
diff --git a/settings.gradle.kts b/settings.gradle.kts
index f518a984..73275387 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -61,5 +61,4 @@ include(":opendc-harness:opendc-harness-engine")
include(":opendc-harness:opendc-harness-cli")
include(":opendc-harness:opendc-harness-junit5")
-enableFeaturePreview("VERSION_CATALOGS")
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")