-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.sbt
82 lines (69 loc) · 2.5 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
// https://typelevel.org/sbt-typelevel/faq.html#what-is-a-base-version-anyway
ThisBuild / tlBaseVersion := "0.0" // your current series x.y
ThisBuild / organization := "pink.cozydev"
ThisBuild / organizationName := "CozyDev"
ThisBuild / startYear := Some(2022)
ThisBuild / licenses := Seq(License.Apache2)
ThisBuild / developers := List(
// your GitHub handle and name
tlGitHubDev("valencik", "Andrew Valencik"),
tlGitHubDev("samspills", "Sam Pillsworth"),
)
// publish to s01.oss.sonatype.org (set to true to publish to oss.sonatype.org instead)
ThisBuild / tlSonatypeUseLegacyHost := false
// publish website from this branch
ThisBuild / tlSitePublishBranch := Some("main")
// publish snapshots from main branch
ThisBuild / tlCiReleaseBranches := Seq("main")
// use JDK 11
ThisBuild / githubWorkflowJavaVersions := Seq(JavaSpec.temurin("11"))
ThisBuild / tlJdkRelease := Some(8)
val Scala212 = "2.12.20"
val Scala213 = "2.13.15"
ThisBuild / crossScalaVersions := Seq(Scala212, Scala213, "3.3.4")
ThisBuild / scalaVersion := Scala213 // the default Scala
lazy val root = tlCrossRootProject.aggregate(core, benchmarks)
lazy val core = crossProject(JVMPlatform, JSPlatform, NativePlatform)
.crossType(CrossType.Pure)
.in(file("core"))
.settings(
name := "lucille",
libraryDependencies ++= Seq(
"org.typelevel" %%% "cats-parse" % "1.0.0",
"org.typelevel" %%% "cats-core" % "2.10.0",
"org.scalameta" %%% "munit" % "1.0.0" % Test,
),
)
lazy val benchmarks = project
.in(file("benchmarks"))
.dependsOn(core.jvm)
.settings(
name := "lucille-benchmarks"
)
.enablePlugins(NoPublishPlugin, JmhPlugin)
import laika.ast.Path.Root
import laika.helium.config.{IconLink, HeliumIcon, TextLink, ThemeNavigationSection}
lazy val docs = project
.in(file("site"))
.enablePlugins(TypelevelSitePlugin)
.dependsOn(core.jvm)
.settings(
tlSiteApiPackage := Some("lucille"),
tlSiteHelium := {
tlSiteHelium.value.site.darkMode.disabled.site
.topNavigationBar(
homeLink = IconLink.external("https://github.com/cozydev-pink/lucille", HeliumIcon.home)
)
.site
.mainNavigation(
appendLinks = Seq(
ThemeNavigationSection(
"Related Projects",
TextLink.external("https://lucene.apache.org/", "lucene"),
TextLink.external("https://typelevel.org/cats-parse/", "cats-parse"),
TextLink.external("https://typelevel.org/cats/", "cats"),
)
)
)
},
)