2016-08-25 2 views
1

Ich kann SBT nicht scheinen, um meine Abhängigkeiten aufzulösen, wenn ich die Bereichssyntax verwende.sbt/ivy Version Bereiche löst nicht, aber genaue Versionen tun

libraryDependencies ++= Seq(
    //exact version works i.e.  0.5.3+27 
    //but what we want to work is [0.5.3,) 
    //or I've since moved the build number to the 4th component 0.5.3.+ 
    "company"    %% "project"  % "0.5.3.+", 
    //... 
) 

So kann ich genaue Versionen erhalten gut zu funktionieren, aber keiner der Version Syntax bei https://ant.apache.org/ivy/history/2.3.0/ivyfile/dependency.html#revision oder die Beispiele auf http://www.scala-sbt.org/0.13/docs/Library-Management.html Arbeit angegeben.

Ich habe mich umgesehen und festgestellt, dass es eine Lösung für so etwas hier gab https://github.com/sbt/sbt/pull/2075, die in sbt 0.13.9 ging, verwende ich 0.13.11.

Die erste Version Bereich ist das, was ich wegen wurde mit was für die Meta-Daten in Punkt Semantic Version empfiehlt 10, wenn das nicht funktioniert, die Bibliothek management docs/Ivy revision docs sagt „die Revision endet mit a + wählt die letzte Teilrevision das Abhängigkeitsmodul ", also entfernte ich das +, falls das ein Problem verursachte, und fügte die vierte Komponente hinzu, die nur die Build-Nummer ist, die GoCD bereitstellt. Wieder funktioniert die exakte Version, aber keine Unterrevisionen.

In sbt kann ich URL der beiden Formate sehen ist, treffen:

  1. https://dl.bintray.com/<username>/Innen releases/<namespace>/<project-name> _2.11/[revision]/<project-name> _2.11- [revision] .pom
  2. http://dl.bintray.com/<username>/Innen releases/<namespace>/<project-name> _2.11/[revision] /ivys/ivy.xml

Hinweis hier [revision] ist, was buchstäblich in der URL gedruckt wird. Die Dinge in spitzen Klammern sind meine Ersetzungen. Deshalb dachte ich, dass issue 2005 verwandt war. Ich habe keine SBT-Repositories-Datei.

Also für die Frage, habe ich etwas falsch gemacht in dem oben genannten, wie bekomme ich Version Bereich Arbeit mit der min.minor.patch.build Syntax, d. H. 0.x.x.+?

Antwort

0

Arbeitete um dieses. Bintray-Verzeichnislisten haben keine gültigen HTTP-Links (Anti-Crawler-Aufwand für Binary-Teil). Daher kann der Ivy-Resolver die Liste der veröffentlichten Versionen nicht abrufen.

Die Verwendung des Maven-Layouts anstelle von Ivys funktioniert, weil das Maven-Format eine metadata.xml enthält, die alle verfügbaren Versionen auflistet. Also die Arbeit herum ist, Bibliotheken mit dem Maven-Layout statt Ivys neu zu veröffentlichen, um diese Metadaten zu erhalten.

Verwandte Themen