From 45946bba6942378970ae42502f7b2829c2d3c58f Mon Sep 17 00:00:00 2001
From: Jack
Date: Tue, 6 Oct 2015 16:03:48 -0700
Subject: Added ability to test scala FIRRTL
---
Makefile | 22 ++++++++++++---
build.sbt | 23 +++++++++++----
project/assembly.sbt | 1 +
src/main/scala/firrtl/Test.scala | 61 ++++++++++++++++++++++++++++++++++++++++
test/parser/gcd.fir | 52 ++++++++++++++++++++++++++++++++++
utils/bin/firrtl-scala | 7 +++++
6 files changed, 156 insertions(+), 10 deletions(-)
create mode 100644 project/assembly.sbt
create mode 100644 src/main/scala/firrtl/Test.scala
create mode 100644 test/parser/gcd.fir
create mode 100755 utils/bin/firrtl-scala
diff --git a/Makefile b/Makefile
index 3085bfaa..9e67e3e1 100644
--- a/Makefile
+++ b/Makefile
@@ -20,13 +20,13 @@ install-mac:
cd src/lib/stanza && sudo ./stanza -platform os-x -install /usr/local/bin/stanza
build-deploy:
- cd $(firrtl_dir) && stanza -i firrtl-main.stanza -o $(root_dir)/utils/bin/firrtl
+ cd $(firrtl_dir) && stanza -i firrtl-main.stanza -o $(root_dir)/utils/bin/firrtl-stanza
build:
- cd $(firrtl_dir) && stanza -i firrtl-test-main.stanza -o $(root_dir)/utils/bin/firrtl
+ cd $(firrtl_dir) && stanza -i firrtl-test-main.stanza -o $(root_dir)/utils/bin/firrtl-stanza
build-fast:
- cd $(firrtl_dir) && stanza -i firrtl-test-main.stanza -o $(root_dir)/utils/bin/firrtl -flags OPTIMIZE
+ cd $(firrtl_dir) && stanza -i firrtl-test-main.stanza -o $(root_dir)/utils/bin/firrtl-stanza -flags OPTIMIZE
check:
cd $(test_dir) && lit -v . --path=$(root_dir)/utils/bin/
@@ -66,4 +66,18 @@ done: build check
fail:
say "fail"
-.PHONY: all install build-deploy build check clean fail succeed regress
+# Scala Added Makefile commands
+
+build-scala:
+ sbt "assembly"
+
+test-scala:
+ cd $(test_dir)/parser && lit -v . --path=$(root_dir)/utils/bin/
+
+set-scala:
+ ln -f -s $(root_dir)/utils/bin/firrtl-scala $(root_dir)/utils/bin/firrtl
+
+set-stanza:
+ ln -f -s $(root_dir)/utils/bin/firrtl-stanza $(root_dir)/utils/bin/firrtl
+
+.PHONY: all install build-deploy build check clean fail succeed regress set-scala set-stanza build-scala
diff --git a/build.sbt b/build.sbt
index 0a083994..dcc38280 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,9 +1,20 @@
-lazy val root = (project in file(".")).
- settings(
- name := "firrtl",
- version := "1.0",
- scalaVersion := "2.11.4"
- )
+organization := "edu.berkeley.cs"
+
+name := "firrtl"
+
+version := "0.1-SNAPSHOT"
+
+scalaVersion := "2.11.4"
+
+// Assembly
+
+assemblyJarName in assembly := "firrtl.jar"
+
+test in assembly := {} // Should there be tests?
+
+assemblyOutputPath in assembly := file("./utils/bin/firrtl.jar")
+
+// ANTLRv4
antlr4Settings
diff --git a/project/assembly.sbt b/project/assembly.sbt
new file mode 100644
index 00000000..a815d584
--- /dev/null
+++ b/project/assembly.sbt
@@ -0,0 +1 @@
+addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.0")
diff --git a/src/main/scala/firrtl/Test.scala b/src/main/scala/firrtl/Test.scala
new file mode 100644
index 00000000..09329685
--- /dev/null
+++ b/src/main/scala/firrtl/Test.scala
@@ -0,0 +1,61 @@
+package firrtl
+
+import java.io._
+import Utils._
+
+object Test
+{
+ private val usage = """
+ Usage: java -jar firrtl.jar firrtl.Test [options] -i -o