~ubuntu-branches/debian/experimental/jawn/experimental

« back to all changes in this revision

Viewing changes to build.sbt

  • Committer: Package Import Robot
  • Author(s): Frédéric Bonnard
  • Date: 2017-04-14 12:48:39 UTC
  • Revision ID: package-import@ubuntu.com-20170414124839-p3xxui7g9mjqperi
Tags: upstream-0.10.4
Import upstream version 0.10.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import ReleaseTransformations._
 
2
 
 
3
lazy val jawnSettings = Seq(
 
4
  organization := "org.spire-math",
 
5
  scalaVersion := "2.11.8",
 
6
  crossScalaVersions := Seq("2.10.6", "2.11.8", "2.12.0"),
 
7
 
 
8
  resolvers += Resolver.sonatypeRepo("releases"),
 
9
  libraryDependencies ++= Seq(
 
10
    "org.scalatest" %% "scalatest" % "3.0.0" % "test",
 
11
    "org.scalacheck" %% "scalacheck" % "1.13.4" % "test"
 
12
  ),
 
13
  scalacOptions ++= Seq(
 
14
    //"-Yinline-warnings",
 
15
    "-deprecation",
 
16
    "-optimize",
 
17
    "-unchecked"
 
18
  ),
 
19
 
 
20
  licenses += ("MIT", url("http://opensource.org/licenses/MIT")),
 
21
  homepage := Some(url("http://github.com/non/jawn")),
 
22
 
 
23
  // release stuff
 
24
  releaseCrossBuild := true,
 
25
  publishMavenStyle := true,
 
26
  publishArtifact in Test := false,
 
27
  pomIncludeRepository := Function.const(false),
 
28
 
 
29
  publishTo <<= (version).apply { v =>
 
30
    val nexus = "https://oss.sonatype.org/"
 
31
    if (v.trim.endsWith("SNAPSHOT"))
 
32
      Some("Snapshots" at nexus + "content/repositories/snapshots")
 
33
    else
 
34
      Some("Releases" at nexus + "service/local/staging/deploy/maven2")
 
35
  },
 
36
 
 
37
  pomExtra := (
 
38
    <scm>
 
39
      <url>git@github.com:non/jawn.git</url>
 
40
      <connection>scm:git:git@github.com:non/jawn.git</connection>
 
41
    </scm>
 
42
    <developers>
 
43
      <developer>
 
44
        <id>d_m</id>
 
45
        <name>Erik Osheim</name>
 
46
        <url>http://github.com/non/</url>
 
47
      </developer>
 
48
    </developers>
 
49
  ),
 
50
 
 
51
  releaseProcess := Seq[ReleaseStep](
 
52
    checkSnapshotDependencies,
 
53
    inquireVersions,
 
54
    runClean,
 
55
    ReleaseHelper.runCommandAndRemaining("+test"), // formerly runTest
 
56
    setReleaseVersion,
 
57
    commitReleaseVersion,
 
58
    tagRelease,
 
59
    ReleaseHelper.runCommandAndRemaining("+publishSigned"),
 
60
    setNextVersion,
 
61
    commitNextVersion,
 
62
    ReleaseStep(action = Command.process("sonatypeReleaseAll", _)),
 
63
    pushChanges))
 
64
 
 
65
lazy val noPublish = Seq(
 
66
  publish := {},
 
67
  publishLocal := {},
 
68
  publishArtifact := false)
 
69
 
 
70
lazy val root = project.in(file("."))
 
71
  .aggregate(all.map(Project.projectToRef): _*)
 
72
  .enablePlugins(CrossPerProjectPlugin)
 
73
  .disablePlugins(JmhPlugin)
 
74
  .settings(name := "jawn")
 
75
  .settings(jawnSettings: _*)
 
76
  .settings(noPublish: _*)
 
77
 
 
78
lazy val parser = project.in(file("parser"))
 
79
  .settings(name := "parser")
 
80
  .settings(moduleName := "jawn-parser")
 
81
  .settings(jawnSettings: _*)
 
82
  .disablePlugins(JmhPlugin)
 
83
 
 
84
lazy val ast = project.in(file("ast"))
 
85
  .dependsOn(parser % "compile->compile;test->test")
 
86
  .settings(name := "ast")
 
87
  .settings(moduleName := "jawn-ast")
 
88
  .settings(jawnSettings: _*)
 
89
  .disablePlugins(JmhPlugin)
 
90
 
 
91
def support(s: String) =
 
92
  Project(id = s, base = file(s"support/$s"))
 
93
    .settings(name := (s + "-support"))
 
94
    .settings(moduleName := "jawn-" + s)
 
95
    .dependsOn(parser)
 
96
    .settings(jawnSettings: _*)
 
97
    .disablePlugins(JmhPlugin)
 
98
 
 
99
lazy val supportArgonaut = support("argonaut")
 
100
  .settings(crossScalaVersions := Seq("2.10.6", "2.11.8"))
 
101
  .settings(libraryDependencies += "io.argonaut" %% "argonaut" % "6.1")
 
102
 
 
103
lazy val supportJson4s = support("json4s")
 
104
  .settings(libraryDependencies += "org.json4s" %% "json4s-ast" % "3.5.0")
 
105
 
 
106
lazy val supportPlay = support("play")
 
107
  .settings(crossScalaVersions := Seq("2.10.6", "2.11.8"))
 
108
  .settings(libraryDependencies += (scalaBinaryVersion.value match {
 
109
    case "2.10" => "com.typesafe.play" %% "play-json" % "2.4.8"
 
110
    case _ =>  "com.typesafe.play" %% "play-json" % "2.5.9"
 
111
  }))
 
112
 
 
113
lazy val supportRojoma = support("rojoma")
 
114
  .settings(crossScalaVersions := Seq("2.10.6", "2.11.8", "2.12.0"))
 
115
  .settings(libraryDependencies += "com.rojoma" %% "rojoma-json" % "2.4.3")
 
116
 
 
117
lazy val supportRojomaV3 = support("rojoma-v3")
 
118
  .settings(libraryDependencies += "com.rojoma" %% "rojoma-json-v3" % "3.7.0")
 
119
 
 
120
lazy val supportSpray = support("spray")
 
121
  .settings(resolvers += "spray" at "http://repo.spray.io/")
 
122
  .settings(libraryDependencies += "io.spray" %% "spray-json" % "1.3.2")
 
123
 
 
124
lazy val benchmark = project.in(file("benchmark"))
 
125
  .dependsOn(all.map(Project.classpathDependency[Project]): _*)
 
126
  .settings(name := "jawn-benchmark")
 
127
  .settings(jawnSettings: _*)
 
128
  .settings(scalaVersion := "2.11.8")
 
129
  .settings(noPublish: _*)
 
130
  .settings(crossScalaVersions := Seq("2.11.8"))
 
131
  .enablePlugins(JmhPlugin)
 
132
 
 
133
lazy val all =
 
134
  Seq(parser, ast, supportArgonaut, supportJson4s, supportPlay, supportRojoma, supportRojomaV3, supportSpray)