aboutsummaryrefslogtreecommitdiff
path: root/stage1/MavenRepository.scala
diff options
context:
space:
mode:
Diffstat (limited to 'stage1/MavenRepository.scala')
-rw-r--r--stage1/MavenRepository.scala22
1 files changed, 22 insertions, 0 deletions
diff --git a/stage1/MavenRepository.scala b/stage1/MavenRepository.scala
new file mode 100644
index 0000000..bfd52a7
--- /dev/null
+++ b/stage1/MavenRepository.scala
@@ -0,0 +1,22 @@
+package cbt
+import scala.collection.immutable.Seq
+import java.net._
+case class MavenRepository(url: URL){
+ def resolve( dependencies: MavenDependency* )(implicit logger: Logger): BoundMavenDependencies
+ = new BoundMavenDependencies( Seq(url), dependencies.to )
+ def resolveOne( dependency: MavenDependency )(implicit logger: Logger): BoundMavenDependency
+ = BoundMavenDependency( dependency, Seq(url) )
+}
+
+object MavenRepository{
+ case class combine(repositories: MavenRepository*){
+ def resolve( dependencies: MavenDependency* )(implicit logger: Logger): BoundMavenDependencies
+ = new BoundMavenDependencies( repositories.map(_.url).to, dependencies.to )
+ }
+ def central = MavenRepository(new URL(NailgunLauncher.MAVEN_URL))
+ def jcenter = MavenRepository(new URL("https://jcenter.bintray.com/releases"))
+ def bintray(owner: String) = MavenRepository(new URL(s"https://dl.bintray.com/$owner/maven"))
+ private val sonatypeBase = new URL("https://oss.sonatype.org/content/repositories/")
+ def sonatype = MavenRepository(sonatypeBase ++ "releases")
+ def sonatypeSnapshots = MavenRepository(sonatypeBase ++ "snapshots")
+}