From 49932d2ec6ff52c25fe918f0683f6d712455709d Mon Sep 17 00:00:00 2001 From: Yong Date: Tue, 1 Jul 2025 23:13:31 -0500 Subject: [PATCH 1/2] Gradle python code format/check --- build.gradle.kts | 20 ++++++++++++++++++++ gradle/libs.versions.toml | 4 +++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3b08d60e56..601b8cce8f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -35,6 +35,7 @@ plugins { alias(libs.plugins.jetbrains.changelog) // workaround for https://github.com/kordamp/jandex-gradle-plugin/issues/25 alias(libs.plugins.jandex) apply false + alias(libs.plugins.use.python) } val projectName = rootProject.file("ide-name.txt").readText().trim() @@ -238,3 +239,22 @@ changelog { ) version.set(provider { project.version.toString() }) } + +python { + installVirtualenv = true + pip("ruff:${libs.versions.ruff.get()}") +} + +tasks.register("ruffFormat") { + description = "Run ruff format for python code" + + commandLine("/bin/bash", "-c", "./.gradle/python/bin/ruff format client/python") + dependsOn("pipInstall") +} + +tasks.register("ruffCheck") { + description = "Run ruff check for python code" + + commandLine("/bin/bash", "-c", "./.gradle/python/bin/ruff check --fix client/python") + dependsOn("pipInstall") +} \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e67061536d..deb601dcb5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,6 +28,7 @@ scala212 = "2.12.19" spark35 = "3.5.6" slf4j = "2.0.17" swagger = "1.6.16" +ruff = "0.12.1" [bundles] @@ -102,4 +103,5 @@ jandex = { id = "org.kordamp.gradle.jandex", version = "2.1.0" } openapi-generator = { id = "org.openapi.generator", version = "7.12.0" } quarkus = { id = "io.quarkus", version.ref = "quarkus" } rat = { id = "org.nosphere.apache.rat", version = "0.8.1" } -jetbrains-changelog = { id = "org.jetbrains.changelog", version = "2.2.1"} \ No newline at end of file +jetbrains-changelog = { id = "org.jetbrains.changelog", version = "2.2.1"} +use-python = { id = "ru.vyarus.use-python", version = "4.1.0" } From efbcd186719c7382f59cd89d5d3a75185327c2de Mon Sep 17 00:00:00 2001 From: Yong Date: Thu, 3 Jul 2025 00:29:43 -0500 Subject: [PATCH 2/2] Set ruff check/format as dependency for main ones --- build-logic/src/main/kotlin/polaris-java.gradle.kts | 6 ++++++ build.gradle.kts | 8 +++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/build-logic/src/main/kotlin/polaris-java.gradle.kts b/build-logic/src/main/kotlin/polaris-java.gradle.kts index 4370b5518c..25c3a3e637 100644 --- a/build-logic/src/main/kotlin/polaris-java.gradle.kts +++ b/build-logic/src/main/kotlin/polaris-java.gradle.kts @@ -55,6 +55,11 @@ checkstyle { // Ensure Checkstyle runs after jandex to avoid task dependency issues tasks.withType().configureEach { tasks.findByName("jandex")?.let { mustRunAfter(it) } } +tasks.checkstyleMain { + // Add the dependency on the root project's ruffCheck task + dependsOn(":ruffCheck") +} + tasks.withType(JavaCompile::class.java).configureEach { options.compilerArgs.addAll(listOf("-Xlint:unchecked", "-Xlint:deprecation")) options.errorprone.disableAllWarnings = true @@ -88,6 +93,7 @@ tasks.register("format").configure { group = "verification" description = "Runs all code formatting tasks" dependsOn("spotlessApply") + dependsOn(":ruffFormat") } tasks.named("test").configure { jvmArgs("-Duser.language=en") } diff --git a/build.gradle.kts b/build.gradle.kts index 601b8cce8f..ef33d830d9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -248,13 +248,15 @@ python { tasks.register("ruffFormat") { description = "Run ruff format for python code" - commandLine("/bin/bash", "-c", "./.gradle/python/bin/ruff format client/python") + workingDir = project.rootDir + commandLine("/bin/bash", "-c", "${project.rootDir.resolve(".gradle/python/bin/ruff").absolutePath} format client/python") dependsOn("pipInstall") } tasks.register("ruffCheck") { description = "Run ruff check for python code" - commandLine("/bin/bash", "-c", "./.gradle/python/bin/ruff check --fix client/python") + workingDir = project.rootDir + commandLine("/bin/bash", "-c", "${project.rootDir.resolve(".gradle/python/bin/ruff").absolutePath} check --fix --exit-non-zero-on-fix client/python") dependsOn("pipInstall") -} \ No newline at end of file +}