+ bsbm task in sbt
authorAlexandre Bertails <alexandre@bertails.org>
Sat, 12 Jun 2010 20:02:19 -0400
changeset 215 efcfd12c180d
parent 208 b4daf7d3d232
child 216 054900c2f4d6
+ bsbm task in sbt
project/build/RDB2RDF.scala
--- a/project/build/RDB2RDF.scala	Sat Jun 12 17:22:57 2010 -0400
+++ b/project/build/RDB2RDF.scala	Sat Jun 12 20:02:19 2010 -0400
@@ -1,4 +1,7 @@
 import sbt._
+import java.io.File
+import java.net.URL
+import Process._
 
 class RDB2RDF(info: ProjectInfo) extends DefaultWebProject(info) {
 
@@ -13,4 +16,26 @@
 
   val mysql = "mysql" % "mysql-connector-java" % "5.1.12"
 
+  val unzipTo = path("target")
+  val bsbmtools = unzipTo / "bsbmtools"
+
+  // define the bsbm task wich download and set up the database
+
+  lazy val bsbm = task {
+    val zip = path("target") / "bsbmtools.zip" asFile
+
+    if (! zip.exists) {
+      val bsbmUrl = "http://downloads.sourceforge.net/project/bsbmtools/bsbmtools/bsbmtools-0.1/bsbmtools.zip"
+      new URL(bsbmUrl) #> zip ! log
+      FileUtilities.unzip(zip, unzipTo, log)
+    }
+
+    FileUtilities.clean(bsbmtools / "dataset", log)
+    FileUtilities.clean(bsbmtools / "td_data", log)
+    ( (new java.lang.ProcessBuilder("java", "-cp", "bin:lib/ssj.jar", "benchmark.generator.Generator", "-fc", "-pc", "1000", "-s", "sql")) directory (bsbmtools asFile) ) ! log
+
+    None
+  }
+
 }
+