I have a couple of projects written with Scala 2.10.2 and build with sbt 0.12.4. As my OS is Ubuntu I used the SBT.deb package for installation of sbt 0.12.4. Everything fine. I built my projects with sbt.
Yesterday I wanted to update sbt to version 0.13.0. I downloaded and installed the new .deb package. The projects configuration has not been changed.
When runnging SBT after the update I get this failure:
$ sbt
Loading /usr/share/sbt/bin/sbt-launch-lib.bash
Getting org.scala-sbt sbt 0.13.0 ...
:: problems summary ::
:::: WARNINGS
module not found: org.scala-sbt#sbt;0.13.0
==== local: tried
/home/myUser/.ivy2/local/org.scala-sbt/sbt/0.13.0/ivys/ivy.xml
::::::::::::::::::::::::::::::::::::::::::::::
:: UNRESOLVED DEPENDENCIES ::
::::::::::::::::::::::::::::::::::::::::::::::
:: org.scala-sbt#sbt;0.13.0: not found
::::::::::::::::::::::::::::::::::::::::::::::
:: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
unresolved dependency: org.scala-sbt#sbt;0.13.0: not found
Error during sbt execution: Error retrieving required libraries
(see /home/myUser/.sbt/boot/update.log for complete log)
Error: Could not retrieve sbt 0.13.0
The ~/.sbt/update.log
file is available here: http://ubuntuone.com/6RDMgOqMnxdyKgfzrWVUNP
The ~/.sbt/boot/.update.log
file is available here: http://ubuntuone.com/4KqYnSL9Mc1yrmRLbCx6bI
How do I fix this dependency resolution?
Other people had similar problems like this, but not the same. I don't think this is a problem of build definition incompatibility, do you? As far as I can see, SBT does not get to the point to read the project definition.
From where does this file should be retrieved? Shouldn't it be included in the SBT installation package? Also it looks like SBT / Ivy does only look inside the local Ivy repo. There is no SBT artifact with version 0.13.0 in the Maven Central Repository. Do I have to specify another repo or something?
And what about the Scala version? Shouldn't it be specified in the dependency definition? Do I have to specify the Scala version somewhere?
build.sbt
:name := "MyProject"
version := "1.0-SNAPSHOT"
organization := "myOrg"
scalaVersion := "2.10.2"
libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "0.4.2"
project/plugins.sbt
:addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.3.0")
project/build.properties
Prior to this problem I did not have this file. I added it trying to solve this problem:
sbt.version=0.13.0
I added some repos to ~/.sbt/repositories
. This solved the problem. Now the file looks like this:
[repositories]
local
sbt-releases-repo: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
sbt-plugins-repo: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
maven-central: http://repo1.maven.org/maven2/
You should look at this, too: http://www.scala-sbt.org/0.13.0/docs/Detailed-Topics/Proxy-Repositories.html
But what still worries me is the question if this is an individual case for me and my system or if others have such problems, too. Did I misunderstand something? Because if I want to use a build tool, I don't think it should be my responsibility to care about the tool's dependencies after installation. That should be done by the tool's installation itself.
Of course it is my responsibility to care about my project's dependencies.