Support for uniquely referencing a nightly Scala version in launcher

git-svn-id: https://simple-build-tool.googlecode.com/svn/trunk@1040 d89573ee-9141-11dd-94d4-bdf5e562f29c
This commit is contained in:
dmharrah 2009-09-25 02:13:51 +00:00
parent f167888030
commit c8f86f48fc
1 changed files with 18 additions and 17 deletions

View File

@ -211,23 +211,6 @@ private final class Update(bootDirectory: File, sbtVersion: String, scalaVersion
resolver.setRoot(root)
resolver
}
private def scalaSnapshots(scalaVersion: String) =
{
val parts = """(\d+)\.(\d+)\.(\d+)-(.+)""".r.pattern.matcher(scalaVersion)
if(parts.matches && parts.group(4) != "SNAPSHOT")
snapshots( Seq(parts.group(1), parts.group(2), parts.group(3)).mkString(".") )
else
mavenResolver("Scala-Tools Maven2 Snapshots Repository", "http://scala-tools.org/repo-snapshots")
}
private def snapshots(baseVersion: String) =
{
val resolver = new URLResolver
resolver.setName("Scala-Tools Maven2 Snapshots Repository")
val base = "http://scala-tools.org/repo-snapshots/"
resolver.setM2compatible(true)
resolver.addArtifactPattern(base + "[organisation]/[module]/" + baseVersion + "-SNAPSHOT/[artifact]-[revision](-[classifier]).[ext]")
resolver
}
/** Creates a resolver for Maven Central.*/
private def mavenMainResolver = defaultMavenResolver("Maven Central")
/** Creates a maven-style resolver with the default root.*/
@ -238,6 +221,24 @@ private final class Update(bootDirectory: File, sbtVersion: String, scalaVersion
resolver.setM2compatible(true)
resolver
}
private val SnapshotPattern = """(\d+).(\d+).(\d+)-(\d{8})\.(\d{6})-(\d+|\+)""".r.pattern
private def scalaSnapshots(scalaVersion: String) =
{
val m = SnapshotPattern.matcher(scalaVersion)
if(m.matches)
{
val base = Seq(1,2,3).map(m.group).mkString(".")
val pattern = "http://scala-tools.org/repo-snapshots/[organization]/[module]/" + base + "-SNAPSHOT/[artifact]-[revision].[ext]"
val resolver = new URLResolver
resolver.setName("Scala Tools Snapshots")
resolver.setM2compatible(true)
resolver.addArtifactPattern(pattern)
resolver
}
else
mavenResolver("Scala-Tools Maven2 Snapshots Repository", "http://scala-tools.org/repo-snapshots")
}
private def localResolver(ivyUserDirectory: String) =
{
val localIvyRoot = ivyUserDirectory + "/local"