This repository was archived by the owner on Mar 16, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
108 lines (77 loc) · 3.23 KB
/
build.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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import scalariform.formatter.preferences._
import com.typesafe.sbt.SbtScalariform
import com.typesafe.sbt.SbtScalariform.ScalariformKeys
name := "lambda-test-capture"
organization := "com.fortysevendeg"
version := "1.3.0"
scalaVersion := "2.12.0"
scalacOptions ++= Seq("-deprecation", "-unchecked", "-feature")
viewSettings
testFrameworks += new TestFramework("com.fortysevendeg.lambdatest.sbtinterface.LambdaFramework")
fork in Test := true
libraryDependencies ++= Seq(
"com.fortysevendeg" %% "lambda-test" % "1.3.0",
"com.persist" % "persist-json_2.12" % "1.2.0" % "test",
"com.persist" % "persist-logging_2.12" % "1.3.1" % "test"
)
// Scalariform forces indent after infix plus (with no option to override)
// This makes tests less readable
// So tests include # format: OFF
SbtScalariform.scalariformSettings
ScalariformKeys.preferences := ScalariformKeys.preferences.value
.setPreference(SpacesWithinPatternBinders, true)
.setPreference(SpaceBeforeColon, false)
.setPreference(SpaceInsideParentheses, false)
.setPreference(SpaceInsideBrackets, false)
.setPreference(SpacesAroundMultiImports, true)
.setPreference(PreserveSpaceBeforeArguments, false)
.setPreference(CompactStringConcatenation, false)
.setPreference(DanglingCloseParenthesis, Force)
.setPreference(CompactControlReadability, false)
.setPreference(AlignParameters, false)
.setPreference(AlignArguments, true)
.setPreference(AlignSingleLineCaseStatements, false)
.setPreference(DoubleIndentClassDeclaration, false)
.setPreference(IndentLocalDefs, false)
.setPreference(MultilineScaladocCommentsStartOnFirstLine, false)
.setPreference(PlaceScaladocAsterisksBeneathSecondAsterisk, true)
.setPreference(RewriteArrowSymbols, true)
lazy val publishSnapshot = taskKey[Unit]("Publish only if the version is a SNAPSHOT")
publishSnapshot := Def.taskDyn {
if (isSnapshot.value) Def.task {
PgpKeys.publishSigned.value
}
else Def.task(println("Actual version is not a Snapshot. Skipping publish."))
}.value
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")
}
organizationName := "47 Degrees"
organizationHomepage := Some(new URL("http://47deg.com"))
lazy val gpgFolder = sys.env.getOrElse("GPG_FOLDER", ".")
pgpPassphrase := Some(sys.env.getOrElse("GPG_PASSPHRASE", "").toCharArray)
pgpPublicRing := file(s"$gpgFolder/pubring.gpg")
pgpSecretRing := file(s"$gpgFolder/secring.gpg")
credentials += Credentials("Sonatype Nexus Repository Manager",
"oss.sonatype.org",
sys.env.getOrElse("PUBLISH_USERNAME", ""),
sys.env.getOrElse("PUBLISH_PASSWORD", ""))
publishMavenStyle := true
publishArtifact in Test := false
pomIncludeRepository := { _ => false }
licenses := Seq("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.html"))
homepage := Some(url("https://github.com/47deg/LambdaTestCapture"))
scmInfo := Some(ScmInfo(url("https://github.com/47deg/LambdaTestCapture"), "scm:git@github.com:47deg/LambdaTestCapture.git"))
pomExtra := (
<developers>
<developer>
<name>47 Degrees (twitter: @47deg)</name>
<email>hello@47deg.com</email>
<url>http://http://www.47deg.com</url>
</developer>
</developers>
)