coursier / coursier/coursier

Supporting Maven 2 meta versions

Open
#3,239 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
2.1k
Forks
334
Avg merge
1d 16h
Merged PRs (30d)
69

Description

Maven 2 had metaversions "LATEST" (snapshot and non-snapshot latest - similar to latest.integration) and "RELEASE" (non-snapshot latest - similar to latest.release).

Its deprecated now but there are still some poms out there that use RELEASE or LATEST and transitive dependency versions.

In particular I have seen the following scenario:

library_a --- depends import scope --> library_b:RELEASE

So now if I add library_a as a dependency in my project, it looks for "library_b:RELEASE" and is unable find it, hence failing to resolve library_a.

Would be great if we can in addition to latest.* also support the maven 2 meta versions.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the existing handling of the latest.* metaversions in the Scala dependency-resolution code. Reproduce the reported transitive case where library_a imports library_b:RELEASE, then verify that dependencies using Maven 2 RELEASE and LATEST resolve alongside the existing latest.* behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.