Skip to content

[Bug] Published paimon-gs pom leaks paimon-common as a compile-scope dependency #8937

Description

@thswlsqls

Search before asking

  • I searched in the issues and found nothing similar.

Paimon version
master @ 6464ef3 / 2.0-SNAPSHOT (also present in released 1.2.0)

Compute Engine
Engine-agnostic (filesystem plugin loader)

Minimal reproduce step
Add org.apache.paimon:paimon-gs:1.2.0 as a dependency and run mvn dependency:tree: paimon-common (and its transitives) appears at compile scope — unlike any sibling loader.
Cause: paimon-filesystems/paimon-gs/pom.xml declares paimon-common without a scope (line 37-41) and paimon-gs-impl without <optional>true</optional> (line 50-61). All 7 sibling loaders (s3/oss/obs/cosn/azure/jindo/jindodls) declare paimon-common as provided, and the 5 PluginFileIO siblings mark the impl dependency optional.

What doesn't meet your expectations?
Expected: the published paimon-gs pom follows the sibling loader contract — paimon-common is supplied by the Paimon engine bundle at runtime, not leaked to consumers.
Actual: Maven Central paimon-gs-1.2.0.pom publishes paimon-common at compile scope, pulling unshaded core classes that duplicate and can version-skew against the engine bundles.

Anything else?
The drift comes from #5238, which copied the cosn pom but dropped these two lines.

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions