-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.sbt
95 lines (84 loc) · 2.93 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
83
84
85
86
87
88
89
90
91
92
93
94
import sbt.Keys.scalacOptions
lazy val scala2_11 = "2.11.12"
lazy val scala2_12 = "2.12.18"
lazy val scala2_13 = "2.13.12"
lazy val scala3_3 = "3.3.1"
lazy val commonSettings =
Seq(
organization := "se.umu.cs.rai.soda",
version := "0.20.0",
description := "Object-oriented functional language to describe, analyze, and model human-centered problems",
homepage := Some(url("https://julianmendez.github.io/soda/")),
startYear := Some(2020),
licenses := Seq("Apache License Version 2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0.txt")),
organizationName := "Umea University",
organizationHomepage := Some(url("https://www.umu.se/en/department-of-computing-science/")),
developers := List(
Developer("julianmendez", "Julian Alfredo Mendez", "julian.mendez@gmail.com", new URL("https://julianmendez.github.io"))
),
/**
* Scala
* [[https://www.scala-lang.org]]
* [[https://github.com/scala/scala]]
* [[https://repo1.maven.org/maven2/org/scala-lang/scalap/]]
* [[https://repo1.maven.org/maven2/org/scala-lang/scala3-compiler_3/]]
*/
crossScalaVersions := Seq(scala2_11, scala2_12, scala2_13, scala3_3),
scalaVersion := scala3_3,
/**
* ScalaTest
* [[https://www.scalatest.org]]
* [[https://github.com/scalatest/scalatest]]
* [[https://repo1.maven.org/maven2/org/scalatest/]]
*/
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.17" % "test",
resolvers += Resolver.mavenLocal,
publishTo := Some(Resolver.mavenLocal),
publishMavenStyle := true,
publishConfiguration := publishConfiguration.value.withOverwrite(true),
publishLocalConfiguration := publishLocalConfiguration.value.withOverwrite(true),
scalacOptions ++= Seq("-deprecation", "-feature")
)
lazy val docs =
project
.withId("docs")
.in(file("docs"))
.settings(commonSettings)
lazy val translator =
project
.withId("translator")
.in(file("translator"))
.settings(
commonSettings,
assembly / mainClass := Some("soda.translator.extension.main.EntryPoint"),
assembly / assemblyJarName := "translator-" + version.value + ".jar"
)
lazy val tiles =
project
.withId("tiles")
.in(file("tiles"))
.settings(
commonSettings,
assembly / assemblyJarName := "tiles-" + version.value + ".jar"
)
lazy val examples =
project
.withId("examples")
.in(file("examples"))
.aggregate(translator)
.dependsOn(translator)
.settings(
commonSettings,
assembly / assemblyJarName := "examples-" + version.value + ".jar"
)
lazy val root =
project
.withId("soda")
.in(file("."))
.aggregate(docs, translator, tiles, examples)
.dependsOn(docs, translator, tiles, examples)
.settings(
commonSettings,
assembly / mainClass := Some("soda.translator.extension.main.EntryPoint"),
assembly / assemblyJarName := "soda-" + version.value + ".jar"
)