Make MavenRepository the top level class

Also reintroduce "isCache".
This commit is contained in:
Dale Wijnand 2016-12-02 16:49:47 +00:00
parent 85e7cf68a5
commit 1bf74ddffa
No known key found for this signature in database
GPG Key ID: 4F256E3D151DF5EF
3 changed files with 25 additions and 14 deletions

View File

@ -420,7 +420,7 @@
]
},
{
"name": "IMavenRepository",
"name": "MavenRepository",
"namespace": "sbt.librarymanagement",
"target": "Scala",
"type": "interface",
@ -431,10 +431,11 @@
],
"types": [
{
"name": "MavenRepository",
"name": "MavenRepo",
"namespace": "sbt.librarymanagement",
"target": "Scala",
"type": "record",
"extra": "def isCache: Boolean = false",
"toString": "s\"$name: $root\""
},
{
@ -449,11 +450,16 @@
"fields": [
{ "name": "rootFile", "type": "java.io.File" }
],
"extra": "def this(name: String, rootFile: java.io.File) = this(name, rootFile.toURI.toURL.toString, true, rootFile)",
"extra": [
"def this(name: String, rootFile: java.io.File) = this(name, rootFile.toURI.toURL.toString, true, rootFile)",
"def isCache: Boolean = true"
],
"toString": "s\"cache:$name: ${rootFile.getAbsolutePath}\"",
"extraCompanion": "def apply(name: String, rootFile: java.io.File): MavenCache = new MavenCache(name, rootFile)"
}
]
],
"extra": "def isCache: Boolean",
"parentsCompanion": "sbt.librarymanagement.MavenRepositoryFunctions"
},
{
"name": "PatternsBasedRepository",

View File

@ -60,6 +60,6 @@ final class RepositoryName private[sbt] (name: String) {
def at(location: String) =
{
nonEmpty(location, "Repository location")
new MavenRepository(name, location)
MavenRepository(name, location)
}
}

View File

@ -26,6 +26,11 @@ final class RawRepository(val resolver: DependencyResolver) extends Resolver(res
}
}
abstract class MavenRepositoryFunctions {
def apply(name: String, root: String, localIfFile: Boolean = true): MavenRepository =
new MavenRepo(name, root, localIfFile)
}
abstract class PatternsFunctions {
implicit def defaultPatterns: Patterns = Resolver.defaultPatterns
@ -43,9 +48,9 @@ private[sbt] class FakeRepository(resolver: DependencyResolver) extends xsbti.Re
trait ResolversSyntax {
import Resolver._
val DefaultMavenRepository = new MavenRepository("public", centralRepositoryRoot(useSecureResolvers))
val JavaNet2Repository = new MavenRepository(JavaNet2RepositoryName, JavaNet2RepositoryRoot)
val JCenterRepository = new MavenRepository(JCenterRepositoryName, JCenterRepositoryRoot)
val DefaultMavenRepository = MavenRepository("public", centralRepositoryRoot(useSecureResolvers))
val JavaNet2Repository = MavenRepository(JavaNet2RepositoryName, JavaNet2RepositoryRoot)
val JCenterRepository = MavenRepository(JCenterRepositoryName, JCenterRepositoryRoot)
}
abstract class ResolverFunctions {
@ -77,15 +82,15 @@ abstract class ResolverFunctions {
private[sbt] val ScalaToolsSnapshotsName = "Sonatype OSS Snapshots"
private[sbt] val ScalaToolsReleasesRoot = SonatypeRepositoryRoot + "/releases"
private[sbt] val ScalaToolsSnapshotsRoot = SonatypeRepositoryRoot + "/snapshots"
private[sbt] val ScalaToolsReleases = new MavenRepository(ScalaToolsReleasesName, ScalaToolsReleasesRoot)
private[sbt] val ScalaToolsSnapshots = new MavenRepository(ScalaToolsSnapshotsName, ScalaToolsSnapshotsRoot)
private[sbt] val ScalaToolsReleases = MavenRepository(ScalaToolsReleasesName, ScalaToolsReleasesRoot)
private[sbt] val ScalaToolsSnapshots = MavenRepository(ScalaToolsSnapshotsName, ScalaToolsSnapshotsRoot)
def typesafeRepo(status: String) = new MavenRepository("typesafe-" + status, TypesafeRepositoryRoot + "/" + status)
def typesafeRepo(status: String) = MavenRepository("typesafe-" + status, TypesafeRepositoryRoot + "/" + status)
def typesafeIvyRepo(status: String) = url("typesafe-ivy-" + status, new URL(TypesafeRepositoryRoot + "/ivy-" + status + "/"))(ivyStylePatterns)
def sbtIvyRepo(status: String) = url(s"sbt-ivy-$status", new URL(s"$SbtRepositoryRoot/ivy-$status/"))(ivyStylePatterns)
def sbtPluginRepo(status: String) = url("sbt-plugin-" + status, new URL(SbtRepositoryRoot + "/sbt-plugin-" + status + "/"))(ivyStylePatterns)
def sonatypeRepo(status: String) = new MavenRepository("sonatype-" + status, SonatypeRepositoryRoot + "/" + status)
def bintrayRepo(owner: String, repo: String) = new MavenRepository(s"bintray-$owner-$repo", s"https://dl.bintray.com/$owner/$repo/")
def sonatypeRepo(status: String) = MavenRepository("sonatype-" + status, SonatypeRepositoryRoot + "/" + status)
def bintrayRepo(owner: String, repo: String) = MavenRepository(s"bintray-$owner-$repo", s"https://dl.bintray.com/$owner/$repo/")
def bintrayIvyRepo(owner: String, repo: String) = url(s"bintray-$owner-$repo", new URL(s"https://dl.bintray.com/$owner/$repo/"))(Resolver.ivyStylePatterns)
def jcenterRepo = JCenterRepository
@ -259,7 +264,7 @@ abstract class ResolverFunctions {
}
// TODO - should this just be the *exact* same as mavenLocal? probably...
def publishMavenLocal: MavenCache = new MavenCache("publish-m2-local", mavenLocalDir)
def mavenLocal: IMavenRepository = new MavenCache("Maven2 Local", mavenLocalDir)
def mavenLocal: MavenRepository = new MavenCache("Maven2 Local", mavenLocalDir)
def defaultLocal = defaultUserFileRepository("local")
def defaultShared = defaultUserFileRepository("shared")
def defaultUserFileRepository(id: String) =