Vladimir Sitnikov
Vladimir Sitnikov
Note: there is already `.ignoreParentClassloader()` in some of `ClasspathScanningLoader` methods, so the scan durations might be better for the current `rewrite-gradle-plugin`: * https://github.com/openrewrite/rewrite-gradle-plugin/blob/3dc7673d50c3b4c20a48a34b5deda3b57b4a1a4f/plugin/src/main/java/org/openrewrite/gradle/isolated/DefaultProjectParser.java#L573 * https://github.com/openrewrite/rewrite/blob/fb7dbd6c95ef5492301dcb941e7f8eefd223621e/rewrite-core/src/main/java/org/openrewrite/config/Environment.java#L229 * https://github.com/openrewrite/rewrite/blob/fb7dbd6c95ef5492301dcb941e7f8eefd223621e/rewrite-core/src/main/java/org/openrewrite/config/ClasspathScanningLoader.java#L73-L75
Currently, Exposed buffers all the rows within a single list, so it effectively keeps the data in memory instead of passing it to the database: https://github.com/JetBrains/Exposed/blob/0.41.1/exposed-core/src/main/kotlin/org/jetbrains/exposed/sql/statements/BaseBatchInsertStatement.kt#L19 It might be nice...
Just in case, returning can be both "columns" or "aggregates" (e.g. `returning count(*)`) Oracle supports that as well.
I guess the mentioned flags are outdated, and they should be removed
See https://kotlinlang.org/docs/whatsnew19.html#try-the-k2-compiler-in-your-project > `./gradlew -Pkotlin.experimental.tryK2=true ...`
The majority of compilation errors are caused by `jsr305` annotations. WDYT of completely removing `jsr305` from jqwik? For instance, https://github.com/jqwik-team/jqwik/blob/main/api/src/main/java/net/jqwik/api/NonNullApi.java effectively marks everything as non-null no matter if you specify...
I think you should be able to drop `@NonNullApi` (along with `jsr305` dependency), and add `@NullMarked` at the package level: https://jspecify.dev/docs/user-guide#java-variables-are-references
jsr305 removal makes sense even without K2
Kotlin 2.0 has been released yesterday: https://kotlinlang.org/docs/whatsnew20.html
It looks good, however, it is worth adding `-Xjdk-release=...` (~ https://github.com/jqwik-team/jqwik/blob/207f5f067b67ee2cbd6133c769d375f10436ce23/kotlin/build.gradle#L87C36-L87C58) to avoid cases like https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ I guess adding `"-Xjdk-release=${javaTargetVersion}"` to `freeCompilerArgs` should do the trick.