diff options
author | Diego <diegolparra@gmail.com> | 2014-02-22 16:29:41 -0300 |
---|---|---|
committer | Diego <diegolparra@gmail.com> | 2014-02-22 16:29:41 -0300 |
commit | 9a57c4f06f5fb70ef8268ea1f1f4b4041b8ffd98 (patch) | |
tree | 1b03616d8d85c1d86ce7bb8523cebe021de9be4d /project | |
parent | de3d98d41ddd1141473e6ef0d87b852fcfc86a2c (diff) | |
download | Kamon-9a57c4f06f5fb70ef8268ea1f1f4b4041b8ffd98.tar.gz Kamon-9a57c4f06f5fb70ef8268ea1f1f4b4041b8ffd98.tar.bz2 Kamon-9a57c4f06f5fb70ef8268ea1f1f4b4041b8ffd98.zip |
ready to deploy in sonatype
Diffstat (limited to 'project')
-rw-r--r-- | project/Publish.scala | 65 | ||||
-rw-r--r-- | project/Settings.scala | 33 |
2 files changed, 68 insertions, 30 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 diff --git a/project/Settings.scala b/project/Settings.scala index 76c6730d..80af7e28 100644 --- a/project/Settings.scala +++ b/project/Settings.scala @@ -4,11 +4,11 @@ import spray.revolver.RevolverPlugin.Revolver import sbtrelease.ReleasePlugin._ import com.typesafe.sbt.SbtScalariform import com.typesafe.sbt.SbtScalariform.ScalariformKeys +import Publish.{settings => publishSettings} object Settings { lazy val basicSettings = seq( - organization := "kamon", scalaVersion := "2.10.3", resolvers ++= Dependencies.resolutionRepos, fork in run := true, @@ -23,33 +23,7 @@ object Settings { "-language:postfixOps", "-language:implicitConversions", "-Xlog-reflective-calls" - ), - publishTo <<= 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")) - } - ) ++ releaseSettings - - pomExtra := { - <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> - } + )) ++ publishSettings ++ releaseSettings import spray.revolver.RevolverPlugin.Revolver._ lazy val revolverSettings = Revolver.settings ++ seq(reJRebelJar := "~/.jrebel/jrebel.jar") @@ -66,5 +40,4 @@ object Settings { .setPreference(AlignParameters, true) .setPreference(AlignSingleLineCaseStatements, true) .setPreference(DoubleIndentClassDeclaration, true) -} - +}
\ No newline at end of file |