generated from polyvariant/library-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
79 lines (67 loc) · 2.24 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
ThisBuild / tlBaseVersion := "0.2"
ThisBuild / organization := "org.polyvariant.scodec-java-classfile"
ThisBuild / organizationName := "Polyvariant"
ThisBuild / startYear := Some(2022)
ThisBuild / licenses := Seq(License.Apache2)
ThisBuild / developers := List(tlGitHubDev("kubukoz", "Jakub Kozłowski"))
ThisBuild / tlSonatypeUseLegacyHost := false
def crossPlugin(x: sbt.librarymanagement.ModuleID) = compilerPlugin(x.cross(CrossVersion.full))
val compilerPlugins = List(
crossPlugin("org.polyvariant" % "better-tostring" % "0.3.17")
)
val Scala3 = "3.2.1"
ThisBuild / scalaVersion := Scala3
ThisBuild / crossScalaVersions := Seq(Scala3)
Global / onChangedBuildSource := ReloadOnSourceChanges
ThisBuild / tlFatalWarnings := false
ThisBuild / tlFatalWarningsInCi := false
val commonSettings = Seq(
libraryDependencies ++= compilerPlugins ++ Seq(
"com.disneystreaming" %%% "weaver-cats" % "0.8.0" % Test,
"com.disneystreaming" %%% "weaver-scalacheck" % "0.8.0" % Test,
),
testFrameworks += new TestFramework("weaver.framework.CatsEffect"),
)
lazy val core = crossProject(JVMPlatform, JSPlatform, NativePlatform)
.crossType(CrossType.Pure)
.settings(
commonSettings,
libraryDependencies ++= Seq(
"org.scodec" %%% "scodec-bits" % "1.1.34"
),
)
lazy val codecs = crossProject(JVMPlatform, JSPlatform, NativePlatform)
.crossType(CrossType.Pure)
.settings(
commonSettings,
libraryDependencies ++= Seq(
"org.scodec" %%% "scodec-core" % "2.2.0"
),
)
.dependsOn(core)
lazy val examples = crossProject(JVMPlatform, JSPlatform, NativePlatform)
.crossType(CrossType.Pure)
.settings(
libraryDependencies ++= Seq(
"com.lihaoyi" %%% "pprint" % "0.7.3",
"org.typelevel" %%% "cats-core" % "2.9.0",
),
commonSettings,
)
.dependsOn(codecs)
.enablePlugins(NoPublishPlugin)
lazy val demo = crossProject(JSPlatform)
.crossType(CrossType.Pure)
.settings(
libraryDependencies ++= Seq(
"org.scala-js" %%% "scalajs-dom" % "2.2.0",
"com.lihaoyi" %%% "scalatags" % "0.12.0",
)
)
.dependsOn(examples)
lazy val root = tlCrossRootProject
.aggregate(core, codecs, examples, demo)
.settings(
Compile / doc / sources := Seq(),
sonatypeProfileName := "org.polyvariant",
)