build.sbt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. enablePlugins(org.nlogo.build.NetLogoExtension)
  2. scalaSource in Compile := baseDirectory.value / "src" / "main"
  3. scalaSource in Test := baseDirectory.value / "src" / "test"
  4. netLogoClassManager := "org.nlogo.extensions.reflection.NetLogoReflectionScala"
  5. netLogoVersion := "6.0.3"
  6. netLogoTarget := NetLogoExtension.directoryTarget(baseDirectory.value)
  7. lazy val root = (project in file(".")).
  8. settings(
  9. inThisBuild(List(
  10. scalaVersion := "2.12.1"
  11. ,version := "0.1.0-SNAPSHOT"
  12. ))
  13. ,name := "reflection"
  14. ,libraryDependencies ++= Seq(
  15. "org.picocontainer" % "picocontainer" % "2.13.6" % "test",
  16. "org.scalatest" %% "scalatest" % "3.0.0" % "test",
  17. "org.ow2.asm" % "asm-all" % "5.0.3" % "test"
  18. )
  19. )
  20. val moveToRefDir = taskKey[Unit]("add all resources to Reflection directory")
  21. val refDirectory = settingKey[File]("directory that extension is moved to for testing")
  22. refDirectory := baseDirectory.value / "extensions" / "reflection"
  23. moveToRefDir := {
  24. (packageBin in Compile).value
  25. val testTarget = NetLogoExtension.directoryTarget(refDirectory.value)
  26. testTarget.create(NetLogoExtension.netLogoPackagedFiles.value)
  27. val testResources = (baseDirectory.value / "test").filter(_.isFile)
  28. for (file <- testResources.get)
  29. IO.copyFile(file, refDirectory.value / "test" / IO.relativize(baseDirectory.value / "test", file).get)
  30. }
  31. test in Test := {
  32. IO.createDirectory(refDirectory.value)
  33. moveToRefDir.value
  34. (test in Test).value
  35. IO.delete(refDirectory.value)
  36. }