This is an automated email from the ASF dual-hosted git repository.

tison pushed a commit to branch java
in repository https://gitbox.apache.org/repos/asf/opendal.git

commit 9450e0abe279b86ff5b3e9a21fc0ec35a5571052
Author: tison <[email protected]>
AuthorDate: Sun Feb 22 14:31:28 2026 +0800

    chore: binding java's dependency
    
    Signed-off-by: tison <[email protected]>
---
 .github/workflows/ci_bindings_java.yml | 13 +++--
 .github/workflows/release_java.yml     |  1 -
 bindings/java/Cargo.toml               | 94 ++++++----------------------------
 bindings/java/pom.xml                  | 31 +++++------
 bindings/java/src/utility.rs           | 74 --------------------------
 5 files changed, 42 insertions(+), 171 deletions(-)

diff --git a/.github/workflows/ci_bindings_java.yml 
b/.github/workflows/ci_bindings_java.yml
index 682fd892e..e7bb98f70 100644
--- a/.github/workflows/ci_bindings_java.yml
+++ b/.github/workflows/ci_bindings_java.yml
@@ -46,17 +46,16 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v6
-      - name: Set up JDK 21
+      - name: Set up JDK 25
         uses: actions/setup-java@v5
         with:
           distribution: 'zulu'
-          java-version: '21'
+          java-version: '25'
           cache: 'maven'
       - name: Build and check
         working-directory: bindings/java
         run: |
           ./mvnw clean compile spotless:check
-
       - name: Check Clippy
         working-directory: bindings/java
         run: cargo clippy -- -D warnings
@@ -70,13 +69,19 @@ jobs:
           - ubuntu-24.04-arm
           - macos-latest
           - windows-latest
+        java-version:
+          - 8
+          - 11
+          - 17
+          - 21
+          - 25
     steps:
       - uses: actions/checkout@v6
       - name: Set up JDK 8
         uses: actions/setup-java@v5
         with:
           distribution: 'zulu'
-          java-version: '8'
+          java-version: ${{ matrix.java-version }}
           cache: 'maven'
       - name: Build and test
         working-directory: bindings/java
diff --git a/.github/workflows/release_java.yml 
b/.github/workflows/release_java.yml
index 7f1749330..7b6b58c30 100644
--- a/.github/workflows/release_java.yml
+++ b/.github/workflows/release_java.yml
@@ -84,7 +84,6 @@ jobs:
             -DskipTests=true \
             -Djni.classifier=${{ matrix.classifier }} \
             -Dcargo-build.profile=release \
-            -Dcargo-build.features=services-all \
             -Dcargo-build.enableZigbuild=${{ env.CARGO_BUILD_ENABLE_ZIGBUILD 
}} \
             -DaltStagingDirectory=local-staging \
             -DskipRemoteStaging=true \
diff --git a/bindings/java/Cargo.toml b/bindings/java/Cargo.toml
index 64b0fb877..684ba2251 100644
--- a/bindings/java/Cargo.toml
+++ b/bindings/java/Cargo.toml
@@ -30,8 +30,21 @@ rust-version = "1.85"
 crate-type = ["cdylib"]
 doc = false
 
