apache / apache/opendal

new feature: Provides an `all`-classifier for the Maven module `org.apache.opendal:opendal`

Open
#7,648 4 comments 1 reaction 0 assignees View on GitHub
bindings/java enhancement releases-note/feat
Dominant language
Rust
Stars
5.4k
Forks
825
Avg merge
1d 14m
Merged PRs (30d)
127

Description

### Feature Description

- Provides an `all`-classifier for the Maven module `org.apache.opendal:opendal`.

### Problem and Solution

- Currently, https://opendal.apache.org/docs/bindings/java/ still requires users to use a Maven plugin like `kr.motd.maven:os-maven-plugin:1.7.0` to detect the `os.detected.classifier` property. The link https://repo1.maven.org/maven2/org/apache/opendal/opendal/0.48.3/ records all available `os.detected.classifier` properties.
- However, I think that if a classifier that includes all platforms could be provided, like `com.clickhouse:clickhouse-jdbc:0.9.8:all`, it would obviously reduce user confusion. After all, https://repo1.maven.org/maven2/org/apache/opendal/opendal/0.48.3/ already shows that there is no build artifact for the `linux/riscv64` platform. Importing the OpenDal dependency by users of the `linux/riscv64` platform should directly cause the project build to fail.
```xml


org.apache.opendal
opendal
0.48.3
all

```

### Additional Context

- There's no specific context; I'm just testing https://github.com/oracle/graal/issues/13351 and https://github.com/graalvm/labs-openjdk/pull/35 . I also have no plans to add `linux/riscv64` CI to the OpenDAL side.

### Are you willing to contribute to the development of this feature?

- [ ] Yes, I am willing to contribute to the development of this feature.

Contributor guide

Open the contributing guide

Research direction

Start by locating the Java binding's Maven publication and the configuration that generates platform-specific classifiers. Review how the existing artifacts listed for version 0.48.3 are built and published, then determine how an `all` classifier would represent supported platforms and fail for unsupported linux/riscv64 users. Done means the dependency example resolves correctly for supported platforms and the published metadata behaves as intended.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, rust
Domain
build-system, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.