From 8207f12ec544203a86b91b1b80ae479e56971c92 Mon Sep 17 00:00:00 2001 From: guille <guillermopolito@gmail.com> Date: Thu, 29 Sep 2016 14:11:56 +0200 Subject: [PATCH] making n2s3 a multi project sbt project --- n2s3/.gitignore => .gitignore | 0 n2s3/LICENSE => LICENSE | 0 n2s3/README.md => README.md | 0 build.sbt | 17 +++++++++++++ n2s3/build.sbt | 24 ------------------- .../n2s3/features/io/TestAERInputStream.scala | 2 +- .../features/io/TestMnistInputStream.scala | 4 ++-- .../support/io/TestFlatMapInputStream.scala | 4 ++-- .../support/io/TestGroupByInputStream.scala | 4 ++-- .../support/io/TestOptionInputStream.scala | 4 ++-- .../support/io/TestPositionInputStream.scala | 4 ++-- .../support/io/TestRepeatInputStream.scala | 4 ++-- .../n2s3/support/io/TestTakeInputStream.scala | 4 ++-- n2s3_examples/build.sbt | 18 +------------- project/assembly.sbt | 1 + project/plugins.sbt | 3 +++ 16 files changed, 37 insertions(+), 56 deletions(-) rename n2s3/.gitignore => .gitignore (100%) rename n2s3/LICENSE => LICENSE (100%) rename n2s3/README.md => README.md (100%) create mode 100644 build.sbt create mode 100644 project/assembly.sbt create mode 100644 project/plugins.sbt diff --git a/n2s3/.gitignore b/.gitignore similarity index 100% rename from n2s3/.gitignore rename to .gitignore diff --git a/n2s3/LICENSE b/LICENSE similarity index 100% rename from n2s3/LICENSE rename to LICENSE diff --git a/n2s3/README.md b/README.md similarity index 100% rename from n2s3/README.md rename to README.md diff --git a/build.sbt b/build.sbt new file mode 100644 index 00000000..b41e54fb --- /dev/null +++ b/build.sbt @@ -0,0 +1,17 @@ +lazy val commonSettings = Seq( + version := "0.3-SNAPSHOT", + organization := "fr.univ-lille.cristal", + scalaVersion := "2.11.6", + scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8"), + test in assembly := {}, + + // Special repository resolver. Used to download project dependencies + resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots" +) + +lazy val n2s3 = (project in file("n2s3")). + settings(commonSettings: _*) + +lazy val examples = (project in file("n2s3_examples")). + settings(commonSettings: _*). + dependsOn(n2s3) \ No newline at end of file diff --git a/n2s3/build.sbt b/n2s3/build.sbt index f5121d01..9140d755 100644 --- a/n2s3/build.sbt +++ b/n2s3/build.sbt @@ -7,13 +7,6 @@ lazy val n2s3 = (project in file(".")).settings( name := "N2S3", - version := "0.3-SNAPSHOT", - organization := "fr.univ-lille.cristal", - scalaVersion := "2.11.6", - scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8"), - - // Special repository resolver. Used to download project dependencies - resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots", /********************************************************************************************************************* * Dependencies @@ -35,23 +28,6 @@ lazy val n2s3 = (project in file(".")).settings( ) }, - //Old dependencies: - //"jfree" % "jfreechart" % "1.0.13", - - //To see which and how managed dependencies are loaded - //unmanagedBase := baseDirectory.value / "lib_managed", - - assemblyExcludedJars in assembly := { - val cp = (fullClasspath in assembly).value - cp.filter( x => x.data.getName == "jcommon-1.0.9.jar" || x.data.getName == "jfreechart-1.0.13.jar") - }, - - //Avoiding tests in generated assembly - test in assembly := {}, - -// retrieveManaged := true, - assemblyJarName in assembly := "n2s3.jar", - /******************************************************************************************************************** * Publishing options ******************************************************************************************************************/ diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestAERInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestAERInputStream.scala index 13b1a555..8a58c427 100644 --- a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestAERInputStream.scala +++ b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestAERInputStream.scala @@ -9,7 +9,7 @@ import java.io.IOException import fr.univ_lille.cristal.emeraude.n2s3.UnitSpec class TestAERInputStream extends UnitSpec { - val filename = "src/test/resources/aerdata/freeway2.mat.dat" + val filename = this.getClass.getResource("/aerdata/freeway2.mat.dat").getFile //TODO: Using the following file makes the tests fail. Is the file right? //val filename = "src/test/resources/aerdata/freeway.mat.dat" diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestMnistInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestMnistInputStream.scala index 1fe22f0b..7f4e7566 100644 --- a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestMnistInputStream.scala +++ b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestMnistInputStream.scala @@ -10,8 +10,8 @@ import fr.univ_lille.cristal.emeraude.n2s3.UnitSpec import fr.univ_lille.cristal.emeraude.n2s3.features.io.input.MnistFileInputStream class TestMnistInputStream extends UnitSpec { - val testImageFileName: String = "src/test/resources/train2k-images.idx3-ubyte" - val testLabelFileName: String = "src/test/resources/train2k-labels.idx1-ubyte" + val testImageFileName: String = this.getClass.getResource("/train2k-images.idx3-ubyte").getFile + val testLabelFileName: String = this.getClass.getResource("/train2k-labels.idx1-ubyte").getFile "MnistInputStream" should "not be at the end of a not read file" in { val inputStream = new MnistFileInputStream(testImageFileName, testLabelFileName) diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestFlatMapInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestFlatMapInputStream.scala index de12d783..58e691fd 100644 --- a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestFlatMapInputStream.scala +++ b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestFlatMapInputStream.scala @@ -7,8 +7,8 @@ import fr.univ_lille.cristal.emeraude.n2s3.support.io.InputStreamCombinators._ * Created by guille on 6/2/16. */ class TestFlatMapInputStream extends UnitSpec { - val testImageFileName: String = "data/train2k-images.idx3-ubyte" - val testLabelFileName: String = "data/train2k-labels.idx1-ubyte" + val testImageFileName: String = this.getClass.getResource("/train2k-images.idx3-ubyte").getFile + val testLabelFileName: String = this.getClass.getResource("/train2k-labels.idx1-ubyte").getFile "Flatmap an empty array" should "be at end" in { val stream = InputStream(new Array[Seq[Int]](0)).flatMap(array => array) diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestGroupByInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestGroupByInputStream.scala index 712469be..44f8f388 100644 --- a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestGroupByInputStream.scala +++ b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestGroupByInputStream.scala @@ -9,8 +9,8 @@ import fr.univ_lille.cristal.emeraude.n2s3.features.io.input.MnistFileInputStrea * Created by guille on 6/2/16. */ class TestGroupByInputStream extends UnitSpec { - val testImageFileName: String = "data/train2k-images.idx3-ubyte" - val testLabelFileName: String = "data/train2k-labels.idx1-ubyte" + val testImageFileName: String = this.getClass.getResource("/train2k-images.idx3-ubyte").getFile + val testLabelFileName: String = this.getClass.getResource("/train2k-labels.idx1-ubyte").getFile "GroupBy input stream" should "group all subsequent elements by condition" in { val wrappee = new SequenceInputStream(List(1,1,1,1)) diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestOptionInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestOptionInputStream.scala index 29bf4370..40000017 100644 --- a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestOptionInputStream.scala +++ b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestOptionInputStream.scala @@ -7,8 +7,8 @@ import fr.univ_lille.cristal.emeraude.n2s3.features.io.input.MnistFileInputStrea * Created by guille on 6/2/16. */ class TestOptionInputStream extends UnitSpec { - val testImageFileName: String = "src/test/resources/train2k-images.idx3-ubyte" - val testLabelFileName: String = "src/test/resources/train2k-labels.idx1-ubyte" + val testImageFileName: String = this.getClass.getResource("/train2k-images.idx3-ubyte").getFile + val testLabelFileName: String = this.getClass.getResource("/train2k-labels.idx1-ubyte").getFile "Option input stream" should "return Some element if available" in { val wrappee = new MnistFileInputStream(testImageFileName, testLabelFileName) diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestPositionInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestPositionInputStream.scala index 9af25fd8..f2b9476e 100644 --- a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestPositionInputStream.scala +++ b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestPositionInputStream.scala @@ -7,8 +7,8 @@ import fr.univ_lille.cristal.emeraude.n2s3.features.io.input.MnistFileInputStrea * Created by guille on 6/2/16. */ class TestPositionInputStream extends UnitSpec { - val testImageFileName: String = "src/test/resources/train2k-images.idx3-ubyte" - val testLabelFileName: String = "src/test/resources/train2k-labels.idx1-ubyte" + val testImageFileName: String = this.getClass.getResource("/train2k-images.idx3-ubyte").getFile + val testLabelFileName: String = this.getClass.getResource("/train2k-labels.idx1-ubyte").getFile "Position input stream" should "start in zero" in { val wrappee = new MnistFileInputStream(testImageFileName, testLabelFileName) diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestRepeatInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestRepeatInputStream.scala index d8ed9db3..2489e1a1 100644 --- a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestRepeatInputStream.scala +++ b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestRepeatInputStream.scala @@ -7,8 +7,8 @@ import fr.univ_lille.cristal.emeraude.n2s3.features.io.input.MnistFileInputStrea * Created by guille on 6/2/16. */ class TestRepeatInputStream extends UnitSpec { - val testImageFileName: String = "src/test/resources/train2k-images.idx3-ubyte" - val testLabelFileName: String = "src/test/resources/train2k-labels.idx1-ubyte" + val testImageFileName: String = this.getClass.getResource("/train2k-images.idx3-ubyte").getFile + val testLabelFileName: String = this.getClass.getResource("/train2k-labels.idx1-ubyte").getFile "Repeat input stream 1 times" should "yield the wrappee" in { val wrappee = new MnistFileInputStream(testImageFileName, testLabelFileName) diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestTakeInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestTakeInputStream.scala index d5fa05c1..0762772f 100644 --- a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestTakeInputStream.scala +++ b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestTakeInputStream.scala @@ -9,8 +9,8 @@ import fr.univ_lille.cristal.emeraude.n2s3.features.io.input.MnistFileInputStrea * Created by guille on 6/2/16. */ class TestTakeInputStream extends UnitSpec { - val testImageFileName: String = "src/test/resources/train2k-images.idx3-ubyte" - val testLabelFileName: String = "src/test/resources/train2k-labels.idx1-ubyte" + val testImageFileName: String = this.getClass.getResource("/train2k-images.idx3-ubyte").getFile + val testLabelFileName: String = this.getClass.getResource("/train2k-labels.idx1-ubyte").getFile "Take input stream" should "read up to its limit if wrappee is bigger" in { val wrappee = new MnistFileInputStream(testImageFileName, testLabelFileName) diff --git a/n2s3_examples/build.sbt b/n2s3_examples/build.sbt index 1c6df035..431b6682 100644 --- a/n2s3_examples/build.sbt +++ b/n2s3_examples/build.sbt @@ -4,14 +4,6 @@ lazy val n2s3_examples = (project in file(".")).settings( name := "N2S3_examples", - version := "0.3-SNAPSHOT", - organization := "fr.univ-lille.cristal", - scalaVersion := "2.11.6", - scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8"), - - // Special repository resolver. Used to download project dependencies - resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots", - /********************************************************************************************************************* * Dependencies @@ -19,15 +11,7 @@ lazy val n2s3_examples = (project in file(".")).settings( libraryDependencies ++= { val akkaV = "2.3.7" Seq( - "fr.univ-lille.cristal" %% "n2s3" % "0.3-SNAPSHOT", "com.typesafe.akka" %% "akka-cluster" % akkaV ) } -) - -lazy val publishNessyLocal = taskKey[Unit]("Publishes the latest version of n2s3 to the local repository to use it as dependency of the examples") -publishNessyLocal := { - scala.sys.process.Process("sbt publish-local", new File(new File("").getAbsoluteFile().getParentFile(), "n2s3")).! -} - -compile <<= (compile in Compile) dependsOn publishNessyLocal \ No newline at end of file +) \ No newline at end of file diff --git a/project/assembly.sbt b/project/assembly.sbt new file mode 100644 index 00000000..1741de9d --- /dev/null +++ b/project/assembly.sbt @@ -0,0 +1 @@ +addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3") \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt new file mode 100644 index 00000000..dcf94072 --- /dev/null +++ b/project/plugins.sbt @@ -0,0 +1,3 @@ +// create eclipse definition project +addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.5.0") +addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.2") \ No newline at end of file -- GitLab