diff --git a/.gitignore b/.gitignore index 53c78dc..ba670b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ classes -arduino.jar* +/project/project +/project/target +/arduino.jar* +/arduino.zip* +/jss*.jar +/target diff --git a/arduino.zip b/arduino.zip deleted file mode 100644 index 6b4b5c8..0000000 Binary files a/arduino.zip and /dev/null differ diff --git a/build.sbt b/build.sbt new file mode 100644 index 0000000..1067f3c --- /dev/null +++ b/build.sbt @@ -0,0 +1,36 @@ +scalaVersion := "2.11.7" + +enablePlugins(org.nlogo.build.NetLogoExtension) + +javaSource in Compile := baseDirectory.value / "src" + +name := "arduino" + +scalacOptions ++= Seq("-deprecation", "-unchecked", "-Xlint", "-Xfatal-warnings", + "-encoding", "us-ascii") + +javacOptions ++= Seq("-g", "-deprecation", "-Xlint:all", "-Xlint:-serial", "-Xlint:-path", + "-encoding", "us-ascii") + +netLogoZipSources := false + +val netLogoJarOrDependency = + Option(System.getProperty("netlogo.jar.url")) + .orElse(Some("http://ccl.northwestern.edu/devel/NetLogo-5.3-LevelSpace-3a6b9b4.jar")) + .map { url => + import java.io.File + import java.net.URI + if (url.startsWith("file:")) + (Seq(new File(new URI(url))), Seq()) + else + (Seq(), Seq("org.nlogo" % "NetLogo" % "5.3.0-SNAPSHOT" from url)) + }.get + +unmanagedJars in Compile ++= netLogoJarOrDependency._1 + +libraryDependencies ++= netLogoJarOrDependency._2 + +netLogoClassManager := "arduino.ArduinoExtension" + +netLogoTarget := + org.nlogo.build.NetLogoExtension.directoryTarget(baseDirectory.value) diff --git a/jssc-2.6.0.jar b/lib/jssc-2.6.0.jar similarity index 100% rename from jssc-2.6.0.jar rename to lib/jssc-2.6.0.jar diff --git a/project/build.properties b/project/build.properties new file mode 100644 index 0000000..817bc38 --- /dev/null +++ b/project/build.properties @@ -0,0 +1 @@ +sbt.version=0.13.9 diff --git a/project/plugins.sbt b/project/plugins.sbt new file mode 100644 index 0000000..c57abde --- /dev/null +++ b/project/plugins.sbt @@ -0,0 +1,2 @@ +addSbtPlugin("org.nlogo" % "netlogo-extension-plugin" % "2.4_5.3-M1" from + "https://github.com/NetLogo/NetLogo-Extension-Plugin/releases/download/v2.4-M1_5.3.x/netlogo-extension-plugin-2.4-M1_5.3.x.jar") diff --git a/src/arduino/ArduinoExtension.java b/src/arduino/ArduinoExtension.java index 8ac3fee..f8d529a 100644 --- a/src/arduino/ArduinoExtension.java +++ b/src/arduino/ArduinoExtension.java @@ -276,9 +276,9 @@ public void unload( ExtensionManager em) { field.setAccessible(true); @SuppressWarnings("unchecked") Vector libs = (Vector) (field.get(classLoader)) ; - for ( Object o : libs ) + for ( Object o : libs ) { - java.lang.reflect.Method finalize = o.getClass().getDeclaredMethod( "finalize" , new Class[0] ) ; + java.lang.reflect.Method finalize = o.getClass().getDeclaredMethod( "finalize" , new Class[0] ) ; finalize.setAccessible( true ) ; finalize.invoke( o , new Object[0] ) ; } @@ -288,6 +288,5 @@ public void unload( ExtensionManager em) { System.err.println( e.getMessage() ) ; } } - }