From 74da6f7f2a4a20912cfa2486876158b51c8a3be7 Mon Sep 17 00:00:00 2001 From: Fede Fernandez <720923+fedefernandez@users.noreply.github.com> Date: Sun, 22 Apr 2018 00:51:49 +0200 Subject: [PATCH] Adds a new root module --- build.sbt | 227 +++++++++--------- .../src}/main/resources/reference.conf | 0 .../lambdatest/HoldLambdaReporter.scala | 0 .../fortysevendeg/lambdatest/LambdaAct.scala | 0 .../lambdatest/LambdaOptions.scala | 0 .../lambdatest/LambdaReporter.scala | 0 .../lambdatest/LambdaState.scala | 0 .../fortysevendeg/lambdatest/LambdaTest.scala | 0 .../lambdatest/StdoutLambdaReporter.scala | 0 .../fortysevendeg/lambdatest/package.scala | 0 .../sbtinterface/LambdaFingerprint.scala | 0 .../sbtinterface/LambdaFramework.scala | 0 .../sbtinterface/LambdaRunner.scala | 0 .../sbtinterface/SbtLambdaReporter.scala | 0 .../src}/test/resources/application.conf | 0 .../src}/test/scala/coverage/All.scala | 0 .../src}/test/scala/coverage/FailOnly.scala | 0 .../src}/test/scala/coverage/Failure.scala | 0 .../src}/test/scala/coverage/Off.scala | 0 .../src}/test/scala/demo/All.scala | 0 .../src}/test/scala/demo/Bad.scala | 0 .../src}/test/scala/demo/Example.scala | 0 .../src}/test/scala/demo/Except.scala | 0 .../src}/test/scala/demo/Generate.scala | 0 .../src}/test/scala/demo/Immutable.scala | 0 .../src}/test/scala/demo/Mutable.scala | 0 .../src}/test/scala/demo/Parallel.scala | 0 .../src}/test/scala/demo/ScalaCheck.scala | 0 .../src}/test/scala/demo/Tag.scala | 0 .../src}/test/scala/demo/Wrap.scala | 0 30 files changed, 108 insertions(+), 119 deletions(-) rename {src => lambdatest/src}/main/resources/reference.conf (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/HoldLambdaReporter.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/LambdaAct.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/LambdaOptions.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/LambdaReporter.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/LambdaState.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/LambdaTest.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/StdoutLambdaReporter.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/package.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFingerprint.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFramework.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaRunner.scala (100%) rename {src => lambdatest/src}/main/scala/com/fortysevendeg/lambdatest/sbtinterface/SbtLambdaReporter.scala (100%) rename {src => lambdatest/src}/test/resources/application.conf (100%) rename {src => lambdatest/src}/test/scala/coverage/All.scala (100%) rename {src => lambdatest/src}/test/scala/coverage/FailOnly.scala (100%) rename {src => lambdatest/src}/test/scala/coverage/Failure.scala (100%) rename {src => lambdatest/src}/test/scala/coverage/Off.scala (100%) rename {src => lambdatest/src}/test/scala/demo/All.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Bad.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Example.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Except.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Generate.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Immutable.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Mutable.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Parallel.scala (100%) rename {src => lambdatest/src}/test/scala/demo/ScalaCheck.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Tag.scala (100%) rename {src => lambdatest/src}/test/scala/demo/Wrap.scala (100%) diff --git a/build.sbt b/build.sbt index 7973310..84c7ed8 100644 --- a/build.sbt +++ b/build.sbt @@ -1,75 +1,74 @@ import scalariform.formatter.preferences._ import com.typesafe.sbt.SbtScalariform import com.typesafe.sbt.SbtScalariform.ScalariformKeys +import sbt.Def -name := "lambda-test" - -organization := "com.fortysevendeg" - -version := "1.3.0" - -scalaVersion := "2.12.0" - -scalacOptions ++= Seq("-deprecation", "-unchecked", "-feature") - -viewSettings - -testFrameworks += new TestFramework("com.fortysevendeg.lambdatest.sbtinterface.LambdaFramework") - -fork in Test := true - -libraryDependencies ++= Seq( - "org.scalacheck" %% "scalacheck" % "1.13.4", - "org.scala-sbt" % "test-interface" % "1.0", - "com.typesafe" % "config" % "1.3.1" -) - -// Scalariform forces indent after infix plus (with no option to override) -// This makes tests less readable -// So tests include # format: OFF - -SbtScalariform.scalariformSettings - -ScalariformKeys.preferences := ScalariformKeys.preferences.value -.setPreference(SpacesWithinPatternBinders, true) -.setPreference(SpaceBeforeColon, false) -.setPreference(SpaceInsideParentheses, false) -.setPreference(SpaceInsideBrackets, false) -.setPreference(SpacesAroundMultiImports, true) -.setPreference(PreserveSpaceBeforeArguments, false) -.setPreference(CompactStringConcatenation, false) -.setPreference(DanglingCloseParenthesis, Force) -.setPreference(CompactControlReadability, false) -.setPreference(AlignParameters, false) -.setPreference(AlignArguments, true) -.setPreference(AlignSingleLineCaseStatements, false) -.setPreference(DoubleIndentClassDeclaration, false) -.setPreference(IndentLocalDefs, false) -.setPreference(MultilineScaladocCommentsStartOnFirstLine, false) -.setPreference(PlaceScaladocAsterisksBeneathSecondAsterisk, true) -.setPreference(RewriteArrowSymbols, true) - - -lazy val publishSnapshot = taskKey[Unit]("Publish only if the version is a SNAPSHOT") - -publishSnapshot := Def.taskDyn { - if (isSnapshot.value) Def.task { - PgpKeys.publishSigned.value - } - else Def.task(println("Actual version is not a Snapshot. Skipping publish.")) -}.value - -publishTo := { - val nexus = "https://oss.sonatype.org/" - if (isSnapshot.value) - Some("Snapshots" at nexus + "content/repositories/snapshots") - else - Some("Releases" at nexus + "service/local/staging/deploy/maven2") -} +lazy val gpgFolder = sys.env.getOrElse("GPG_FOLDER", ".") -organizationName := "47 Degrees" +pgpPassphrase := Some(sys.env.getOrElse("GPG_PASSPHRASE", "").toCharArray) +pgpPublicRing := file(s"$gpgFolder/pubring.gpg") +pgpSecretRing := file(s"$gpgFolder/secring.gpg") -organizationHomepage := Some(new URL("http://47deg.com")) +lazy val commonSettings: Seq[Def.Setting[_]] = Seq( + organization := "com.fortysevendeg", + version := "1.3.0", + scalaVersion := "2.12.0", + scalacOptions ++= Seq("-deprecation", "-unchecked", "-feature"), + ScalariformKeys.preferences := ScalariformKeys.preferences.value + .setPreference(SpacesWithinPatternBinders, true) + .setPreference(SpaceBeforeColon, false) + .setPreference(SpaceInsideParentheses, false) + .setPreference(SpaceInsideBrackets, false) + .setPreference(SpacesAroundMultiImports, true) + .setPreference(PreserveSpaceBeforeArguments, false) + .setPreference(CompactStringConcatenation, false) + .setPreference(DanglingCloseParenthesis, Force) + .setPreference(CompactControlReadability, false) + .setPreference(AlignParameters, false) + .setPreference(AlignArguments, true) + .setPreference(AlignSingleLineCaseStatements, false) + .setPreference(DoubleIndentClassDeclaration, false) + .setPreference(IndentLocalDefs, false) + .setPreference(MultilineScaladocCommentsStartOnFirstLine, false) + .setPreference(PlaceScaladocAsterisksBeneathSecondAsterisk, true) + .setPreference(RewriteArrowSymbols, true), + publishTo := { + val nexus = "https://oss.sonatype.org/" + if (isSnapshot.value) + Some("Snapshots" at nexus + "content/repositories/snapshots") + else + Some("Releases" at nexus + "service/local/staging/deploy/maven2") + }, + organizationName := "47 Degrees", + organizationHomepage := Some(new URL("http://47deg.com")), + pgpPassphrase := Some(sys.env.getOrElse("GPG_PASSPHRASE", "").toCharArray), + pgpPublicRing := file(s"$gpgFolder/pubring.gpg"), + pgpSecretRing := file(s"$gpgFolder/secring.gpg"), + credentials += Credentials("Sonatype Nexus Repository Manager", + "oss.sonatype.org", + sys.env.getOrElse("PUBLISH_USERNAME", ""), + sys.env.getOrElse("PUBLISH_PASSWORD", "")), + publishMavenStyle := true, + publishArtifact in Test := false, + pomIncludeRepository := { _ => + false + }, + licenses := Seq( + "Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.html")), + homepage := Some(url("https://github.com/47deg/LambdaTest")), + scmInfo := Some( + ScmInfo(url("https://github.com/47deg/LambdaTest"), + "scm:git@github.com:47deg/LambdaTest.git")), + pomExtra := ( + + + 47 Degrees (twitter: @47deg) + hello@47deg.com + http://http://www.47deg.com + + + ) +) ++ viewSettings ++ SbtScalariform.scalariformSettings lazy val micrositeSettings = Seq( micrositeName := "LambdaTest", @@ -88,64 +87,54 @@ lazy val micrositeSettings = Seq( "gray" -> "#646D7B", "gray-light" -> "#E6E7EC", "gray-lighter" -> "#F4F5F9", - "white-color" -> "#E6E7EC"), - //siteSubdirName in ScalaUnidoc := "api", - //unidocProjectFilter in (ScalaUnidoc, unidoc) := inProjects(lambdatest), - git.remoteRepo := "git@github.com:47deg/LambdaTest.git", - autoAPIMappings := true, - docsMappingsAPIDir := "api", - addMappingsToSiteDir(mappings in (ScalaUnidoc,packageDoc), docsMappingsAPIDir) + "white-color" -> "#E6E7EC" + ), + //siteSubdirName in ScalaUnidoc := "api", + //unidocProjectFilter in (ScalaUnidoc, unidoc) := inProjects(lambdatest), + git.remoteRepo := "git@github.com:47deg/LambdaTest.git", + autoAPIMappings := true, + docsMappingsAPIDir := "api", + addMappingsToSiteDir(mappings in (ScalaUnidoc, packageDoc), + docsMappingsAPIDir) ) lazy val docsMappingsAPIDir = settingKey[String]( "Name of subdirectory in site target directory for api docs") -lazy val noPublishSettings: Seq[Setting[_]] = Seq( - publish := {}, - publishLocal := {} +lazy val noPublishSettings: Seq[Def.Setting[_]] = Seq( + publish := ((): Unit), + publishLocal := ((): Unit), + publishArtifact := false ) lazy val docs = (project in file("docs")) -.settings(micrositeSettings: _*) -.settings(unidocSettings) -.settings( - name := "docs", - description := "LambdaTest docs" -) -.settings(noPublishSettings) -.enablePlugins(MicrositesPlugin) - -lazy val gpgFolder = sys.env.getOrElse("GPG_FOLDER", ".") - -pgpPassphrase := Some(sys.env.getOrElse("GPG_PASSPHRASE", "").toCharArray) - -pgpPublicRing := file(s"$gpgFolder/pubring.gpg") - -pgpSecretRing := file(s"$gpgFolder/secring.gpg") - -credentials += Credentials("Sonatype Nexus Repository Manager", - "oss.sonatype.org", - sys.env.getOrElse("PUBLISH_USERNAME", ""), - sys.env.getOrElse("PUBLISH_PASSWORD", "")) - -publishMavenStyle := true - -publishArtifact in Test := false - -pomIncludeRepository := { _ => false } - -licenses := Seq("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.html")) - -homepage := Some(url("https://github.com/47deg/LambdaTest")) - -scmInfo := Some(ScmInfo(url("https://github.com/47deg/LambdaTest"), "scm:git@github.com:47deg/LambdaTest.git")) - -pomExtra := ( - - - 47 Degrees (twitter: @47deg) - hello@47deg.com - http://http://www.47deg.com - - -) + .settings(commonSettings) + .settings(micrositeSettings: _*) + .settings(unidocSettings) + .settings( + name := "docs", + description := "LambdaTest docs" + ) + .settings(noPublishSettings) + .enablePlugins(MicrositesPlugin) + +lazy val `lambda-test` = (project in file("lambdatest")) + .settings(name := "lambda-test") + .settings( + libraryDependencies ++= Seq( + "org.scalacheck" %% "scalacheck" % "1.13.4", + "org.scala-sbt" % "test-interface" % "1.0", + "com.typesafe" % "config" % "1.3.1" + ), + testFrameworks += new TestFramework( + "com.fortysevendeg.lambdatest.sbtinterface.LambdaFramework"), + fork in Test := true + ) + .settings(commonSettings) + +lazy val root = (project in file(".")) + .settings(name := "lambda-test-root") + .settings(commonSettings) + .settings(noPublishSettings) + .aggregate(`lambda-test`, docs) + .dependsOn(`lambda-test`, docs) diff --git a/src/main/resources/reference.conf b/lambdatest/src/main/resources/reference.conf similarity index 100% rename from src/main/resources/reference.conf rename to lambdatest/src/main/resources/reference.conf diff --git a/src/main/scala/com/fortysevendeg/lambdatest/HoldLambdaReporter.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/HoldLambdaReporter.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/HoldLambdaReporter.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/HoldLambdaReporter.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/LambdaAct.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaAct.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/LambdaAct.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaAct.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/LambdaOptions.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaOptions.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/LambdaOptions.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaOptions.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/LambdaReporter.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaReporter.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/LambdaReporter.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaReporter.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/LambdaState.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaState.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/LambdaState.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaState.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/LambdaTest.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaTest.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/LambdaTest.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/LambdaTest.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/StdoutLambdaReporter.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/StdoutLambdaReporter.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/StdoutLambdaReporter.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/StdoutLambdaReporter.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/package.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/package.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/package.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/package.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFingerprint.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFingerprint.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFingerprint.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFingerprint.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFramework.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFramework.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFramework.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaFramework.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaRunner.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaRunner.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaRunner.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/LambdaRunner.scala diff --git a/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/SbtLambdaReporter.scala b/lambdatest/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/SbtLambdaReporter.scala similarity index 100% rename from src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/SbtLambdaReporter.scala rename to lambdatest/src/main/scala/com/fortysevendeg/lambdatest/sbtinterface/SbtLambdaReporter.scala diff --git a/src/test/resources/application.conf b/lambdatest/src/test/resources/application.conf similarity index 100% rename from src/test/resources/application.conf rename to lambdatest/src/test/resources/application.conf diff --git a/src/test/scala/coverage/All.scala b/lambdatest/src/test/scala/coverage/All.scala similarity index 100% rename from src/test/scala/coverage/All.scala rename to lambdatest/src/test/scala/coverage/All.scala diff --git a/src/test/scala/coverage/FailOnly.scala b/lambdatest/src/test/scala/coverage/FailOnly.scala similarity index 100% rename from src/test/scala/coverage/FailOnly.scala rename to lambdatest/src/test/scala/coverage/FailOnly.scala diff --git a/src/test/scala/coverage/Failure.scala b/lambdatest/src/test/scala/coverage/Failure.scala similarity index 100% rename from src/test/scala/coverage/Failure.scala rename to lambdatest/src/test/scala/coverage/Failure.scala diff --git a/src/test/scala/coverage/Off.scala b/lambdatest/src/test/scala/coverage/Off.scala similarity index 100% rename from src/test/scala/coverage/Off.scala rename to lambdatest/src/test/scala/coverage/Off.scala diff --git a/src/test/scala/demo/All.scala b/lambdatest/src/test/scala/demo/All.scala similarity index 100% rename from src/test/scala/demo/All.scala rename to lambdatest/src/test/scala/demo/All.scala diff --git a/src/test/scala/demo/Bad.scala b/lambdatest/src/test/scala/demo/Bad.scala similarity index 100% rename from src/test/scala/demo/Bad.scala rename to lambdatest/src/test/scala/demo/Bad.scala diff --git a/src/test/scala/demo/Example.scala b/lambdatest/src/test/scala/demo/Example.scala similarity index 100% rename from src/test/scala/demo/Example.scala rename to lambdatest/src/test/scala/demo/Example.scala diff --git a/src/test/scala/demo/Except.scala b/lambdatest/src/test/scala/demo/Except.scala similarity index 100% rename from src/test/scala/demo/Except.scala rename to lambdatest/src/test/scala/demo/Except.scala diff --git a/src/test/scala/demo/Generate.scala b/lambdatest/src/test/scala/demo/Generate.scala similarity index 100% rename from src/test/scala/demo/Generate.scala rename to lambdatest/src/test/scala/demo/Generate.scala diff --git a/src/test/scala/demo/Immutable.scala b/lambdatest/src/test/scala/demo/Immutable.scala similarity index 100% rename from src/test/scala/demo/Immutable.scala rename to lambdatest/src/test/scala/demo/Immutable.scala diff --git a/src/test/scala/demo/Mutable.scala b/lambdatest/src/test/scala/demo/Mutable.scala similarity index 100% rename from src/test/scala/demo/Mutable.scala rename to lambdatest/src/test/scala/demo/Mutable.scala diff --git a/src/test/scala/demo/Parallel.scala b/lambdatest/src/test/scala/demo/Parallel.scala similarity index 100% rename from src/test/scala/demo/Parallel.scala rename to lambdatest/src/test/scala/demo/Parallel.scala diff --git a/src/test/scala/demo/ScalaCheck.scala b/lambdatest/src/test/scala/demo/ScalaCheck.scala similarity index 100% rename from src/test/scala/demo/ScalaCheck.scala rename to lambdatest/src/test/scala/demo/ScalaCheck.scala diff --git a/src/test/scala/demo/Tag.scala b/lambdatest/src/test/scala/demo/Tag.scala similarity index 100% rename from src/test/scala/demo/Tag.scala rename to lambdatest/src/test/scala/demo/Tag.scala diff --git a/src/test/scala/demo/Wrap.scala b/lambdatest/src/test/scala/demo/Wrap.scala similarity index 100% rename from src/test/scala/demo/Wrap.scala rename to lambdatest/src/test/scala/demo/Wrap.scala