From 498f4501b49e434af61f75265d2328926db5bc5f Mon Sep 17 00:00:00 2001 From: Jolan Rensen Date: Thu, 12 Dec 2024 16:16:53 +0100 Subject: [PATCH 1/2] bumping gradle version to 8.11 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e411586a54..e48eca5755 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From dd38c1bc5d8dcb285034514921939615ec43e094 Mon Sep 17 00:00:00 2001 From: Jolan Rensen Date: Thu, 12 Dec 2024 16:19:15 +0100 Subject: [PATCH 2/2] added backwards compatibility to gradle 7.0 (needs to be tested to be sure) --- gradle/libs.versions.toml | 2 + .../dataframe-gradle-plugin/build.gradle.kts | 13 +++++-- .../dataframe/gradle/SchemaGeneratorPlugin.kt | 38 +++++++++---------- settings.gradle.kts | 1 + 4 files changed, 31 insertions(+), 23 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f66f2251f6..2d01e99bc4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -57,6 +57,7 @@ kotlin-compile-testing = "1.6.0" duckdb = "1.1.3" buildconfig = "5.5.1" benchmark = "0.4.12" +gradle-plugin-toolbox = "1.9.0" geotools = "32.1" jai-core = "1.1.3" @@ -173,3 +174,4 @@ plugin-publish = { id = "com.gradle.plugin-publish", version.ref = "plugin-publi shadow = { id = "com.gradleup.shadow", version.ref = "shadow" } buildconfig = { id = "com.github.gmazzo.buildconfig", version.ref = "buildconfig" } kotlinx-benchmark = { id = "org.jetbrains.kotlinx.benchmark", version.ref = "benchmark" } +plugin-toolbox = { id = "dev.gradleplugins.java-gradle-plugin", version.ref = "gradle-plugin-toolbox" } diff --git a/plugins/dataframe-gradle-plugin/build.gradle.kts b/plugins/dataframe-gradle-plugin/build.gradle.kts index aaa0bd45c6..29f1e340f7 100644 --- a/plugins/dataframe-gradle-plugin/build.gradle.kts +++ b/plugins/dataframe-gradle-plugin/build.gradle.kts @@ -1,11 +1,11 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { - `kotlin-dsl` - `java-gradle-plugin` + kotlin("jvm") `maven-publish` - alias(libs.plugins.plugin.publish) alias(libs.plugins.ktlint) + alias(libs.plugins.plugin.toolbox) +// alias(libs.plugins.plugin.toolbox.functional.test) TODO } repositories { @@ -14,6 +14,7 @@ repositories { google() } +val minGradleVersion = "7.0" group = "org.jetbrains.kotlinx.dataframe" dependencies { @@ -24,7 +25,7 @@ dependencies { implementation(project(":dataframe-excel")) implementation(project(":dataframe-jdbc")) - implementation(libs.kotlin.gradle.plugin.api) + implementation(gradleKotlinDsl()) implementation(libs.kotlin.gradle.plugin) implementation(libs.serialization.core) implementation(libs.serialization.json) @@ -68,6 +69,10 @@ gradlePlugin { website = "https://github.com/Kotlin/dataframe" vcsUrl = "https://github.com/Kotlin/dataframe" + compatibility { + minimumGradleVersion = minGradleVersion + } + plugins { create("schemaGeneratorPlugin") { id = "org.jetbrains.kotlinx.dataframe" diff --git a/plugins/dataframe-gradle-plugin/src/main/kotlin/org/jetbrains/dataframe/gradle/SchemaGeneratorPlugin.kt b/plugins/dataframe-gradle-plugin/src/main/kotlin/org/jetbrains/dataframe/gradle/SchemaGeneratorPlugin.kt index 7e3077b5bf..ebd1e87646 100644 --- a/plugins/dataframe-gradle-plugin/src/main/kotlin/org/jetbrains/dataframe/gradle/SchemaGeneratorPlugin.kt +++ b/plugins/dataframe-gradle-plugin/src/main/kotlin/org/jetbrains/dataframe/gradle/SchemaGeneratorPlugin.kt @@ -40,13 +40,13 @@ class SchemaGeneratorPlugin : Plugin { createTask(target, extension, appliedPlugin, it) } val generateAll = target.tasks.create("generateDataFrames") { - group = GROUP - dependsOn(*generationTasks.toTypedArray()) + it.group = GROUP + it.dependsOn(*generationTasks.toTypedArray()) } - tasks.withType(KspTaskJvm::class.java).configureEach { - dependsOn(generateAll) + it.tasks.withType(KspTaskJvm::class.java).configureEach { + it.dependsOn(generateAll) } - tasks.withType { + it.tasks.withType { dependsOn(generateAll) } } @@ -84,8 +84,8 @@ class SchemaGeneratorPlugin : Plugin { // Configure the right ksp task to be aware of these new sources val kspTaskName = "ksp${sourceSetName.replaceFirstChar { it.uppercase() }}Kotlin" target.tasks.withType(KspTaskJvm::class.java).configureEach { - if (sourceSetName == "main" && name == "kspKotlin" || name == kspTaskName) { - source(src) + if (sourceSetName == "main" && it.name == "kspKotlin" || it.name == kspTaskName) { + it.source(src) } } @@ -125,18 +125,18 @@ class SchemaGeneratorPlugin : Plugin { val delimiters = schema.withNormalizationBy ?: extension.withNormalizationBy ?: setOf('\t', ' ', '_') return target.tasks.create("generateDataFrame$interfaceName", GenerateDataSchemaTask::class.java) { - (logging as? DefaultLoggingManager)?.setLevelInternal(LogLevel.QUIET) - group = GROUP - data.set(schema.data) - this.interfaceName.set(interfaceName) - this.packageName.set(packageName) - this.src.set(src) - this.schemaVisibility.set(visibility) - this.csvOptions.set(schema.csvOptions) - this.jsonOptions.set(schema.jsonOptions) - this.jdbcOptions.set(schema.jdbcOptions) - this.defaultPath.set(defaultPath) - this.delimiters.set(delimiters) + (it.logging as? DefaultLoggingManager)?.setLevelInternal(LogLevel.QUIET) + it.group = GROUP + it.data.set(schema.data) + it.interfaceName.set(interfaceName) + it.packageName.set(packageName) + it.src.set(src) + it.schemaVisibility.set(visibility) + it.csvOptions.set(schema.csvOptions) + it.jsonOptions.set(schema.jsonOptions) + it.jdbcOptions.set(schema.jdbcOptions) + it.defaultPath.set(defaultPath) + it.delimiters.set(delimiters) } } diff --git a/settings.gradle.kts b/settings.gradle.kts index bc5b6b0297..f3ccc4b609 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -35,6 +35,7 @@ pluginManagement { repositories { mavenLocal() gradlePluginPortal() + maven(url = "https://repo.nokee.dev/release") } } plugins {