diff options
Diffstat (limited to 'stage1/MavenRepository.scala')
-rw-r--r-- | stage1/MavenRepository.scala | 22 |
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") +} |