Skip to content

Parent version range [1.0,2.0) is not resolvable by Coursier #1845

Description

@kavinvin

Note: I faced the issue, but the report below was investigated and written partially by LLM.

The published POMs for flagd and flagd-core declare their parent with a version range rather than a fixed version. Coursier, which is the resolver mill and sbt use, cannot resolve a range in a <parent> element. It treats the range as a literal path and fails to download the parent POM, so the artifacts cannot be resolved from those build tools at all.

flagd 0.14.1 and flagd-core 2.0.0 both declare the parent this way:

<parent>
  <groupId>dev.openfeature.contrib</groupId>
  <artifactId>parent</artifactId>
  <version>[1.0,2.0)</version>
</parent>

Coursier requests the literal path and fails:

Resolution error: Error downloading dev.openfeature.contrib:parent:[1.0,2.0)
  not found: https://repo1.maven.org/maven2/dev/openfeature/contrib/parent/[1.0,2.0)/parent-[1.0,2.0).pom

Reproduce with the coursier CLI:

cs fetch dev.openfeature.contrib.providers:flagd:0.14.1

Currently, coursier cannot resolve flagd 0.11.9 and later, all of 0.14.x, and flagd-core 2.x. The last resolvable release is flagd 0.11.8, which still has a concrete parent (0.1.0).

Is it possible to publish the POMs with a concrete parent version instead of a range, so the artifacts resolve for any Maven-repo client and not only Maven and Gradle? Otherwise, most Scala clients will need to give up using this sdk.

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