Move tool versions to Version Catalog

- fix: make version catalog accessible from `buildSrc` plugins
- chore: declare `googleFormatVersion` in version catalog
- chore: declare `ktfmt` in version catalog

Relates-To: apple/pkl#204
Signed-off-by: Sam Gammon <sam@elide.ventures>
This commit is contained in:
Sam Gammon
2024-02-20 10:24:19 -08:00
committed by Philip K.F. Hölzenspies
parent 21e0e149ac
commit ca31185302
4 changed files with 18 additions and 2 deletions
+4
View File
@@ -9,6 +9,10 @@ dependencies {
exclude(module = "kotlin-android-extensions") exclude(module = "kotlin-android-extensions")
} }
implementation(libs.shadowPlugin) implementation(libs.shadowPlugin)
// fix from the Gradle team: makes version catalog symbols available in build scripts
// see here for more: https://github.com/gradle/gradle/issues/15383
implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location))
} }
java { java {
@@ -1,5 +1,7 @@
@file:Suppress("HttpUrlsUsage") @file:Suppress("HttpUrlsUsage")
import org.gradle.accessors.dm.LibrariesForLibs
plugins { plugins {
`java-library` `java-library`
id("pklKotlinTest") id("pklKotlinTest")
@@ -9,6 +11,9 @@ plugins {
// make sources Jar available to other subprojects // make sources Jar available to other subprojects
val sourcesJarConfiguration = configurations.register("sourcesJar") val sourcesJarConfiguration = configurations.register("sourcesJar")
// Version Catalog library symbols.
val libs = the<LibrariesForLibs>()
java { java {
withSourcesJar() // creates `sourcesJar` task withSourcesJar() // creates `sourcesJar` task
withJavadocJar() withJavadocJar()
@@ -21,7 +26,7 @@ artifacts {
spotless { spotless {
java { java {
googleJavaFormat("1.15.0") googleJavaFormat(libs.versions.googleJavaFormat.get())
targetExclude("**/generated/**", "**/build/**") targetExclude("**/generated/**", "**/build/**")
licenseHeaderFile(rootProject.file("buildSrc/src/main/resources/license-header.star-block.txt")) licenseHeaderFile(rootProject.file("buildSrc/src/main/resources/license-header.star-block.txt"))
} }
@@ -1,3 +1,5 @@
import org.gradle.accessors.dm.LibrariesForLibs
plugins { plugins {
id("pklJavaLibrary") id("pklJavaLibrary")
@@ -6,6 +8,9 @@ plugins {
val buildInfo = project.extensions.getByType<BuildInfo>() val buildInfo = project.extensions.getByType<BuildInfo>()
// Version Catalog library symbols.
val libs = the<LibrariesForLibs>()
dependencies { dependencies {
// At least some of our kotlin APIs contain Kotlin stdlib types // At least some of our kotlin APIs contain Kotlin stdlib types
// that aren't compiled away by kotlinc (e.g., `kotlin.Function`). // that aren't compiled away by kotlinc (e.g., `kotlin.Function`).
@@ -21,7 +26,7 @@ tasks.compileKotlin {
spotless { spotless {
kotlin { kotlin {
ktfmt("0.44").googleStyle() ktfmt(libs.versions.ktfmt.get()).googleStyle()
targetExclude("**/generated/**", "**/build/**") targetExclude("**/generated/**", "**/build/**")
licenseHeaderFile(rootProject.file("buildSrc/src/main/resources/license-header.star-block.txt")) licenseHeaderFile(rootProject.file("buildSrc/src/main/resources/license-header.star-block.txt"))
} }
+2
View File
@@ -7,6 +7,7 @@ clikt = "3.5.1"
commonMark = "0.+" commonMark = "0.+"
downloadTaskPlugin = "4.1.2" downloadTaskPlugin = "4.1.2"
geantyref = "1.+" geantyref = "1.+"
googleJavaFormat = "1.15.0"
# must not use `+` because used in download URL # must not use `+` because used in download URL
graalVm = "22.3.3" graalVm = "22.3.3"
# intentionally empty; replaced by patch file when building pkl-cli macos/aarch64 # intentionally empty; replaced by patch file when building pkl-cli macos/aarch64
@@ -30,6 +31,7 @@ kotlin = "1.7.10"
kotlinPoet = "1.6.+" kotlinPoet = "1.6.+"
kotlinxHtml = "0.+" kotlinxHtml = "0.+"
kotlinxSerialization = "1.+" kotlinxSerialization = "1.+"
ktfmt = "0.44"
# replaces nuValidator's log4j dependency # replaces nuValidator's log4j dependency
# something related to log4j-1.2-api is apparently broken in 2.17.2 # something related to log4j-1.2-api is apparently broken in 2.17.2
log4j = "2.17.1" log4j = "2.17.1"