Skip to content

Conversation

@nbdevos25
Copy link

#14094

java -version

openjdk version "21.0.8" 2025-07-15
OpenJDK Runtime Environment JBR-21.0.8+9-1163.62-nomod (build 21.0.8+9-b1163.62)
OpenJDK 64-Bit Server VM JBR-21.0.8+9-1163.62-nomod (build 21.0.8+9-b1163.62, mixed mode, sharing)

@nbdevos25
Copy link
Author

Hi @jbonofre, here are my changes, if you want to use anything from it. Please let me know if you have any questions or need any help: happy to chat. Thanks!

@jbonofre jbonofre self-requested a review November 11, 2025 15:56
Copy link
Member

@jbonofre jbonofre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At first glance, the change is good. However, I have two comments:

  1. Did you check a release is still valid ? I see a change in the generated artifacts.
  2. As I said in the GitHub Issue, Gradle 9.x requires JDK17+. AFAIR, not all parts of Iceberg are ready to JDK17+ AFAIR. We have to double check and verify with the community here.

classpath 'com.gradleup.shadow:shadow-gradle-plugin:8.3.9'
classpath 'com.palantir.baseline:gradle-baseline-java:5.72.0'
classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.25.0'
classpath 'gradle.plugin.org.inferred:gradle-processors:3.7.0'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I would add just a note to explain why processors plugin can be removed.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added

build.gradle Outdated
testImplementation project(':iceberg-api')
testImplementation project(':iceberg-core')
testImplementation project(':iceberg-core').sourceSets.test.runtimeClasspath
testImplementation project(path: ':iceberg-api', configuration: 'testArtifacts')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think iceberg-api is required here (`iceberg-core should be enough).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removing
testImplementation project(path: ':iceberg-api', configuration: 'testArtifacts') causes following failures -

> Task :iceberg-open-api:test
RESTCompatibilityKitCatalogTests > testRegisterTable() FAILED
    java.lang.NoClassDefFoundError: org/apache/iceberg/TestHelpers
        at org.apache.iceberg.catalog.CatalogTests.testRegisterTable(CatalogTests.java:3139)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

        Caused by:
        java.lang.ClassNotFoundException: org.apache.iceberg.TestHelpers
            at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:642)
            at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
            at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
            ... 4 more

Iceberg REST Compatibility Kit > JUnit Jupiter > RESTCompatibilityKitCatalogTests > testRegisterTable() FAILED
    java.lang.NoClassDefFoundError: org/apache/iceberg/TestHelpers
        at org.apache.iceberg.catalog.CatalogTests.testRegisterTable(CatalogTests.java:3139)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

        Caused by:
        java.lang.ClassNotFoundException: org.apache.iceberg.TestHelpers
            at org.apache.iceberg.catalog.CatalogTests.testRegisterTable(CatalogTests.java:3139)
            ... 3 more

}

artifacts {
archives sourceJar
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have to keep sourceJar, javadocJar, and testJar here as it's required to have a valid release.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

restored

@nbdevos25
Copy link
Author

At first glance, the change is good. However, I have two comments:

  1. Did you check a release is still valid ? I see a change in the generated artifacts.
  2. As I said in the GitHub Issue, Gradle 9.x requires JDK17+. AFAIR, not all parts of Iceberg are ready to JDK17+ AFAIR. We have to double check and verify with the community here.

Hi @jbonofre , for #2 above, I'd appreciate if you can please lead the discussion, and please add me. I am brand new to the repo, and happy to do the work and learn. Thanks!

@jbonofre
Copy link
Member

@nbdevos25 sure. I will help. Let me do a complete pass. Thanks.

@nbdevos25 nbdevos25 force-pushed the nbupgrn7 branch 3 times, most recently from a75a996 to 7e663c0 Compare November 12, 2025 16:29
@nastra nastra changed the title https://github.com/apache/iceberg/issues/14094: upgrade gradle to 9.2.0 Build: Upgrade Gradle to 9.2.0 Nov 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants