-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sbt
More file actions
79 lines (74 loc) · 2.67 KB
/
build.sbt
File metadata and controls
79 lines (74 loc) · 2.67 KB
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
import xerial.sbt.Sonatype.GitHubHosting
import xerial.sbt.Sonatype.sonatypeCentralHost
ThisBuild / tlBaseVersion := "0.0"
// Dependencies versions
val versions = new {
val scala = "3.6.4"
val munit = "1.1.0"
}
ThisBuild / name := "project-template"
ThisBuild / homepage := Some(url(s"https://github.com/FunktionalIO/${(ThisBuild / name).value}"))
ThisBuild / description := ""
ThisBuild / scalaVersion := versions.scala
ThisBuild / organization := "io.funktional"
ThisBuild / organizationName := "Funktional"
ThisBuild / organizationHomepage := Some(url("https://funktional.io"))
ThisBuild / startYear := Some(2025)
ThisBuild / licenses := Seq("EPL-2.0" -> url("https://opensource.org/licenses/EPL-2.0"))
ThisBuild / developers := List(
Developer(
id = "rlemaitre",
name = "Raphaël Lemaitre",
email = "github.com.lushly070@passmail.net",
url = url("https://rlemaitre.com")
)
)
// Publication
ThisBuild / sonatypeCredentialHost := sonatypeCentralHost
ThisBuild / sonatypeProjectHosting := Some(GitHubHosting(
"FunktionalIO",
(ThisBuild / name).value,
"github.com.lushly070@passmail.net"
))
ThisBuild / scmInfo := Some(
ScmInfo(
url(s"https://github.com/FunktionalIO/${(ThisBuild / name).value}"),
s"scm:git:git@github.com:FunktionalIO/${(ThisBuild / name).value}.git"
)
)
// Github actions
ThisBuild / githubWorkflowOSes := Seq("ubuntu-latest")
ThisBuild / githubWorkflowJavaVersions := Seq(JavaSpec.oracle("21"))
val sharedSettings = Seq(
organization := "io.funktional",
scalaVersion := versions.scala,
libraryDependencies ++= Seq(
"org.scalameta" %%% "munit" % versions.munit % Test
),
// Headers
headerMappings := headerMappings.value + (HeaderFileType.scala -> HeaderCommentStyle.cppStyleLineComment),
headerLicense := Some(HeaderLicense.Custom(
"""|Copyright (c) 2025-2025 by Raphaël Lemaitre and Contributors
|This software is licensed under the Eclipse Public License v2.0 (EPL-2.0).
|For more information see LICENSE or https://opensource.org/license/epl-2-0
|""".stripMargin
))
)
lazy val core = project
.in(file("modules/core"))
.settings(sharedSettings)
.settings(
name := s"${(ThisBuild / name).value}-core",
scalaVersion := versions.scala,
libraryDependencies ++= Seq(
"org.scalameta" %% "munit" % versions.munit % Test
)
)
lazy val root = project
.in(file("."))
.aggregate(core)
.settings(sharedSettings)
.settings(
name := (ThisBuild / name).value,
publish / skip := true
)