1
1
import sbtcrossproject .CrossPlugin .autoImport .{CrossType , crossProject }
2
2
import xerial .sbt .Sonatype ._
3
3
4
- inThisBuild(List (
5
- name := " url-dsl" ,
6
- organization := " be.doeraene" ,
7
- description := " A tiny library for parsing and creating urls in a type-safe way" ,
8
- homepage := Some (url(" https://github.com/sherpal/url-dsl" )),
9
- licenses := List (" MIT" -> url(" http://www.opensource.org/licenses/mit-license.php" )),
10
- developers := List (
11
- Developer (
12
- " sherpal" ,
13
- " Antoine Doeraene" ,
14
- " antoine.doeraene@gmail.com" ,
15
- url(" https://github.com/sherpal" )
16
- )
17
- ),
18
- crossScalaVersions := Seq (" 3.2.0" , " 2.13.5" , " 2.12.13" ),
19
- scalaVersion := crossScalaVersions.value.head,
20
- scalacOptions ++= Seq (" -feature" , " -deprecation" ),
21
- ))
4
+
5
+ ThisBuild / scalacOptions ++= Seq ( // use ++= to add to existing options
6
+ " -encoding" ,
7
+ " utf8" , // if an option takes an arg, supply it on the same line
8
+ " -feature" , // then put the next option on a new line for easy editing
9
+ " -language:implicitConversions" ,
10
+ " -language:existentials" ,
11
+ " -unchecked" ,
12
+ " -Xfatal-warnings" ,
13
+ " -deprecation"
14
+ )
15
+
16
+ inThisBuild(
17
+ List (
18
+ name := " url-dsl" ,
19
+ organization := " be.doeraene" ,
20
+ description := " A tiny library for parsing and creating urls in a type-safe way" ,
21
+ homepage := Some (url(" https://github.com/sherpal/url-dsl" )),
22
+ licenses := List (" MIT" -> url(" http://www.opensource.org/licenses/mit-license.php" )),
23
+ developers := List (
24
+ Developer (
25
+ " sherpal" ,
26
+ " Antoine Doeraene" ,
27
+ " antoine.doeraene@gmail.com" ,
28
+ url(" https://github.com/sherpal" )
29
+ )
30
+ ),
31
+ crossScalaVersions := Seq (" 3.2.0" , " 2.13.5" , " 2.12.13" ),
32
+ scalaVersion := crossScalaVersions.value.head
33
+ )
34
+ )
22
35
23
36
lazy val `url-dsl` = crossProject(JSPlatform , JVMPlatform )
24
37
.crossType(CrossType .Pure )
@@ -27,12 +40,24 @@ lazy val `url-dsl` = crossProject(JSPlatform, JVMPlatform)
27
40
.settings(
28
41
libraryDependencies ++= Seq (
29
42
" app.tulz" %%% " tuplez-full-light" % " 0.3.8" ,
30
- " org.scalatest" %%% " scalatest" % " 3.2.9" % " test" ,
31
- " org.scalacheck" %%% " scalacheck" % " 1.15.4" % " test"
43
+ " org.scalatest" %%% " scalatest" % " 3.2.9" % Test ,
44
+ " org.scalacheck" %%% " scalacheck" % " 1.15.4" % Test ,
45
+ " org.scalameta" %%% " munit" % " 0.7.29" % Test
32
46
)
33
47
)
48
+ .jvmSettings(
49
+ coverageFailOnMinimum := true ,
50
+ coverageMinimumStmtTotal := 99 ,
51
+ coverageMinimumBranchTotal := 100 ,
52
+ coverageMinimumStmtPerPackage := 80 ,
53
+ coverageMinimumBranchPerPackage := 100 ,
54
+ coverageMinimumStmtPerFile := 60 ,
55
+ coverageMinimumBranchPerFile := 100
56
+ )
34
57
35
- lazy val root = project.in(file(" ." ))
36
- .aggregate(`url-dsl`.js, `url-dsl`.jvm).settings(
37
- publish / skip := true ,
58
+ lazy val root = project
59
+ .in(file(" ." ))
60
+ .aggregate(`url-dsl`.js, `url-dsl`.jvm)
61
+ .settings(
62
+ publish / skip := true
38
63
)
0 commit comments