-[features]
-default = [
+[dependencies]
+jni = { version = "0.21.1" }
+# opendal-java won't be published to crates.io, we always use the local version
+opendal = { version = ">=0", path = "../../core", default-features = false, 
features = [
+  "blocking",
+  "reqwest-rustls-tls",
+  "executors-tokio",
+
+  # enabled layers
+  "layers-concurrent-limit",
+  "layers-logging",
+  "layers-retry",
+  "layers-timeout",
+
+  # enabled services
   "services-azblob",
   "services-azdls",
   "services-cos",
@@ -46,10 +59,6 @@ default = [
   "services-s3",
   "services-webdav",
   "services-webhdfs",
-]
-
-services-all = [
-  "default",
   "services-aliyun-drive",
   "services-cacache",
   "services-dashmap",
@@ -90,77 +99,8 @@ services-all = [
   "services-seafile",
   "services-upyun",
   "services-yandex-disk",
-]
-
-# Optional services provided by opendal.
-services-aliyun-drive = ["opendal/services-aliyun-drive"]
-services-alluxio = ["opendal/services-alluxio"]
-services-azblob = ["opendal/services-azblob"]
-services-azdls = ["opendal/services-azdls"]
-services-azfile = ["opendal/services-azfile"]
-services-b2 = ["opendal/services-b2"]
-services-cacache = ["opendal/services-cacache"]
-services-cloudflare-kv = ["opendal/services-cloudflare-kv"]
-services-compfs = ["opendal/services-compfs"]
-services-cos = ["opendal/services-cos"]
-services-dashmap = ["opendal/services-dashmap"]
-services-dbfs = ["opendal/services-dbfs"]
-services-dropbox = ["opendal/services-dropbox"]
-services-etcd = ["opendal/services-etcd"]
-services-foundationdb = ["opendal/services-foundationdb"]
-services-fs = ["opendal/services-fs"]
-services-ftp = ["opendal/services-ftp"]
-services-gcs = ["opendal/services-gcs"]
-services-gdrive = ["opendal/services-gdrive"]
-services-ghac = ["opendal/services-ghac"]
-services-github = ["opendal/services-github"]
-services-gridfs = ["opendal/services-gridfs"]
-services-hdfs = ["opendal/services-hdfs"]
-services-hdfs-native = ["opendal/services-hdfs-native"]
-services-hf = ["opendal/services-hf"]
-services-http = ["opendal/services-http"]
-services-huggingface = ["services-hf"]
-services-ipfs = ["opendal/services-ipfs"]
-services-ipmfs = ["opendal/services-ipmfs"]
-services-koofr = ["opendal/services-koofr"]
-services-lakefs = ["opendal/services-lakefs"]
-services-memcached = ["opendal/services-memcached"]
-services-memory = ["opendal/services-memory"]
-services-mini-moka = ["opendal/services-mini-moka"]
-services-moka = ["opendal/services-moka"]
-services-mongodb = ["opendal/services-mongodb"]
-services-monoiofs = ["opendal/services-monoiofs"]
-services-mysql = ["opendal/services-mysql"]
-services-obs = ["opendal/services-obs"]
-services-onedrive = ["opendal/services-onedrive"]
-services-oss = ["opendal/services-oss"]
-services-pcloud = ["opendal/services-pcloud"]
-services-persy = ["opendal/services-persy"]
-services-postgresql = ["opendal/services-postgresql"]
-services-redb = ["opendal/services-redb"]
-services-redis = ["opendal/services-redis"]
-services-rocksdb = ["opendal/services-rocksdb"]
-services-s3 = ["opendal/services-s3"]
-services-seafile = ["opendal/services-seafile"]
-services-sftp = ["opendal/services-sftp"]
-services-sled = ["opendal/services-sled"]
-services-sqlite = ["opendal/services-sqlite"]
-services-surrealdb = ["opendal/services-surrealdb"]
-services-swift = ["opendal/services-swift"]
-services-tikv = ["opendal/services-tikv"]
-services-upyun = ["opendal/services-upyun"]
-services-vercel-artifacts = ["opendal/services-vercel-artifacts"]
-services-vercel-blob = ["opendal/services-vercel-blob"]
-services-webdav = ["opendal/services-webdav"]
-services-webhdfs = ["opendal/services-webhdfs"]
-services-yandex-disk = ["opendal/services-yandex-disk"]
-
-[dependencies]
-anyhow = { version = "1.0.100" }
-jni = { version = "0.21.1" }
-# this crate won't be published, we always use the local version
-opendal = { version = ">=0", path = "../../core", features = ["blocking"] }
-tokio = { version = "1.28.1", features = ["full"] }
+] }
+tokio = { version = "1.49.0", features = ["full"] }
 
 # This is not optimal. See also the Cargo issue:
 # https://github.com/rust-lang/cargo/issues/1197#issuecomment-1641086954
diff --git a/bindings/java/pom.xml b/bindings/java/pom.xml
index cb8b71be7..8883daf85 100644
--- a/bindings/java/pom.xml
+++ b/bindings/java/pom.xml
@@ -66,21 +66,22 @@
         <jni.classifier>${os.detected.classifier}</jni.classifier>
 
         <!-- library dependencies -->
-        <assertj.version>3.23.1</assertj.version>
-        <commons-io.version>2.16.1</commons-io.version>
-        <dotenv.version>2.3.2</dotenv.version>
-        <lombok.version>1.18.34</lombok.version>
-        <slf4j.version>2.0.7</slf4j.version>
-        <httpclient.version>5.2</httpclient.version>
+        <assertj.version>3.27.7</assertj.version>
+        <commons-io.version>2.21.0</commons-io.version>
+        <dotenv.version>3.2.0</dotenv.version>
+        <httpclient.version>5.6</httpclient.version>
+        <junit.version>5.10.0</junit.version>
+        <lombok.version>1.18.42</lombok.version>
+        <slf4j.version>2.0.17</slf4j.version>
 
         <!-- plugins dependencies -->
-        <maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
-        <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
-        <exec-maven-plugin.version>3.1.0</exec-maven-plugin.version>
-        <os-maven-plugin.version>1.7.0</os-maven-plugin.version>
-        <palantir-java-format.version>2.36.0</palantir-java-format.version>
-        <spotless.version>2.39.0</spotless.version>
-        <maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
+        <maven-surefire-plugin.version>3.5.5</maven-surefire-plugin.version>
+        <maven-compiler-plugin.version>3.15.0</maven-compiler-plugin.version>
+        <exec-maven-plugin.version>3.6.3</exec-maven-plugin.version>
+        <os-maven-plugin.version>1.7.1</os-maven-plugin.version>
+        <palantir-java-format.version>2.81.0</palantir-java-format.version>
+        <spotless.version>3.2.0</spotless.version>
+        <maven-javadoc-plugin.version>3.12.0</maven-javadoc-plugin.version>
     </properties>
 
     <dependencyManagement>
@@ -88,7 +89,7 @@
             <dependency>
                 <groupId>org.junit</groupId>
                 <artifactId>junit-bom</artifactId>
-                <version>5.9.2</version>
+                <version>${junit.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
@@ -298,7 +299,7 @@
                 <version>${maven-javadoc-plugin.version}</version>
                 <configuration>
                     <bottom>
-                        Copyright © 2022-2024, The Apache Software Foundation. 
Apache OpenDAL, OpenDAL, and Apache
+                        Copyright © 2022-2026, The Apache Software Foundation. 
Apache OpenDAL, OpenDAL, and Apache
                         are either registered trademarks or trademarks of the 
Apache Software Foundation.
                     </bottom>
                 </configuration>
diff --git a/bindings/java/src/utility.rs b/bindings/java/src/utility.rs
index c61a876ab..1388d75fa 100644
--- a/bindings/java/src/utility.rs
+++ b/bindings/java/src/utility.rs
@@ -42,125 +42,51 @@ pub unsafe extern "system" fn 
Java_org_apache_opendal_OpenDAL_loadEnabledService
 
 fn intern_load_enabled_services(env: &mut JNIEnv) -> Result<jobjectArray> {
     let services = HashSet::from([
-        #[cfg(feature = "services-aliyun-drive")]
         opendal::services::ALIYUN_DRIVE_SCHEME,
-        #[cfg(feature = "services-alluxio")]
         opendal::services::ALLUXIO_SCHEME,
-        #[cfg(feature = "services-azblob")]
         opendal::services::AZBLOB_SCHEME,
-        #[cfg(feature = "services-azdls")]
         opendal::services::AZDLS_SCHEME,
-        #[cfg(feature = "services-azfile")]
         opendal::services::AZFILE_SCHEME,
-        #[cfg(feature = "services-b2")]
         opendal::services::B2_SCHEME,
-        #[cfg(feature = "services-cacache")]
         opendal::services::CACACHE_SCHEME,
-        #[cfg(feature = "services-cloudflare-kv")]
-        opendal::services::CLOUDFLARE_KV_SCHEME,
-        #[cfg(feature = "services-compfs")]
-        opendal::services::COMPFS_SCHEME,
-        #[cfg(feature = "services-cos")]
         opendal::services::COS_SCHEME,
-        #[cfg(feature = "services-dashmap")]
         opendal::services::DASHMAP_SCHEME,
-        #[cfg(feature = "services-dbfs")]
-        opendal::services::DBFS_SCHEME,
-        #[cfg(feature = "services-dropbox")]
         opendal::services::DROPBOX_SCHEME,
-        #[cfg(feature = "services-etcd")]
         opendal::services::ETCD_SCHEME,
-        #[cfg(feature = "services-foundationdb")]
-        opendal::services::FOUNDATIONDB_SCHEME,
-        #[cfg(feature = "services-fs")]
         opendal::services::FS_SCHEME,
-        #[cfg(feature = "services-ftp")]
-        opendal::services::FTP_SCHEME,
-        #[cfg(feature = "services-gcs")]
         opendal::services::GCS_SCHEME,
-        #[cfg(feature = "services-gdrive")]
         opendal::services::GDRIVE_SCHEME,
-        #[cfg(feature = "services-ghac")]
         opendal::services::GHAC_SCHEME,
-        #[cfg(feature = "services-github")]
-        opendal::services::GITHUB_SCHEME,
-        #[cfg(feature = "services-gridfs")]
         opendal::services::GRIDFS_SCHEME,
-        #[cfg(feature = "services-hdfs")]
-        opendal::services::HDFS_SCHEME,
-        #[cfg(feature = "services-hdfs-native")]
-        opendal::services::HDFS_NATIVE_SCHEME,
-        #[cfg(feature = "services-http")]
         opendal::services::HTTP_SCHEME,
-        #[cfg(feature = "services-hf")]
         opendal::services::HF_SCHEME,
-        #[cfg(feature = "services-ipfs")]
         opendal::services::IPFS_SCHEME,
-        #[cfg(feature = "services-ipmfs")]
         opendal::services::IPMFS_SCHEME,
-        #[cfg(feature = "services-koofr")]
         opendal::services::KOOFR_SCHEME,
-        #[cfg(feature = "services-lakefs")]
-        opendal::services::LAKEFS_SCHEME,
-        #[cfg(feature = "services-memcached")]
         opendal::services::MEMCACHED_SCHEME,
-        #[cfg(feature = "services-memory")]
         opendal::services::MEMORY_SCHEME,
-        #[cfg(feature = "services-mini-moka")]
         opendal::services::MINI_MOKA_SCHEME,
-        #[cfg(feature = "services-moka")]
         opendal::services::MOKA_SCHEME,
-        #[cfg(feature = "services-mongodb")]
         opendal::services::MONGODB_SCHEME,
-        #[cfg(feature = "services-monoiofs")]
-        opendal::services::MONOIOFS_SCHEME,
-        #[cfg(feature = "services-mysql")]
         opendal::services::MYSQL_SCHEME,
-        #[cfg(feature = "services-obs")]
         opendal::services::OBS_SCHEME,
-        #[cfg(feature = "services-onedrive")]
         opendal::services::ONEDRIVE_SCHEME,
-        #[cfg(feature = "services-oss")]
         opendal::services::OSS_SCHEME,
-        #[cfg(feature = "services-pcloud")]
-        opendal::services::PCLOUD_SCHEME,
-        #[cfg(feature = "services-persy")]
         opendal::services::PERSY_SCHEME,
-        #[cfg(feature = "services-postgresql")]
         opendal::services::POSTGRESQL_SCHEME,
-        #[cfg(feature = "services-redb")]
         opendal::services::REDB_SCHEME,
-        #[cfg(feature = "services-redis")]
         opendal::services::REDIS_SCHEME,
-        #[cfg(feature = "services-rocksdb")]
-        opendal::services::ROCKSDB_SCHEME,
-        #[cfg(feature = "services-s3")]
         opendal::services::S3_SCHEME,
-        #[cfg(feature = "services-seafile")]
         opendal::services::SEAFILE_SCHEME,
-        #[cfg(feature = "services-sftp")]
         opendal::services::SFTP_SCHEME,
-        #[cfg(feature = "services-sled")]
         opendal::services::SLED_SCHEME,
-        #[cfg(feature = "services-sqlite")]
         opendal::services::SQLITE_SCHEME,
-        #[cfg(feature = "services-surrealdb")]
-        opendal::services::SURREALDB_SCHEME,
-        #[cfg(feature = "services-swift")]
         opendal::services::SWIFT_SCHEME,
-        #[cfg(feature = "services-tikv")]
         opendal::services::TIKV_SCHEME,
-        #[cfg(feature = "services-upyun")]
         opendal::services::UPYUN_SCHEME,
-        #[cfg(feature = "services-vercel-artifacts")]
         opendal::services::VERCEL_ARTIFACTS_SCHEME,
-        #[cfg(feature = "services-vercel-blob")]
-        opendal::services::VERCEL_BLOB_SCHEME,
-        #[cfg(feature = "services-webdav")]
         opendal::services::WEBDAV_SCHEME,
-        #[cfg(feature = "services-webhdfs")]
         opendal::services::WEBHDFS_SCHEME,
-        #[cfg(feature = "services-yandex-disk")]
         opendal::services::YANDEX_DISK_SCHEME,
     ]);
 

Reply via email to