2 exec scalas "$0" -q "$@"
6 logLevel := Level.Error
8 logLevel in Global := Level.Error
10 scalaVersion := "2.9.2"
12 libraryDependencies ++= Seq(
13 "asm" % "asm-all" % "3.3.1",
14 "org.picocontainer" % "picocontainer" % "2.13.6",
15 "org.nlogo" % "NetLogo" % "5.2.0" from "http://ccl.northwestern.edu/netlogo/5.2.0/NetLogo.jar"
19 import org.nlogo.headless.HeadlessWorkspace
22 import org.nlogo.util.Utils.url2String
24 import collection.JavaConversions._
26 val input = io.Source.stdin.getLines.mkString("\n").split("\\@\\#\\$\\#\\@\\#\\$\\#\\@")
28 System.out.println("----")
29 val workspace = HeadlessWorkspace.newInstance
30 workspace.silent = true
32 if (input.length > 2 && input(2).length > 0) {
33 val modelSetup = input(2)
34 workspace.openFromSource(modelSetup +
69 workspace.openFromSource(url2String("file:resources/empty.nlogo"))
72 workspace.mainRNG.setSeed(15)
74 val commands = input(0)
75 if(commands.length > 0) {
76 workspace.runCompiledCommands(new api.SimpleJobOwner("test", workspace.world.mainRNG, classOf[api.Observer]), workspace.compileCommands(commands))
78 if(input.length > 1) {
79 val reporter = input(1)
80 if(reporter.length > 0) {
81 System.out.println(org.nlogo.api.Dump.logoObject(workspace.runCompiledReporter(new api.SimpleJobOwner("test", workspace.world.mainRNG, classOf[api.Observer]), workspace.compileReporter(reporter))))
85 workspace.world.exportWorld(new java.io.PrintWriter(System.out, true), true)
86 System.out.println(org.nlogo.headless.Checksummer.calculateChecksum(workspace.world.exportWorld(_, true)))