build.sbt 1.44 KB
Newer Older
1 2 3 4 5

lazy val genSrc = taskKey[List[File]]("generate sources")

genSrc <<= (sourceGenerators in Compile) { _.join.map(_.flatten.toList) }

6
organization := "org.microvm"
7

8
name := "microvm-refimpl2"
9

Kunshan Wang's avatar
Kunshan Wang committed
10
version := "2.1.1"
11

12
description := "The second reference implementation of Mu, the micro virtual machine"
13

14
licenses := Seq("CC BY-SA 4.0" -> url("https://creativecommons.org/licenses/by-sa/4.0/legalcode"))
15

Kunshan Wang's avatar
Kunshan Wang committed
16
scalaVersion := "2.11.8"
Kunshan Wang's avatar
Kunshan Wang committed
17

18
libraryDependencies ++= Seq(
Kunshan Wang's avatar
Kunshan Wang committed
19 20
    "org.scala-lang" % "scala-reflect" % "2.11.8",
    "org.antlr" % "antlr4" % "4.5.2-1",
21 22
    "com.typesafe.scala-logging" %% "scala-logging" % "3.1.0",
    "ch.qos.logback" % "logback-classic" % "1.1.3",
Kunshan Wang's avatar
Kunshan Wang committed
23 24 25 26
    "com.github.jnr" % "jnr-ffi" % "2.0.9",
    "com.github.jnr" % "jffi" % "1.2.11",
    "com.github.jnr" % "jnr-posix" % "3.0.29",
    "org.scalatest" %% "scalatest" % "2.2.6" % "test",
27 28
    "junit" % "junit" % "4.12" % "test"
)
29

30
testOptions in Test += Tests.Argument("-oF") // print full stack trace when testing
31

32
antlr4Settings
33

34
antlr4PackageName in Antlr4 := Some("uvm.ir.textinput.gen")
35

36 37 38
antlr4GenListener in Antlr4 := false

antlr4GenVisitor in Antlr4 := false
39

Kunshan Wang's avatar
Kunshan Wang committed
40
lazy val makeClasspathFile = taskKey[Unit]("write the run-time classpath to target/jars.txt as colon-separated list")
41

Kunshan Wang's avatar
Kunshan Wang committed
42 43 44 45
makeClasspathFile := {
  val cp = (fullClasspath in Runtime).value.files 

  println("fullClasspath: \n" + cp.mkString("\n"))
46

Kunshan Wang's avatar
Kunshan Wang committed
47
  val cpStr = cp.mkString(":")
48

Kunshan Wang's avatar
Kunshan Wang committed
49
  IO.write(new java.io.File("cbinding/classpath.txt"), cpStr)
50
}