[
https://issues.apache.org/jira/browse/MNG-7343?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Curtis Rueden updated MNG-7343:
-------------------------------
Description:
I use LATEST and RELEASE a lot for various purposes, such as CLI tooling that
automatically synthesizes POMs to perform various tasks. I personally feel
deprecating these metaversions was a mistake—I find them incredibly useful,
with the understanding that I would never use them for production reproducible
builds. But I do understand the rationale: we don't want to encourage anyone to
use these in a way that harms the stability of dependency resolution,
reproducibility-wise. So I'm OK with it, as long as there is a migration path
forward for these sorts of use cases.
But what is that path? I cannot find a way to replicate either of the
metaversion behaviors using version ranges. There are problems with version
ranges (MNG-3092, MNG-6049) preventing them from being used as a replacement
for LATEST or RELEASE. Furthermore, in my tests, specifying a version range
like {{[0,)}} causes Maven to download POMs at a bunch of (maybe all?) versions
of an artifact, whereas {{LATEST}} and {{RELEASE}} do not trigger en masse
downloading.l
Is there a non-deprecated syntax that has equivalent behavior? As things stand,
I am concerned that support for these metaversions is going to disappear in a
future version of Maven without a feasible migration path forward.
> Document a working migration path away from LATEST and RELEASE metaversions
> ---------------------------------------------------------------------------
>
> Key: MNG-7343
> URL: https://issues.apache.org/jira/browse/MNG-7343
> Project: Maven
> Issue Type: Bug
> Reporter: Curtis Rueden
> Priority: Major
>
> I use LATEST and RELEASE a lot for various purposes, such as CLI tooling that
> automatically synthesizes POMs to perform various tasks. I personally feel
> deprecating these metaversions was a mistake—I find them incredibly useful,
> with the understanding that I would never use them for production
> reproducible builds. But I do understand the rationale: we don't want to
> encourage anyone to use these in a way that harms the stability of dependency
> resolution, reproducibility-wise. So I'm OK with it, as long as there is a
> migration path forward for these sorts of use cases.
> But what is that path? I cannot find a way to replicate either of the
> metaversion behaviors using version ranges. There are problems with version
> ranges (MNG-3092, MNG-6049) preventing them from being used as a replacement
> for LATEST or RELEASE. Furthermore, in my tests, specifying a version range
> like {{[0,)}} causes Maven to download POMs at a bunch of (maybe all?)
> versions of an artifact, whereas {{LATEST}} and {{RELEASE}} do not trigger en
> masse downloading.l
> Is there a non-deprecated syntax that has equivalent behavior? As things
> stand, I am concerned that support for these metaversions is going to
> disappear in a future version of Maven without a feasible migration path
> forward.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)