ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jaikiran pai (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (IVY-1476) Support timestamped SNAPSHOT versions from Maven repository
Date Mon, 11 Sep 2017 14:34:00 GMT

    [ https://issues.apache.org/jira/browse/IVY-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16161358#comment-16161358
] 

jaikiran pai edited comment on IVY-1476 at 9/11/17 2:33 PM:
------------------------------------------------------------

Support for parsing and resolving Maven timestamped snapshot dependencies has now been added
in Ivy. A more detailed explanation of what it takes to have this support is explained in
the "Maven timestamped snapshot version matcher" section of the latest documentation here
https://ant.apache.org/ivy/history/master/settings/version-matchers.html.

In a future release, after the next planned one, we will probably make the `maven-tsnap-vm`
version matcher, that is now introduced, be part of the default configured version matchers
in Ivy. Given that this is a new feature and hasn't been fully tested in a release, this version
matcher is expected to be enabled explicitly for now, as noted in the above documentation.



was (Author: jaikiran):
Support for parsing and resolving Maven timestamped snapshot dependencies has now been added
in Ivy. A more detailed explanation of what it takes to have this support is explained in
the "Maven timestamped snapshot version matcher" section of the latest documentation here
http://ant.apache.org/ivy/history/master/settings/version-matchers.html.

In a future release, after the next planned one, we will probably make the `maven-tsnap-vm`
version matcher, that is now introduced, be part of the default configured version matchers
in Ivy. Given that this is a new feature and hasn't been fully tested in a release, this version
matcher is expected to be enabled explicitly for now, as noted in the above documentation.


> Support timestamped SNAPSHOT versions from Maven repository
> -----------------------------------------------------------
>
>                 Key: IVY-1476
>                 URL: https://issues.apache.org/jira/browse/IVY-1476
>             Project: Ivy
>          Issue Type: Improvement
>          Components: Maven Compatibility
>    Affects Versions: 2.4.0
>         Environment: sbt 0.13.5 | Sonatype Nexus 2.7.2-0 | Apache Maven 3.2.1 | play
2.2.3
>            Reporter: Martin Burger
>            Assignee: jaikiran pai
>              Labels: maven3,, snapshots, timestamps
>             Fix For: master
>
>
> *Background*
> I am developing a Play 2.2.3 application; the Play build system uses sbt. The latter
again uses Apache Ivy to implement managed dependencies.
> Furthermore, I am using Sonatype Nexus OSS to manage various libraries built and deployed
by Maven. At the moment, I am deploying snapshot versions of those libraries. For instance:
> <groupId>myGroup</groupId>
> <artifactId>myArtifact</artifactId>
> <version>0.1-SNAPSHOT</version>
> The Play application depends on snapshot versions of those libraries.
> *Intention*
> In the Play project, I want to use a specific (thus, "timestamped") snapshot version
of a dependency -- say 0.1-20140509.053703-1 -- instead of the latest one as specified by
0.1-SNAPSHOT.
> *Issue - Overview*
> While the latter works perfectly well, sbt (or, Ivy in the background) seems to be unable
to resolve the specific version. At least sbt constructs the URL pointing to that specific
version faultily: The name of the directory that contains the artifact ends with the actual
timestamp instead of string SNAPSHOT.
> *Issue - Concrete Example*
> I created a new Play application and added the following dependency in file build.sbt:
libraryDependencies += "myGroup" % "myArtifact" % "0.1-20140509.053703-1"
> When resolving that dependency, sbt constructs URLs ending with myGroup/myArtifact/0.1-20140509.053703-1/myArtifact-0.1-20140509.053703-1.pom.
> Note that the 3rd path component is 0.1-20140509.053703-1. Thus, the directory containing
artifact myArtifact incorrectly contains the timestamp as well.
> The correct directory name would be 0.1-SNAPSHOT; thus, using SNAPSHOT instead of the
actual timestamp. The complete correct URL would thus end with myGroup/myArtifact/0.1-SNAPSHOT/myArtifact-0.1-20140509.053703-1.pom.
> Referring to the latest snapshot version instead by using dependency entry libraryDependencies
+= "myGroup" % "myArtifact" % "0.1-SNAPSHOT" works as expected. The URLs end with 0.1-SNAPSHOT/myArtifact-0.1-SNAPSHOT.pom.
> *References*
> - I reported the above issue at [Stack Overfow|http://stackoverflow.com/q/23563675/66981].
However, I haven't got any answer so far.
> - I created [sbt issue #1325|https://github.com/sbt/sbt/issues/1325]. However, Josh Suereth
[points out|https://github.com/sbt/sbt/issues/1325#issuecomment-43221549] that the issue is
caused by Ivy which "never migrated to maven's new snapshot system".
> - Mark Derricutt [writes that|http://maven.40175.n5.nabble.com/Looking-for-help-with-Apache-Ivy-retrieving-timestamped-SNAPSHOT-artifact-from-Nexus-Pro-td5785168.html]
"AFAIK Ivy doesn't support timestamped SNAPSHOTs from a repository".



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message