ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Burger (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IVY-1476) Support timestamped SNAPSHOT versions from Maven repository
Date Tue, 03 Jun 2014 08:28:01 GMT
Martin Burger created IVY-1476:
----------------------------------

             Summary: Support timestamped SNAPSHOT versions from Maven repository
                 Key: IVY-1476
                 URL: https://issues.apache.org/jira/browse/IVY-1476
             Project: Ivy
          Issue Type: Bug
          Components: Maven Compatibility
         Environment: sbt 0.13.5 | Sonatype Nexus 2.7.2-0 | Apache Maven 3.2.1 | play 2.2.3
            Reporter: Martin Burger


*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.2#6252)

Mime
View raw message