This is an automated email from the ASF dual-hosted git repository.
yuqi4733 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new 982d6add79 [#10195] improvement(catalogs):Change some dependencies to
`compileOnly` in catalog modules (#10199)
982d6add79 is described below
commit 982d6add797efdc684d674616f2846d06b931f21
Author: Qi Yu <[email protected]>
AuthorDate: Fri Mar 6 19:57:57 2026 +0800
[#10195] improvement(catalogs):Change some dependencies to `compileOnly` in
catalog modules (#10199)
### What changes were proposed in this pull request?
This pull request refactors dependency configurations across several
catalog modules to reduce unnecessary runtime dependencies. The main
change is switching from `implementation` to `compileOnly` for `:api`,
`:common`, and `:core` dependencies, ensuring these are only available
at compile time and not included in the final runtime artifact. To
maintain test coverage, these dependencies are now explicitly added to
the `testImplementation` scope. This helps minimize the transitive
dependencies included at runtime, leading to lighter builds and fewer
potential conflicts.
### Why are the changes needed?
To shrink the release package size.
Fix: #10195
Fix: #10250
### Does this PR introduce _any_ user-facing change?
N/A
### How was this patch tested?
Test locally can CI.
---------
Co-authored-by: Copilot <[email protected]>
---
.../workflows/backend-integration-test-action.yml | 2 +-
.github/workflows/frontend-integration-test.yml | 2 +-
.../catalog-jdbc-clickhouse/build.gradle.kts | 16 ++--
.../catalog-jdbc-hologres/build.gradle.kts | 16 ++--
.../catalog-jdbc-oceanbase/build.gradle.kts | 16 ++--
.../integration/test/CatalogOceanBaseIT.java | 2 +-
catalogs/catalog-common/build.gradle.kts | 6 +-
catalogs/catalog-fileset/build.gradle.kts | 32 ++++----
catalogs/catalog-hive/build.gradle.kts | 70 ++++++++---------
catalogs/catalog-jdbc-common/build.gradle.kts | 17 +++--
catalogs/catalog-jdbc-doris/build.gradle.kts | 16 ++--
catalogs/catalog-jdbc-mysql/build.gradle.kts | 16 ++--
catalogs/catalog-jdbc-postgresql/build.gradle.kts | 15 ++--
catalogs/catalog-jdbc-starrocks/build.gradle.kts | 16 ++--
catalogs/catalog-kafka/build.gradle.kts | 25 +++---
.../catalog-lakehouse-generic/build.gradle.kts | 22 +++---
catalogs/catalog-lakehouse-hudi/build.gradle.kts | 82 ++++++++++----------
.../catalog-lakehouse-iceberg/build.gradle.kts | 36 ++++-----
catalogs/catalog-lakehouse-paimon/build.gradle.kts | 41 +++++-----
catalogs/catalog-model/build.gradle.kts | 21 +++---
catalogs/hadoop-common/build.gradle.kts | 11 ++-
catalogs/hive-metastore-common/build.gradle.kts | 88 +++++++++++-----------
catalogs/hive-metastore2-libs/build.gradle.kts | 2 +-
catalogs/hive-metastore3-libs/build.gradle.kts | 2 +-
docs/jdbc-clickhouse-catalog.md | 16 ++--
25 files changed, 283 insertions(+), 305 deletions(-)
diff --git a/.github/workflows/backend-integration-test-action.yml
b/.github/workflows/backend-integration-test-action.yml
index 08d054520f..5463683575 100644
--- a/.github/workflows/backend-integration-test-action.yml
+++ b/.github/workflows/backend-integration-test-action.yml
@@ -52,7 +52,7 @@ jobs:
- name: Package Gravitino
if: ${{ inputs.test-mode == 'deploy' }}
run: |
- ./gradlew compileDistribution -x test -x web-v2:web:build
+ ./gradlew compileDistribution -x test -x web-v2:web:build
- name: Free up disk space
run: |
diff --git a/.github/workflows/frontend-integration-test.yml
b/.github/workflows/frontend-integration-test.yml
index e6bd894fa8..f01041c5b1 100644
--- a/.github/workflows/frontend-integration-test.yml
+++ b/.github/workflows/frontend-integration-test.yml
@@ -37,7 +37,7 @@ jobs:
- iceberg/**
- lance/**
- scripts/**
- - server/**
+ - server/**
- meta/**
- server-common/**
- integration-test-common/**
diff --git a/catalogs-contrib/catalog-jdbc-clickhouse/build.gradle.kts
b/catalogs-contrib/catalog-jdbc-clickhouse/build.gradle.kts
index 8f519f8ccf..8f1ddb8796 100644
--- a/catalogs-contrib/catalog-jdbc-clickhouse/build.gradle.kts
+++ b/catalogs-contrib/catalog-jdbc-clickhouse/build.gradle.kts
@@ -25,26 +25,24 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude(group = "*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
implementation(project(":catalogs:catalog-jdbc-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
implementation(libs.bundles.log4j)
implementation(libs.commons.collections4)
implementation(libs.commons.lang3)
implementation(libs.guava)
+ testImplementation(project(":api"))
testImplementation(project(":catalogs:catalog-jdbc-common", "testArtifacts"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
diff --git a/catalogs-contrib/catalog-jdbc-hologres/build.gradle.kts
b/catalogs-contrib/catalog-jdbc-hologres/build.gradle.kts
index 132c89a691..7c2d6f6c60 100644
--- a/catalogs-contrib/catalog-jdbc-hologres/build.gradle.kts
+++ b/catalogs-contrib/catalog-jdbc-hologres/build.gradle.kts
@@ -25,29 +25,27 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude(group = "*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
implementation(project(":catalogs:catalog-common")) {
exclude(group = "*")
}
implementation(project(":catalogs:catalog-jdbc-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
implementation(libs.bundles.log4j)
implementation(libs.commons.collections4)
implementation(libs.commons.lang3)
implementation(libs.guava)
+ testImplementation(project(":api"))
testImplementation(project(":catalogs:catalog-jdbc-common", "testArtifacts"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
diff --git a/catalogs-contrib/catalog-jdbc-oceanbase/build.gradle.kts
b/catalogs-contrib/catalog-jdbc-oceanbase/build.gradle.kts
index ca6d8aa003..41640afc7d 100644
--- a/catalogs-contrib/catalog-jdbc-oceanbase/build.gradle.kts
+++ b/catalogs-contrib/catalog-jdbc-oceanbase/build.gradle.kts
@@ -25,21 +25,16 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude(group = "*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
implementation(project(":catalogs:catalog-common")) {
exclude(group = "*")
}
implementation(project(":catalogs:catalog-jdbc-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
implementation(libs.bundles.log4j)
implementation(libs.commons.collections4)
@@ -47,6 +42,9 @@ dependencies {
implementation(libs.guava)
testImplementation(project(":catalogs:catalog-jdbc-common", "testArtifacts"))
+ testImplementation(project(":api"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":clients:client-java"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
diff --git
a/catalogs-contrib/catalog-jdbc-oceanbase/src/test/java/org/apache/gravitino/catalog/oceanbase/integration/test/CatalogOceanBaseIT.java
b/catalogs-contrib/catalog-jdbc-oceanbase/src/test/java/org/apache/gravitino/catalog/oceanbase/integration/test/CatalogOceanBaseIT.java
index 260d851ac7..c7adcbfb8d 100644
---
a/catalogs-contrib/catalog-jdbc-oceanbase/src/test/java/org/apache/gravitino/catalog/oceanbase/integration/test/CatalogOceanBaseIT.java
+++
b/catalogs-contrib/catalog-jdbc-oceanbase/src/test/java/org/apache/gravitino/catalog/oceanbase/integration/test/CatalogOceanBaseIT.java
@@ -304,7 +304,7 @@ public class CatalogOceanBaseIT extends BaseIT {
// create failed check.
NameIdentifier table = NameIdentifier.of(testSchemaName, "test_table");
Assertions.assertThrows(
- NoSuchSchemaException.class,
+ NotFoundException.class,
() ->
tableCatalog.createTable(
table,
diff --git a/catalogs/catalog-common/build.gradle.kts
b/catalogs/catalog-common/build.gradle.kts
index 6bbac8e068..41a7a5f030 100644
--- a/catalogs/catalog-common/build.gradle.kts
+++ b/catalogs/catalog-common/build.gradle.kts
@@ -23,15 +23,15 @@ plugins {
// try to avoid adding extra dependencies because it is used by catalogs and
connectors.
dependencies {
- implementation(project(":common")) {
- exclude("*")
- }
+ compileOnly(project(":common"))
implementation(libs.commons.lang3)
implementation(libs.guava)
implementation(libs.jakarta.validation.api)
implementation(libs.slf4j.api)
+ testImplementation(project(":common"))
+
testImplementation(libs.junit.jupiter.api)
testImplementation(libs.junit.jupiter.params)
diff --git a/catalogs/catalog-fileset/build.gradle.kts
b/catalogs/catalog-fileset/build.gradle.kts
index 979bed1cf6..8b4b4305d6 100644
--- a/catalogs/catalog-fileset/build.gradle.kts
+++ b/catalogs/catalog-fileset/build.gradle.kts
@@ -25,42 +25,42 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude(group = "*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ compileOnly(libs.guava)
+
implementation(project(":catalogs:catalog-common")) {
exclude(group = "*")
}
implementation(project(":catalogs:hadoop-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
+
implementation(libs.awaitility)
implementation(libs.caffeine)
implementation(libs.cglib)
- implementation(libs.commons.lang3)
implementation(libs.commons.io)
+ implementation(libs.commons.lang3)
implementation(libs.hadoop3.client.api)
implementation(libs.hadoop3.client.runtime)
- implementation(libs.slf4j.api)
implementation(libs.metrics.caffeine)
implementation(libs.metrics.core)
+ implementation(libs.slf4j.api)
- compileOnly(libs.guava)
-
- testImplementation(project(":clients:client-java"))
- testImplementation(project(":bundles:aws-bundle", configuration = "shadow"))
- testImplementation(project(":bundles:gcp-bundle", configuration = "shadow"))
+ testImplementation(project(":api"))
testImplementation(project(":bundles:aliyun-bundle", configuration =
"shadow"))
+ testImplementation(project(":bundles:aws-bundle", configuration = "shadow"))
testImplementation(project(":bundles:azure-bundle", configuration =
"shadow"))
+ testImplementation(project(":bundles:gcp-bundle", configuration = "shadow"))
+ testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
+
testImplementation(libs.bundles.log4j)
testImplementation(libs.hadoop3.gcs)
testImplementation(libs.hadoop3.minicluster)
diff --git a/catalogs/catalog-hive/build.gradle.kts
b/catalogs/catalog-hive/build.gradle.kts
index b63efeb09b..e7cdae04b8 100644
--- a/catalogs/catalog-hive/build.gradle.kts
+++ b/catalogs/catalog-hive/build.gradle.kts
@@ -30,25 +30,22 @@ val icebergVersion: String = libs.versions.iceberg.get()
val scalaCollectionCompatVersion: String =
libs.versions.scala.collection.compat.get()
dependencies {
- implementation(project(":api")) {
- exclude("*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ compileOnly(libs.immutables.value)
+ compileOnly(libs.lombok)
+
implementation(project(":catalogs:catalog-common")) {
exclude("*")
}
- implementation(project(":common")) {
- exclude("*")
- }
implementation(project(":catalogs:hive-metastore-common"))
- implementation(project(":core")) {
- exclude("*")
- }
implementation(libs.commons.collections3)
- implementation(libs.commons.lang3)
implementation(libs.commons.configuration1)
- implementation(libs.htrace.core4)
implementation(libs.commons.io)
+ implementation(libs.commons.lang3)
implementation(libs.guava)
implementation(libs.hadoop2.auth) {
exclude("*")
@@ -56,29 +53,41 @@ dependencies {
implementation(libs.hadoop2.common) {
exclude("*")
}
- implementation(libs.woodstox.core)
+ implementation(libs.htrace.core4)
implementation(libs.slf4j.api)
-
- compileOnly(libs.immutables.value)
- compileOnly(libs.lombok)
+ implementation(libs.woodstox.core)
annotationProcessor(libs.immutables.value)
annotationProcessor(libs.lombok)
- testImplementation(libs.awaitility)
+ testImplementation(project(":api"))
+ testImplementation(project(":catalogs:hadoop-common")) {
+ exclude("*")
+ }
testImplementation(project(":catalogs:hive-metastore-common",
"testArtifacts"))
- testImplementation(project(":common"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
- testImplementation(project(":catalogs:hadoop-common")) {
- exclude("*")
- }
- testImplementation(libs.bundles.jetty)
+
testImplementation("org.apache.spark:spark-hive_$scalaVersion:$sparkVersion") {
+ exclude("org.apache.hadoop")
+ }
+ testImplementation("org.apache.spark:spark-sql_$scalaVersion:$sparkVersion")
{
+ exclude("org.apache.avro")
+ exclude("org.apache.hadoop")
+ exclude("org.apache.zookeeper")
+ exclude("io.dropwizard.metrics")
+ exclude("org.rocksdb")
+ }
+
testImplementation("org.scala-lang.modules:scala-collection-compat_$scalaVersion:$scalaCollectionCompatVersion")
+ testImplementation(libs.awaitility)
testImplementation(libs.bundles.jersey)
+ testImplementation(libs.bundles.jetty)
testImplementation(libs.bundles.log4j)
+ testImplementation(libs.hadoop2.aws)
testImplementation(libs.hadoop2.common) {
exclude("*")
}
@@ -86,6 +95,8 @@ dependencies {
testImplementation(libs.hadoop2.mapreduce.client.core) {
exclude("*")
}
+ testImplementation(libs.hadoop3.abs)
+ testImplementation(libs.hadoop3.gcs)
testImplementation(libs.hive2.common) {
exclude("org.eclipse.jetty.aggregate", "jetty-all")
exclude("org.eclipse.jetty.orbit", "javax.servlet")
@@ -94,25 +105,10 @@ dependencies {
testImplementation(libs.mockito.core)
testImplementation(libs.mysql.driver)
testImplementation(libs.postgresql.driver)
-
-
testImplementation("org.apache.spark:spark-hive_$scalaVersion:$sparkVersion") {
- exclude("org.apache.hadoop")
- }
-
testImplementation("org.scala-lang.modules:scala-collection-compat_$scalaVersion:$scalaCollectionCompatVersion")
- testImplementation("org.apache.spark:spark-sql_$scalaVersion:$sparkVersion")
{
- exclude("org.apache.avro")
- exclude("org.apache.hadoop")
- exclude("org.apache.zookeeper")
- exclude("io.dropwizard.metrics")
- exclude("org.rocksdb")
- }
testImplementation(libs.slf4j.api)
testImplementation(libs.testcontainers)
- testImplementation(libs.testcontainers.mysql)
testImplementation(libs.testcontainers.localstack)
- testImplementation(libs.hadoop2.aws)
- testImplementation(libs.hadoop3.abs)
- testImplementation(libs.hadoop3.gcs)
+ testImplementation(libs.testcontainers.mysql)
// You need this to run test CatalogHiveABSIT as it required hadoop3
environment introduced by hadoop3.abs
// (The protocol `abfss` was first introduced in Hadoop 3.2.0), However, as
the there already exists
diff --git a/catalogs/catalog-jdbc-common/build.gradle.kts
b/catalogs/catalog-jdbc-common/build.gradle.kts
index 4f845bad77..ce772b8afb 100644
--- a/catalogs/catalog-jdbc-common/build.gradle.kts
+++ b/catalogs/catalog-jdbc-common/build.gradle.kts
@@ -38,10 +38,13 @@ artifacts {
}
dependencies {
- implementation(project(":api"))
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ compileOnly(libs.lombok)
+
implementation(project(":catalogs:catalog-common"))
- implementation(project(":common"))
- implementation(project(":core"))
implementation(libs.bundles.log4j)
implementation(libs.commons.collections4)
@@ -53,6 +56,12 @@ dependencies {
implementation(libs.jackson.datatype.jdk8)
implementation(libs.jackson.datatype.jsr310)
+ annotationProcessor(libs.lombok)
+
+ testImplementation(project(":api"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
+
testImplementation(libs.commons.io)
testImplementation(libs.junit.jupiter.api)
testImplementation(libs.junit.jupiter.params)
@@ -62,6 +71,4 @@ dependencies {
testImplementation(libs.testcontainers.postgresql)
testRuntimeOnly(libs.junit.jupiter.engine)
- compileOnly(libs.lombok)
- annotationProcessor(libs.lombok)
}
diff --git a/catalogs/catalog-jdbc-doris/build.gradle.kts
b/catalogs/catalog-jdbc-doris/build.gradle.kts
index 84f81c81be..9f0cf2f3ee 100644
--- a/catalogs/catalog-jdbc-doris/build.gradle.kts
+++ b/catalogs/catalog-jdbc-doris/build.gradle.kts
@@ -25,26 +25,24 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude(group = "*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
implementation(project(":catalogs:catalog-jdbc-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
implementation(libs.bundles.log4j)
implementation(libs.commons.collections4)
implementation(libs.commons.lang3)
implementation(libs.guava)
+ testImplementation(project(":api"))
testImplementation(project(":catalogs:catalog-jdbc-common", "testArtifacts"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
diff --git a/catalogs/catalog-jdbc-mysql/build.gradle.kts
b/catalogs/catalog-jdbc-mysql/build.gradle.kts
index 5cc8d4f2b7..3b4c990abb 100644
--- a/catalogs/catalog-jdbc-mysql/build.gradle.kts
+++ b/catalogs/catalog-jdbc-mysql/build.gradle.kts
@@ -25,29 +25,27 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude(group = "*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
implementation(project(":catalogs:catalog-common")) {
exclude(group = "*")
}
implementation(project(":catalogs:catalog-jdbc-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
implementation(libs.bundles.log4j)
implementation(libs.commons.collections4)
implementation(libs.commons.lang3)
implementation(libs.guava)
+ testImplementation(project(":api"))
testImplementation(project(":catalogs:catalog-jdbc-common", "testArtifacts"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
diff --git a/catalogs/catalog-jdbc-postgresql/build.gradle.kts
b/catalogs/catalog-jdbc-postgresql/build.gradle.kts
index b05a3279d2..4d48218762 100644
--- a/catalogs/catalog-jdbc-postgresql/build.gradle.kts
+++ b/catalogs/catalog-jdbc-postgresql/build.gradle.kts
@@ -25,27 +25,24 @@ plugins {
}
dependencies {
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
- implementation(project(":api")) {
- exclude(group = "*")
- }
implementation(project(":catalogs:catalog-jdbc-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
implementation(libs.bundles.log4j)
implementation(libs.commons.collections4)
implementation(libs.commons.lang3)
implementation(libs.guava)
+ testImplementation(project(":api"))
testImplementation(project(":catalogs:catalog-jdbc-common", "testArtifacts"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
diff --git a/catalogs/catalog-jdbc-starrocks/build.gradle.kts
b/catalogs/catalog-jdbc-starrocks/build.gradle.kts
index 02e90d8292..8ec780d984 100644
--- a/catalogs/catalog-jdbc-starrocks/build.gradle.kts
+++ b/catalogs/catalog-jdbc-starrocks/build.gradle.kts
@@ -25,26 +25,24 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude(group = "*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
implementation(project(":catalogs:catalog-jdbc-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
implementation(libs.bundles.log4j)
implementation(libs.commons.collections4)
implementation(libs.commons.lang3)
implementation(libs.guava)
+ testImplementation(project(":api"))
testImplementation(project(":catalogs:catalog-jdbc-common", "testArtifacts"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
diff --git a/catalogs/catalog-kafka/build.gradle.kts
b/catalogs/catalog-kafka/build.gradle.kts
index aaee3650a7..d750dbd4a5 100644
--- a/catalogs/catalog-kafka/build.gradle.kts
+++ b/catalogs/catalog-kafka/build.gradle.kts
@@ -25,29 +25,26 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude("*")
- }
- implementation(project(":core")) {
- exclude("*")
- }
- implementation(project(":common")) {
- exclude("*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ implementation(libs.guava)
+ implementation(libs.kafka.clients)
+ implementation(libs.slf4j.api)
+ testImplementation(project(":api"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
- implementation(libs.guava)
- implementation(libs.kafka.clients)
- implementation(libs.slf4j.api)
-
testImplementation(libs.awaitility)
testImplementation(libs.commons.io)
- testImplementation(libs.curator.test)
testImplementation(libs.commons.lang3)
+ testImplementation(libs.curator.test)
testImplementation(libs.junit.jupiter.api)
testImplementation(libs.kafka)
testImplementation(libs.mockito.core)
diff --git a/catalogs/catalog-lakehouse-generic/build.gradle.kts
b/catalogs/catalog-lakehouse-generic/build.gradle.kts
index e2e686f1cb..da81a437a6 100644
--- a/catalogs/catalog-lakehouse-generic/build.gradle.kts
+++ b/catalogs/catalog-lakehouse-generic/build.gradle.kts
@@ -25,16 +25,14 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude("*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ compileOnly(libs.lance) // This will be provided by core module at runtime
+ compileOnly(libs.lombok)
+
implementation(project(":catalogs:catalog-common"))
- implementation(project(":common")) {
- exclude("*")
- }
- implementation(project(":core")) {
- exclude("*")
- }
implementation(project(":lance:lance-common")) {
exclude("*")
}
@@ -45,10 +43,10 @@ dependencies {
annotationProcessor(libs.lombok)
- compileOnly(libs.lance) // This will be provided by core module at runtime
- compileOnly(libs.lombok)
-
+ testImplementation(project(":api"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
diff --git a/catalogs/catalog-lakehouse-hudi/build.gradle.kts
b/catalogs/catalog-lakehouse-hudi/build.gradle.kts
index 1c2e2e6017..1076204580 100644
--- a/catalogs/catalog-lakehouse-hudi/build.gradle.kts
+++ b/catalogs/catalog-lakehouse-hudi/build.gradle.kts
@@ -30,43 +30,41 @@ val sparkVersion =
fullSparkVersion.split(".").take(2).joinToString(".")
val hudiVersion = libs.versions.hudi.get()
dependencies {
- implementation(project(":api")) {
- exclude("*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ compileOnly(libs.lombok)
+
implementation(project(":catalogs:catalog-common")) {
exclude("*")
}
implementation(project(":catalogs:hive-metastore-common"))
- implementation(project(":core")) {
- exclude("*")
- }
- implementation(project(":common")) {
- exclude("*")
- }
implementation(libs.commons.collections3)
- implementation(libs.commons.lang3)
implementation(libs.commons.configuration1)
implementation(libs.commons.io)
- implementation(libs.htrace.core4)
+ implementation(libs.commons.lang3)
implementation(libs.guava)
implementation(libs.hadoop2.auth) {
exclude("*")
}
- implementation(libs.woodstox.core)
implementation(libs.hadoop2.common) {
exclude("*")
}
+ implementation(libs.htrace.core4)
implementation(libs.slf4j.api)
-
- compileOnly(libs.lombok)
+ implementation(libs.woodstox.core)
annotationProcessor(libs.lombok)
+ testImplementation(project(":api"))
testImplementation(project(":catalogs:hive-metastore-common",
"testArtifacts"))
testImplementation(project(":clients:client-java")) {
exclude("org.apache.logging.log4j")
}
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server")) {
exclude("org.apache.logging.log4j")
@@ -75,28 +73,12 @@ dependencies {
exclude("org.apache.logging.log4j")
}
- testImplementation(libs.awaitility)
- testImplementation(libs.bundles.jetty)
- testImplementation(libs.bundles.jersey)
- testImplementation(libs.commons.collections3)
- testImplementation(libs.commons.configuration1)
- testImplementation(libs.datanucleus.core)
- testImplementation(libs.datanucleus.api.jdo)
- testImplementation(libs.datanucleus.rdbms)
- testImplementation(libs.datanucleus.jdo)
- testImplementation(libs.derby)
- testImplementation(libs.hadoop2.auth) {
- exclude("*")
- }
- testImplementation(libs.hadoop2.hdfs)
- testImplementation(libs.hadoop2.mapreduce.client.core) {
- exclude("*")
+
testImplementation("org.apache.spark:spark-hive_$scalaVersion:$fullSparkVersion")
{
+ exclude("org.apache.hadoop")
+ exclude("io.dropwizard.metrics")
+ exclude("com.fasterxml.jackson.core")
+ exclude("com.fasterxml.jackson.module", "jackson-module-scala_2.12")
}
- testImplementation(libs.htrace.core4)
- testImplementation(libs.junit.jupiter.api)
- testImplementation(libs.mysql.driver)
- testImplementation(libs.postgresql.driver)
- testImplementation(libs.prometheus.dropwizard)
testImplementation("org.apache.spark:spark-hive_$scalaVersion:$fullSparkVersion")
{
exclude("org.apache.hadoop")
exclude("io.dropwizard.metrics")
@@ -110,13 +92,6 @@ dependencies {
exclude("io.dropwizard.metrics")
exclude("org.rocksdb")
}
- testImplementation(libs.testcontainers)
-
testImplementation("org.apache.spark:spark-hive_$scalaVersion:$fullSparkVersion")
{
- exclude("org.apache.hadoop")
- exclude("io.dropwizard.metrics")
- exclude("com.fasterxml.jackson.core")
- exclude("com.fasterxml.jackson.module", "jackson-module-scala_2.12")
- }
testImplementation("org.apache.spark:spark-sql_$scalaVersion:$fullSparkVersion")
{
exclude("org.apache.avro")
exclude("org.apache.hadoop")
@@ -124,6 +99,29 @@ dependencies {
exclude("io.dropwizard.metrics")
exclude("org.rocksdb")
}
+ testImplementation(libs.awaitility)
+ testImplementation(libs.bundles.jersey)
+ testImplementation(libs.bundles.jetty)
+ testImplementation(libs.commons.collections3)
+ testImplementation(libs.commons.configuration1)
+ testImplementation(libs.datanucleus.api.jdo)
+ testImplementation(libs.datanucleus.core)
+ testImplementation(libs.datanucleus.jdo)
+ testImplementation(libs.datanucleus.rdbms)
+ testImplementation(libs.derby)
+ testImplementation(libs.hadoop2.auth) {
+ exclude("*")
+ }
+ testImplementation(libs.hadoop2.hdfs)
+ testImplementation(libs.hadoop2.mapreduce.client.core) {
+ exclude("*")
+ }
+ testImplementation(libs.htrace.core4)
+ testImplementation(libs.junit.jupiter.api)
+ testImplementation(libs.mysql.driver)
+ testImplementation(libs.postgresql.driver)
+ testImplementation(libs.prometheus.dropwizard)
+ testImplementation(libs.testcontainers)
testRuntimeOnly("org.apache.hudi:hudi-spark$sparkVersion-bundle_$scalaVersion:$hudiVersion")
testRuntimeOnly(libs.junit.jupiter.engine)
diff --git a/catalogs/catalog-lakehouse-iceberg/build.gradle.kts
b/catalogs/catalog-lakehouse-iceberg/build.gradle.kts
index 26d74f2fd5..71dd4f7a1f 100644
--- a/catalogs/catalog-lakehouse-iceberg/build.gradle.kts
+++ b/catalogs/catalog-lakehouse-iceberg/build.gradle.kts
@@ -31,25 +31,22 @@ val icebergVersion: String = libs.versions.iceberg.get()
val scalaCollectionCompatVersion: String =
libs.versions.scala.collection.compat.get()
dependencies {
- implementation(project(":api")) {
- exclude("*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ compileOnly(libs.lombok)
+
implementation(project(":catalogs:catalog-common"))
- implementation(project(":common")) {
- exclude("*")
- }
- implementation(project(":core")) {
- exclude("*")
- }
implementation(project(":iceberg:iceberg-common"))
- implementation(libs.bundles.iceberg)
+ implementation(libs.asm)
+ implementation(libs.bundles.iceberg)
implementation(libs.bundles.log4j)
implementation(libs.cglib) {
// The version of build-in asm is 7.1, which is not compatible with Java
17 well
exclude("org.ow2.asm")
}
- implementation(libs.asm)
implementation(libs.commons.collections4)
implementation(libs.commons.io)
implementation(libs.commons.lang3)
@@ -57,15 +54,15 @@ dependencies {
annotationProcessor(libs.lombok)
- compileOnly(libs.lombok)
-
+ testImplementation(project(":api"))
testImplementation(project(":catalogs:catalog-jdbc-common", "testArtifacts"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
-
testImplementation("org.scala-lang.modules:scala-collection-compat_$scalaVersion:$scalaCollectionCompatVersion")
testImplementation("org.apache.iceberg:iceberg-spark-runtime-${sparkMajorVersion}_$scalaVersion:$icebergVersion")
testImplementation("org.apache.spark:spark-hive_$scalaVersion:$sparkVersion") {
exclude("org.apache.hive")
@@ -77,8 +74,12 @@ dependencies {
exclude("io.dropwizard.metrics")
exclude("org.rocksdb")
}
-
+
testImplementation("org.scala-lang.modules:scala-collection-compat_$scalaVersion:$scalaCollectionCompatVersion")
testImplementation(libs.awaitility)
+ // Add Hadoop 3.3+ dependencies since Spark's Hadoop is excluded
+ // Required for Iceberg 1.10+ which uses newer Hadoop APIs like
FileSystem.openFile()
+ testImplementation(libs.hadoop3.client.api)
+ testImplementation(libs.hadoop3.client.runtime)
testImplementation(libs.junit.jupiter.api)
testImplementation(libs.junit.jupiter.params)
testImplementation(libs.mockito.core)
@@ -90,11 +91,6 @@ dependencies {
testImplementation(libs.testcontainers.mysql)
testImplementation(libs.testcontainers.postgresql)
- // Add Hadoop 3.3+ dependencies since Spark's Hadoop is excluded
- // Required for Iceberg 1.10+ which uses newer Hadoop APIs like
FileSystem.openFile()
- testImplementation(libs.hadoop3.client.api)
- testImplementation(libs.hadoop3.client.runtime)
-
testRuntimeOnly(libs.junit.jupiter.engine)
}
diff --git a/catalogs/catalog-lakehouse-paimon/build.gradle.kts
b/catalogs/catalog-lakehouse-paimon/build.gradle.kts
index b0cfb6c5f0..7a40255bc4 100644
--- a/catalogs/catalog-lakehouse-paimon/build.gradle.kts
+++ b/catalogs/catalog-lakehouse-paimon/build.gradle.kts
@@ -30,18 +30,17 @@ val sparkMajorVersion: String =
sparkVersion.substringBeforeLast(".")
val paimonVersion: String = libs.versions.paimon.get()
dependencies {
- implementation(project(":api")) {
- exclude("*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ compileOnly(libs.lombok)
+
implementation(project(":catalogs:catalog-common")) {
exclude("*")
}
- implementation(project(":common")) {
- exclude("*")
- }
- implementation(project(":core")) {
- exclude("*")
- }
+
+ implementation(libs.bundles.log4j)
implementation(libs.bundles.paimon) {
exclude("com.sun.jersey")
exclude("javax.servlet")
@@ -101,7 +100,6 @@ dependencies {
exclude("com.google.code.findbugs")
exclude("com.github.spotbugs")
}
- implementation(libs.bundles.log4j)
implementation(libs.commons.lang3)
implementation(libs.guava)
implementation(libs.hadoop2.common) {
@@ -124,16 +122,23 @@ dependencies {
implementation(libs.hadoop2.mapreduce.client.core) {
exclude("*")
}
+
annotationProcessor(libs.lombok)
- compileOnly(libs.lombok)
+ testImplementation(project(":api"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common")) {
exclude("org.mortbay.jetty")
exclude("com.sun.jersey.contribs")
}
+
+
testImplementation("org.apache.paimon:paimon-spark-$sparkMajorVersion:$paimonVersion")
{
+ exclude("org.apache.hadoop")
+ }
testImplementation("org.apache.spark:spark-hive_$scalaVersion:$sparkVersion") {
exclude("org.apache.hadoop")
exclude("org.rocksdb")
@@ -145,22 +150,18 @@ dependencies {
exclude("io.dropwizard.metrics")
exclude("org.rocksdb")
}
-
testImplementation("org.apache.paimon:paimon-spark-$sparkMajorVersion:$paimonVersion")
{
- exclude("org.apache.hadoop")
- }
-
testImplementation(libs.awaitility)
- testImplementation(libs.slf4j.api)
testImplementation(libs.awaitility)
- testImplementation(libs.junit.jupiter.api)
- testImplementation(libs.mysql.driver)
- testImplementation(libs.postgresql.driver)
- testImplementation(libs.h2db)
testImplementation(libs.bundles.log4j)
+ testImplementation(libs.h2db)
+ testImplementation(libs.junit.jupiter.api)
testImplementation(libs.junit.jupiter.params)
+ testImplementation(libs.mysql.driver)
testImplementation(libs.paimon.oss)
testImplementation(libs.paimon.s3)
testImplementation(libs.paimon.spark)
+ testImplementation(libs.postgresql.driver)
+ testImplementation(libs.slf4j.api)
testImplementation(libs.testcontainers)
testImplementation(libs.testcontainers.localstack)
testImplementation(libs.testcontainers.mysql)
diff --git a/catalogs/catalog-model/build.gradle.kts
b/catalogs/catalog-model/build.gradle.kts
index 51bd0e0f3a..da2cc3c4fa 100644
--- a/catalogs/catalog-model/build.gradle.kts
+++ b/catalogs/catalog-model/build.gradle.kts
@@ -25,35 +25,34 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude(group = "*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
implementation(project(":catalogs:catalog-common")) {
exclude(group = "*")
}
- implementation(project(":common")) {
- exclude(group = "*")
- }
- implementation(project(":core")) {
- exclude(group = "*")
- }
+
implementation(libs.guava)
implementation(libs.slf4j.api)
+ testImplementation(project(":api"))
testImplementation(project(":clients:client-java"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
testImplementation(project(":integration-test-common", "testArtifacts"))
testImplementation(project(":server"))
testImplementation(project(":server-common"))
+
testImplementation(libs.awaitility)
testImplementation(libs.bundles.log4j)
testImplementation(libs.commons.io)
testImplementation(libs.commons.lang3)
+ testImplementation(libs.junit.jupiter.api)
+ testImplementation(libs.junit.jupiter.params)
testImplementation(libs.mockito.core)
testImplementation(libs.mockito.inline)
testImplementation(libs.mysql.driver)
- testImplementation(libs.junit.jupiter.api)
- testImplementation(libs.junit.jupiter.params)
testImplementation(libs.postgresql.driver)
testImplementation(libs.testcontainers)
testImplementation(libs.testcontainers.mysql)
diff --git a/catalogs/hadoop-common/build.gradle.kts
b/catalogs/hadoop-common/build.gradle.kts
index 47dab24c75..4394bd3c26 100644
--- a/catalogs/hadoop-common/build.gradle.kts
+++ b/catalogs/hadoop-common/build.gradle.kts
@@ -23,17 +23,20 @@ plugins {
// try to avoid adding extra dependencies because it is used by catalogs and
connectors.
dependencies {
- implementation(project(":api"))
- implementation(project(":common"))
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
implementation(libs.cglib)
- implementation(libs.commons.lang3)
implementation(libs.commons.io)
+ implementation(libs.commons.lang3)
+ implementation(libs.guava)
implementation(libs.hadoop3.client.api)
implementation(libs.hadoop3.client.runtime)
- implementation(libs.guava)
implementation(libs.slf4j.api)
+ testImplementation(project(":api"))
+ testImplementation(project(":common"))
+
testImplementation(libs.junit.jupiter.api)
testImplementation(libs.junit.jupiter.params)
diff --git a/catalogs/hive-metastore-common/build.gradle.kts
b/catalogs/hive-metastore-common/build.gradle.kts
index de36565189..70fca295eb 100644
--- a/catalogs/hive-metastore-common/build.gradle.kts
+++ b/catalogs/hive-metastore-common/build.gradle.kts
@@ -24,75 +24,48 @@ plugins {
}
dependencies {
- implementation(project(":api")) {
- exclude("*")
- }
+ compileOnly(project(":api"))
+ compileOnly(project(":common"))
+ compileOnly(project(":core"))
+
+ compileOnly(libs.hive2.metastore)
+ compileOnly(libs.immutables.value)
+ compileOnly(libs.lombok)
implementation(project(":catalogs:catalog-common")) {
exclude("*")
}
- implementation(project(":common")) {
- exclude("*")
- }
- implementation(project(":core")) {
- exclude("*")
- }
implementation(project(":clients:client-java-runtime", configuration =
"shadow"))
implementation(libs.caffeine)
implementation(libs.guava)
implementation(libs.slf4j.api)
- compileOnly(libs.hive2.metastore)
- compileOnly(libs.immutables.value)
- compileOnly(libs.lombok)
-
annotationProcessor(libs.immutables.value)
annotationProcessor(libs.lombok)
+ testImplementation(project(":api"))
+ testImplementation(project(":common"))
+ testImplementation(project(":core"))
+ testImplementation(project(":integration-test-common", "testArtifacts"))
+
testImplementation(libs.bundles.log4j)
testImplementation(libs.commons.collections3)
testImplementation(libs.commons.configuration1)
- testImplementation(libs.datanucleus.core)
testImplementation(libs.datanucleus.api.jdo)
- testImplementation(libs.datanucleus.rdbms)
+ testImplementation(libs.datanucleus.core)
testImplementation(libs.datanucleus.jdo)
+ testImplementation(libs.datanucleus.rdbms)
testImplementation(libs.derby)
- testImplementation(libs.hive2.metastore) {
- exclude("ant")
- exclude("co.cask.tephra")
- exclude("com.github.joshelser")
- exclude("com.google.code.findbugs", "jsr305")
- exclude("com.google.code.findbugs", "sr305")
- exclude("com.tdunning", "json")
- exclude("com.zaxxer", "HikariCP")
- exclude("io.dropwizard.metrics")
- exclude("javax.transaction", "transaction-api")
- exclude("org.apache.ant")
- exclude("org.apache.avro")
- exclude("org.apache.curator")
- exclude("org.apache.derby")
- exclude("org.apache.hadoop", "hadoop-yarn-server-resourcemanager")
- exclude("org.apache.hbase")
- exclude("org.apache.logging.log4j")
- exclude("org.apache.parquet", "parquet-hadoop-bundle")
- exclude("org.apache.zookeeper")
- exclude("org.datanucleus")
- exclude("org.eclipse.jetty.aggregate", "jetty-all")
- exclude("org.eclipse.jetty.orbit", "javax.servlet")
- exclude("org.openjdk.jol")
- exclude("org.slf4j")
- }
- testImplementation(libs.hadoop2.common) {
+ testImplementation(libs.hadoop2.auth) {
exclude("*")
}
- testImplementation(libs.hadoop2.auth) {
+ testImplementation(libs.hadoop2.common) {
exclude("*")
}
testImplementation(libs.hadoop2.mapreduce.client.core) {
exclude("*")
}
- testImplementation(libs.htrace.core4)
testImplementation(libs.hive2.exec) {
artifact {
classifier = "core"
@@ -119,11 +92,36 @@ dependencies {
exclude("org.pentaho")
exclude("org.slf4j")
}
+ testImplementation(libs.hive2.metastore) {
+ exclude("ant")
+ exclude("co.cask.tephra")
+ exclude("com.github.joshelser")
+ exclude("com.google.code.findbugs", "jsr305")
+ exclude("com.google.code.findbugs", "sr305")
+ exclude("com.tdunning", "json")
+ exclude("com.zaxxer", "HikariCP")
+ exclude("io.dropwizard.metrics")
+ exclude("javax.transaction", "transaction-api")
+ exclude("org.apache.ant")
+ exclude("org.apache.avro")
+ exclude("org.apache.curator")
+ exclude("org.apache.derby")
+ exclude("org.apache.hadoop", "hadoop-yarn-server-resourcemanager")
+ exclude("org.apache.hbase")
+ exclude("org.apache.logging.log4j")
+ exclude("org.apache.parquet", "parquet-hadoop-bundle")
+ exclude("org.apache.zookeeper")
+ exclude("org.datanucleus")
+ exclude("org.eclipse.jetty.aggregate", "jetty-all")
+ exclude("org.eclipse.jetty.orbit", "javax.servlet")
+ exclude("org.openjdk.jol")
+ exclude("org.slf4j")
+ }
+ testImplementation(libs.htrace.core4)
testImplementation(libs.junit.jupiter.api)
testImplementation(libs.mockito.core)
- testImplementation(libs.woodstox.core)
testImplementation(libs.testcontainers)
- testImplementation(project(":integration-test-common", "testArtifacts"))
+ testImplementation(libs.woodstox.core)
testRuntimeOnly(libs.junit.jupiter.engine)
}
diff --git a/catalogs/hive-metastore2-libs/build.gradle.kts
b/catalogs/hive-metastore2-libs/build.gradle.kts
index f2629d30ca..b539a1c45b 100644
--- a/catalogs/hive-metastore2-libs/build.gradle.kts
+++ b/catalogs/hive-metastore2-libs/build.gradle.kts
@@ -26,8 +26,8 @@ plugins {
}
dependencies {
- implementation(libs.hive2.metastore)
implementation(libs.hadoop2.common)
+ implementation(libs.hive2.metastore)
}
tasks {
diff --git a/catalogs/hive-metastore3-libs/build.gradle.kts
b/catalogs/hive-metastore3-libs/build.gradle.kts
index 918d3ebd9a..ca0ea1ea24 100644
--- a/catalogs/hive-metastore3-libs/build.gradle.kts
+++ b/catalogs/hive-metastore3-libs/build.gradle.kts
@@ -26,8 +26,8 @@ plugins {
}
dependencies {
- implementation(libs.hive3.metastore)
implementation(libs.hadoop2.common)
+ implementation(libs.hive3.metastore)
}
tasks {
diff --git a/docs/jdbc-clickhouse-catalog.md b/docs/jdbc-clickhouse-catalog.md
index 91506f7cbb..9b248c3da7 100644
--- a/docs/jdbc-clickhouse-catalog.md
+++ b/docs/jdbc-clickhouse-catalog.md
@@ -23,13 +23,13 @@ ClickHouse catalog is not included in the standard
Gravitino server distribution
### Catalog capabilities
-| Item | Description
|
-|-------------------|---------------------------------------------------------------------------------------------------------|
-| Scope | One catalog maps to one ClickHouse instance
|
-| Metadata/DDL | Supports JDBC-based metadata management and DDL
|
-| Column defaults | Supports column default values
|
-| Drivers | Requires user-provided ClickHouse JDBC driver in
`catalogs-contrib/catalog-jdbc-clickhouse/libs` |
-| Supported version | All the codes are tested by ClickHouse `24.8.14`, but
should be compatible with other versions as well. |
+| Item | Description
|
+|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Scope | One catalog maps to one ClickHouse instance
|
+| Metadata/DDL | Supports JDBC-based metadata management and DDL
|
+| Column defaults | Supports column default values
|
+| Drivers | Requires user-provided ClickHouse JDBC driver in
`${GRAVITINO_HOME}/catalogs/jdbc-clickhouse/libs`, please download the jar from
[link](https://repo1.maven.org/maven2/com/clickhouse/clickhouse-jdbc/0.7.1/) |
+| Supported version | All the codes are tested by ClickHouse `24.8.14`, but
should be compatible with other versions as well.
|
### Catalog properties
@@ -49,7 +49,7 @@ When using the JDBC catalog you must provide `jdbc-url`,
`jdbc-driver`, `jdbc-us
### Create a ClickHouse catalog
-The following example creates a ClickHouse catalog with the required JDBC
properties and optional connection pool settings. Note that the `jdbc-driver`
class must be available in the Gravitino classpath (for example by placing the
ClickHouse JDBC driver JAR in `catalogs/catalog-jdbc-clickhouse/libs`).
+The following example creates a ClickHouse catalog with the required JDBC
properties and optional connection pool settings. Note that the `jdbc-driver`
class must be available in the Gravitino classpath (for example by placing the
ClickHouse JDBC driver JAR in
`${GRAVITINO_HOME}/catalogs/jdbc-clickhouse/libs`).
Description about some of the properties:
- provider: must be `jdbc-clickhouse` for Gravitino to recognize the catalog
as ClickHouse;
- type: must be `RELATIONAL` since ClickHouse is a relational database;