open-feature / open-feature/java-sdk-contrib
Parent version range [1.0,2.0) is not resolvable by Coursier
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 49
- Forks
- 81
- Avg merge
- 20h 3m
- Merged PRs (30d)
- 6
Description
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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the reported cs fetch dev.openfeature.contrib.providers:flagd:0.14.1 command and inspect the published POMs for flagd and flagd-core. Trace how their parent version is selected during publication; done means the affected artifacts publish a resolvable parent and Coursier can fetch the listed releases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100