From 1be260c283f563acb74865c7ec6ae314664e49f5 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Wed, 22 Aug 2012 12:54:25 -0400 Subject: [PATCH] Publish-to now accepts jvm property publish.maven.central to rewire resolver to be aven central. --- project/Publish.scala | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/project/Publish.scala b/project/Publish.scala index 1a545531b9..3c1b3dc148 100644 --- a/project/Publish.scala +++ b/project/Publish.scala @@ -67,13 +67,27 @@ object Publish { } def akkaPublishTo: Initialize[Option[Resolver]] = { - defaultPublishTo { default => - val property = Option(System.getProperty("akka.publish.repository")) - val repo = property map { "Akka Publish Repository" at _ } - repo orElse Some(Resolver.file("Default Local Repository", default)) + (defaultPublishTo, version) { (default, v) => + akkaPublishRepository orElse + sonatypeRepo(v) orElse + Some(Resolver.file("Default Local Repository", default)) } } + def sonatypeRepo(version: String): Option[Resolver] = { + Option(sys.props("publish.maven.central")) filter (_.toLowerCase == "true") map { _ => + val nexus = "https://oss.sonatype.org/" + if(version endsWith "-SNAPSHOT") ("snapshots" at nexus + "content/repositories/snapshots") + else ("releases" at nexus + "service/local/staging/deploy/maven2") + } + } + + + def akkaPublishRepository: Option[Resolver] = { + val property = Option(System.getProperty("akka.publish.repository")) + property map { "Akka Publish Repository" at _ } + } + def akkaCredentials: Seq[Credentials] = { val property = Option(System.getProperty("akka.publish.credentials")) property map (f => Credentials(new File(f))) toSeq