-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.sbt
69 lines (61 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
import laika.config.SyntaxHighlighting
import laika.format.Markdown
import laika.helium.Helium
import laika.helium.config.{HeliumIcon, IconLink}
val appVersion:String = "1.0"
val globalScalaVersion = "3.3.4"
ThisBuild / organization := "ai.dragonfly"
ThisBuild / organizationName := "dragonfly.ai"
ThisBuild / startYear := Some(2023)
ThisBuild / licenses := Seq(License.Apache2)
ThisBuild / developers := List( tlGitHubDev("dragonfly-ai", "dragonfly.ai" ) )
ThisBuild / scalaVersion := globalScalaVersion
ThisBuild / tlBaseVersion := appVersion
ThisBuild / tlCiReleaseBranches := Seq()
ThisBuild / tlSonatypeUseLegacyHost := false
//ThisBuild / sonatypeCredentialHost := xerial.sbt.Sonatype.sonatypeLegacy
lazy val narr = crossProject(JSPlatform, JVMPlatform, NativePlatform)
.crossType(CrossType.Full)
.settings(
description := "Native Typed Arrays with Scala Semantics for Scala JVM, ScalaJS, and Scala Native!",
)
.jvmSettings()
.jsSettings()
lazy val root = tlCrossRootProject.aggregate(narr, tests).settings(name := "narr")
lazy val docs = project
.in(file("site"))
.dependsOn(narr.jvm)
.settings(
laikaExtensions := Seq(Markdown.GitHubFlavor, SyntaxHighlighting),
laikaConfig ~= { _.withRawContent },
tlSiteHelium := {
Helium.defaults.site.metadata(
title = Some("S"),
language = Some("en"),
description = Some("S"),
authors = Seq("one"),
)
.site
.topNavigationBar(
homeLink = IconLink.internal(laika.ast.Path(List("index.md")), HeliumIcon.home),
navLinks = Seq(IconLink.external("https://github.com/dragonfly-ai/narr", HeliumIcon.github))
)
}
)
.enablePlugins(TypelevelSitePlugin)
.enablePlugins(NoPublishPlugin)
lazy val unidocs = project
.in(file("unidocs"))
.enablePlugins(TypelevelUnidocPlugin) // also enables the ScalaUnidocPlugin
.settings(
name := "narr-docs",
ScalaUnidoc / unidoc / unidocProjectFilter := inProjects(narr.jvm, narr.js, narr.native)
)
lazy val tests = crossProject(JVMPlatform, JSPlatform, NativePlatform)
.in(file("tests"))
.enablePlugins(NoPublishPlugin)
.dependsOn(narr)
.settings(
name := "narr-tests",
libraryDependencies += "org.scalameta" %%% "munit" % "1.1.0" % Test
)