aboutsummaryrefslogtreecommitdiff
path: root/project/Publish.scala
diff options
context:
space:
mode:
Diffstat (limited to 'project/Publish.scala')
-rw-r--r--project/Publish.scala65
1 files changed, 65 insertions, 0 deletions
diff --git a/project/Publish.scala b/project/Publish.scala
new file mode 100644
index 00000000..818324c3
--- /dev/null
+++ b/project/Publish.scala
@@ -0,0 +1,65 @@
+import sbt._
+import sbt.Keys._
+import sbt.Project.Initialize
+import java.lang.Boolean.{valueOf => convertToBoolean }
+
+object Publish {
+
+ lazy val settings = Seq(
+ crossPaths := false,
+ pomExtra := kamonPomExtra,
+ publishTo <<= kamonPublish,
+ organization := kamonOrganization,
+ credentials ++= kamonCredentials,
+ pomIncludeRepository := { x => false },
+ publishMavenStyle := true,
+ publishArtifact in Test := false
+ )
+
+ def kamonPublish:Initialize[Option[Resolver]] = {
+ if(convertToBoolean(System.getProperty("publish.to.sonatype"))) sonatypePublishRepository
+ else kamonPublishRepository
+ }
+
+ def sonatypePublishRepository: Initialize[Option[Resolver]] = {
+ version { v: String =>
+ val nexus = "https://oss.sonatype.org/"
+ if (v.trim.endsWith("SNAPSHOT"))
+ Some("snapshots" at nexus + "content/repositories/snapshots")
+ else
+ Some("releases" at nexus + "service/local/staging/deploy/maven2")
+ }
+ }
+
+ def kamonPublishRepository :Initialize[Option[Resolver]] = {
+ version { (v: String) =>
+ if (v.trim.endsWith("SNAPSHOT"))
+ Some(Resolver.sftp("Kamon Snapshots Repository", "snapshots.kamon.io", "/var/local/snapshots-repo"))
+ else
+ Some(Resolver.sftp("Kamon Repository", "repo.kamon.io", "/var/local/releases-repo"))
+ }
+ }
+
+ def kamonOrganization: String = Option(System.getProperty("kamon.publish.organization", "kamon")).get
+
+ def kamonCredentials: Seq[Credentials] =
+ Option(System.getProperty("kamon.publish.credentials", null)) map (f => Credentials(new File(f))) toSeq
+
+ def kamonPomExtra = {
+ <url>http://kamon.io</url>
+ <licenses>
+ <license>
+ <name>Apache 2</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ </license>
+ </licenses>
+ <scm>
+ <url>git://github.com/kamon-io/Kamon.git</url>
+ <connection>scm:git:git@github.com:kamon-io/Kamon.git</connection>
+ </scm>
+ <developers>
+ <developer><id>ivantopo</id><name>Ivan Topolnjak</name><url>https://twitter.com/ivantopo</url></developer>
+ <developer><id>dpsoft</id><name>Diego Parra</name><url>https://twitter.com/diegolparra</url></developer>
+ </developers>
+ }
+} \ No newline at end of file