forked from rtimush/scalatags-rx
/
publish.sbt
43 lines (36 loc) · 1.38 KB
/
publish.sbt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import scala.xml.transform.{RewriteRule, RuleTransformer}
import scala.xml.{Node => XmlNode, NodeSeq => XmlNodeSeq, _}
licenses := Seq("BSD 3-Clause" -> url("https://github.com/rtimush/scalatags-rx/blob/master/LICENSE"))
homepage := Some(url("https://github.com/rtimush/scalatags-rx"))
developers := Developer("rtimush", "Roman Timushev", "rtimush@gmail.com", url("https://github.com/rtimush")) :: Nil
scmInfo := Some(ScmInfo(
url("https://github.com/rtimush/scalatags-rx"),
"scm:git:https://github.com/rtimush/scalatags-rx.git",
Some("scm:git:git@github.com:rtimush/scalatags-rx.git")
))
publishMavenStyle := true
publishTo := {
val nexus = "https://oss.sonatype.org/"
if (isSnapshot.value) Some("snapshots" at nexus + "content/repositories/snapshots")
else Some("releases" at nexus + "service/local/staging/deploy/maven2")
}
// workaround for sbt/sbt#1834
pomPostProcess := { (node: XmlNode) =>
new RuleTransformer(new RewriteRule {
override def transform(node: XmlNode): XmlNodeSeq = node match {
case e: Elem
if e.label == "developers" =>
<developers>
{developers.value.map { dev =>
<developer>
<id>{dev.id}</id>
<name>{dev.name}</name>
<email>{dev.email}</email>
<url>{dev.url}</url>
</developer>
}}
</developers>
case _ => node
}
}).transform(node).head
}