roryqi commented on code in PR #14331:
URL: https://github.com/apache/gravitino/pull/14331#discussion_r4420236342


##########
iceberg/iceberg-rest-server/build.gradle.kts:
##########
@@ -269,44 +200,35 @@ tasks {
   }
 }
 
-val experimentalTest by tasks.registering(Test::class) {
-  description = "Runs Iceberg REST tests that require the experimental Iceberg 
runtime"
-  group = "verification"
-  testClassesDirs = sourceSets.test.get().output.classesDirs
-  classpath =
-    sourceSets.main.get().output +
-    sourceSets.test.get().output +
-    experimentalTestRuntimeClasspath
-  systemProperty("datastratoIcebergGitCommit", datastratoIcebergGitCommit)
-  systemProperty("spark.ui.enabled", "false")
-  setIncludes(
-    setOf(
-      "**/IcebergExperimentalAuthorizationIT.class",
-      "**/IcebergReadRestrictionIT.class"
-    )
-  )
-  filter {
-    includeTestsMatching(
-      
"org.apache.gravitino.iceberg.integration.test.IcebergExperimentalAuthorizationIT"
-    )
-    includeTestsMatching(
-      "org.apache.gravitino.iceberg.integration.test.IcebergReadRestrictionIT"
+// Share the authorization IT harness with the experimental service module.
+val testJar by tasks.registering(Jar::class) {
+  archiveClassifier.set("tests")
+  from(sourceSets.test.get().output) {
+    include(
+      
"org/apache/gravitino/iceberg/integration/test/IcebergAuthorizationIT*.class",
+      
"org/apache/gravitino/iceberg/integration/test/IcebergTableAuthorizationIT*.class"
     )
   }
-  mustRunAfter(tasks.test)
-  dependsOn(
-    tasks.testClasses,
-    tasks.jar,
-    ":catalogs:catalog-lakehouse-iceberg:jar",
-    ":iceberg:iceberg-rest-server-experiment:copyDepends",
-    ":iceberg:iceberg-rest-server-experiment:jar"
-  )
+}
+
+configurations.create("testArtifacts") {
+  isCanBeResolved = false
+  extendsFrom(configurations.testRuntimeClasspath.get())

Review Comment:
   Addressed in `96ed8ed8c8`, `6603106acd`, and `386b6c73dc`. Removed the 
testRuntimeClasspath inheritance from testArtifacts. Both Spark IT suites now 
use a separate experimentalTest source set with explicit harness, 
Spark/Iceberg, JDBC, and container dependencies. The default Jackson pins are 
unconditional; only the two dedicated Spark IT classpaths use Spark-compatible 
versions, while retaining the repository-wide forced versions. Production and 
ordinary test compile/runtime classpaths contain no Spark and resolve 
jackson-databind 2.15.2; all 68 ordinary unit tests pass. The MySQL JDBC driver 
is explicitly scoped to experimentalTestRuntimeOnly, and all 46 deploy/MySQL 
integration cases pass locally.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to