From 696405807a3e116366787c7ad8d94b82b395147f Mon Sep 17 00:00:00 2001 From: Moss Prescott Date: Tue, 15 Nov 2016 13:47:16 -0500 Subject: [PATCH] add example project --- .gitignore | 2 +- build.sbt | 60 +++++++++++++++---- .../src}/main/scala/invertible/Gen.scala | 0 .../src}/main/scala/invertible/Iso.scala | 0 .../main/scala/invertible/ParseFailure.scala | 0 .../src}/main/scala/invertible/Position.scala | 0 .../src}/main/scala/invertible/Source.scala | 0 .../src}/main/scala/invertible/Syntax.scala | 0 .../test/scala/invertible/PositionSpec.scala | 0 .../src}/test/scala/invertible/example.scala | 0 .../src}/test/scala/invertible/simple.scala | 0 project/build.properties | 2 +- project/plugins.sbt | 2 +- 13 files changed, 51 insertions(+), 15 deletions(-) rename {src => core/src}/main/scala/invertible/Gen.scala (100%) rename {src => core/src}/main/scala/invertible/Iso.scala (100%) rename {src => core/src}/main/scala/invertible/ParseFailure.scala (100%) rename {src => core/src}/main/scala/invertible/Position.scala (100%) rename {src => core/src}/main/scala/invertible/Source.scala (100%) rename {src => core/src}/main/scala/invertible/Syntax.scala (100%) rename {src => core/src}/test/scala/invertible/PositionSpec.scala (100%) rename {src => core/src}/test/scala/invertible/example.scala (100%) rename {src => core/src}/test/scala/invertible/simple.scala (100%) diff --git a/.gitignore b/.gitignore index 9c32217..cb9c43c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ target -.tm_properties +.* diff --git a/build.sbt b/build.sbt index bd0b681..d586681 100644 --- a/build.sbt +++ b/build.sbt @@ -2,22 +2,58 @@ import sbt._ import Keys._ import de.heikoseeberger.sbtheader.license.Apache2_0 +val commonSettings = Seq( + headers := Map( + "scala" -> Apache2_0("2015 - 2016", "Moss Prescott")), + scalaVersion := "2.12.0", + scalacOptions ++= Seq( + "-deprecation", + "-encoding", "UTF-8", + "-feature", + "-language:existentials", + "-language:higherKinds", + "-language:implicitConversions", + "-unchecked", + "-Xfatal-warnings", + "-Xfuture", + "-Yno-adapted-args", + // "-Yno-imports", + "-Ywarn-dead-code", + "-Ywarn-numeric-widen", + "-Ywarn-value-discard", + "-Ydelambdafy:method", + "-Ypartial-unification", + //"-Yliteral-types", + "-Ywarn-unused-import" + ) +) + lazy val root = (project in file(".")) - .enablePlugins(AutomateHeaderPlugin) + .aggregate(core, examples) + +lazy val core = project + .settings(commonSettings) .settings(Seq( - headers := Map( - "scala" -> Apache2_0("2015 - 2016", "Moss Prescott")), - scalaVersion := "2.11.8", name := "invertible-syntax", initialCommands in console := "import invertible._, Syntax._", libraryDependencies ++= Seq( - "org.scalaz" %% "scalaz-core" % "7.2.2", - "com.chuusai" %% "shapeless" % "2.3.0", - "org.specs2" %% "specs2-core" % "3.7.3" % "test" - ), - scalacOptions ++= Seq( - "-deprecation", - "-feature", - "-language:higherKinds" + "org.scalaz" %% "scalaz-core" % "7.2.7", + "com.chuusai" %% "shapeless" % "2.3.2", + "org.specs2" %% "specs2-core" % "3.8.6" % "test" + ) + )) + .enablePlugins(AutomateHeaderPlugin) + +lazy val examples = project + .dependsOn(core) + .settings(commonSettings) + .settings(Seq( + name := "invertible-syntax-examples", + libraryDependencies ++= Seq( + // "org.scalaz" %% "scalaz-core" % "7.2.7", + // "com.chuusai" %% "shapeless" % "2.3.2", + // "com.slamdata" % "matryoshka-core_2.11" % "0.11.1", + "org.specs2" %% "specs2-core" % "3.8.6" % "test" ) )) + .enablePlugins(AutomateHeaderPlugin) diff --git a/src/main/scala/invertible/Gen.scala b/core/src/main/scala/invertible/Gen.scala similarity index 100% rename from src/main/scala/invertible/Gen.scala rename to core/src/main/scala/invertible/Gen.scala diff --git a/src/main/scala/invertible/Iso.scala b/core/src/main/scala/invertible/Iso.scala similarity index 100% rename from src/main/scala/invertible/Iso.scala rename to core/src/main/scala/invertible/Iso.scala diff --git a/src/main/scala/invertible/ParseFailure.scala b/core/src/main/scala/invertible/ParseFailure.scala similarity index 100% rename from src/main/scala/invertible/ParseFailure.scala rename to core/src/main/scala/invertible/ParseFailure.scala diff --git a/src/main/scala/invertible/Position.scala b/core/src/main/scala/invertible/Position.scala similarity index 100% rename from src/main/scala/invertible/Position.scala rename to core/src/main/scala/invertible/Position.scala diff --git a/src/main/scala/invertible/Source.scala b/core/src/main/scala/invertible/Source.scala similarity index 100% rename from src/main/scala/invertible/Source.scala rename to core/src/main/scala/invertible/Source.scala diff --git a/src/main/scala/invertible/Syntax.scala b/core/src/main/scala/invertible/Syntax.scala similarity index 100% rename from src/main/scala/invertible/Syntax.scala rename to core/src/main/scala/invertible/Syntax.scala diff --git a/src/test/scala/invertible/PositionSpec.scala b/core/src/test/scala/invertible/PositionSpec.scala similarity index 100% rename from src/test/scala/invertible/PositionSpec.scala rename to core/src/test/scala/invertible/PositionSpec.scala diff --git a/src/test/scala/invertible/example.scala b/core/src/test/scala/invertible/example.scala similarity index 100% rename from src/test/scala/invertible/example.scala rename to core/src/test/scala/invertible/example.scala diff --git a/src/test/scala/invertible/simple.scala b/core/src/test/scala/invertible/simple.scala similarity index 100% rename from src/test/scala/invertible/simple.scala rename to core/src/test/scala/invertible/simple.scala diff --git a/project/build.properties b/project/build.properties index a6e117b..27e88aa 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.13.8 +sbt.version=0.13.13 diff --git a/project/plugins.sbt b/project/plugins.sbt index 26913a9..1409231 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("de.heikoseeberger" % "sbt-header" % "1.5.0") +addSbtPlugin("de.heikoseeberger" % "sbt-header" % "1.5.0")