Conversation
Bump kotlin plugin from 2.4.0 to 2.4.10 Removed imported instances of kotlin.system.exitProcess from com.squareup.okhttp3:okhttp:5.4.0 vulnerable dependency org.jetbrains.kotlin:kotlin-stdlib:2.2.21
jonmille
requested review from
RitaChen609,
ngodugu-marklogic,
rjdew-progress and
rjrudin
as code owners
July 29, 2026 19:49
There was a problem hiding this comment.
Pull request overview
This PR updates the ml-development-tools Gradle plugin’s Kotlin toolchain/dependency resolution to address a vulnerable transitive kotlin-stdlib (pulled in via OkHttp), and removes usages of kotlin.system.exitProcess from Kotlin entrypoints.
Changes:
- Bumped
org.jetbrains.kotlin.jvmplugin from2.4.0to2.4.10and removed the explicitkotlin-stdlib:2.2.21dependency. - Forced
org.jetbrains.kotlin:kotlin-stdlib:2.4.10across all subprojects via root Gradle resolution strategy. - Replaced
exitProcessusage in Kotlinmainentrypoints with exceptions, and updated the example project to consume8.2-SNAPSHOTartifacts.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ml-development-tools/build.gradle | Updates Kotlin plugin version and removes explicit kotlin-stdlib dependency. |
| build.gradle | Forces kotlin-stdlib 2.4.10 across subprojects to override vulnerable transitive version. |
| ml-development-tools/src/main/kotlin/com/marklogic/client/tools/fnmodinit.kt | Removes exitProcess usage in CLI entrypoint. |
| ml-development-tools/src/main/kotlin/com/marklogic/client/tools/fnclassgen.kt | Removes exitProcess usage in CLI entrypoint. |
| ml-development-tools/src/test/kotlin/com/marklogic/client/test/dbfunction/fntestgen.kt | Replaces exitProcess with exceptions in test generator entrypoint. |
| ml-development-tools/src/test/example-project/build.gradle | Updates example project to use 8.2-SNAPSHOT artifacts. |
Comments suppressed due to low confidence (1)
ml-development-tools/src/test/kotlin/com/marklogic/client/test/dbfunction/fntestgen.kt:521
- The new IllegalArgumentException for invalid args is immediately caught by the broad catch block, which prints a stack trace but then returns normally. This makes the JavaExec generateTests task succeed (exit code 0) even when argument validation or release validation fails, masking failures.
else -> throw IllegalArgumentException("usage: fntestgen testDir [release]")
}
} catch (e: Exception) {
e.printStackTrace()
}
rjrudin
approved these changes
Jul 29, 2026
RitaChen609
approved these changes
Jul 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bump kotlin plugin from 2.4.0 to 2.4.10
Removed imported instances of kotlin.system.exitProcess from com.squareup.okhttp3:okhttp:5.4.0 vulnerable dependency org.jetbrains.kotlin:kotlin-stdlib:2.2.21
Jira Item: https://progresssoftware.atlassian.net/browse/MLE-31109
Validating the
kotlin-stdlibCVE fix1. Verify dependency resolution (no MarkLogic server needed)
From the repo root, confirm
kotlin-stdlibis forced to2.4.10across all subprojects:Expected output — every
kotlin-stdlibline should show-> 2.4.10:2. Confirm
exitProcessis gone from the main sourcegrep -r "exitProcess" ml-development-tools/src/main/Expected: no results.
3. Build the project
./gradlew clean build -x testExpected:
BUILD SUCCESSFUL4. Test the plugin end-to-end via the example-project
Expected:
BUILD SUCCESSFULand a generatedDynamicPricer.javafile appearing undersrc/main/java/org/example/inventory/(can be deleted afterwards — it's gitignored).