-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
55 lines (46 loc) · 1.69 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
scalaVersion := "3.3.3"
//name := "IJP-ImageJ-Launcher"
version := "0.2.0.1-SNAPSHOT"
versionScheme := Some("early-semver")
organization := "net.sf.ij-plugins"
homepage := Some(new URI("https://github.com/ij-plugins/ijp-imagej-launcher").toURL)
startYear := Some(2023)
ThisBuild / licenses := Seq(("Apache-2", new URI("https://opensource.org/license/apache-2-0").toURL))
ThisBuild / developers := List(
Developer(id = "jpsacha", name = "Jarek Sacha", email = "[email protected]", url = url("https://github.com/jpsacha"))
)
enablePlugins(ScalaNativePlugin)
// set to Debug for compilation details (Info is default)
logLevel := Level.Info
libraryDependencies ++= Seq(
"com.github.scopt" %%% "scopt" % "4.1.0",
"com.lihaoyi" %%% "os-lib" % "0.9.3",
"org.scalatest" %%% "scalatest" % "3.2.18" % Test
)
scalacOptions ++= Seq(
"-unchecked",
"-deprecation",
"-explain",
"-explain-types",
"-rewrite",
"-source:3.3-migration",
// "-Wvalue-discard",
"-Wunused:all"
)
Compile / run / mainClass := Some("ij_plugins.imagej_launcher.Main")
// import to add Scala Native options
import scala.scalanative.build.*
// defaults set with common options shown
nativeConfig ~= { c =>
c.withLTO(LTO.none) // thin
.withMode(Mode.debug) // releaseFast
.withGC(GC.immix) // commix
}
//// Enable verbose reporting during compilation
//nativeConfig ~= { c =>
// c.withCompileOptions(c.compileOptions ++ Seq("-v"))
//}
// Version info generation from SBT configuration
enablePlugins(BuildInfoPlugin)
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion)
buildInfoPackage := "ij_plugins.imagej_launcher"