diff --git a/.travis.yml b/.travis.yml index 2ff957b..dfdc7bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,11 @@ language: scala +scala: + - 2.12.3 + jdk: -- oraclejdk8 + - oraclejdk8 script: - - sbt headerCheck - sbt test - sbt scripted diff --git a/src/sbt-test/sbt-header/play-twirl/.gitignore b/bak/play-twirl/.gitignore similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/.gitignore rename to bak/play-twirl/.gitignore diff --git a/src/sbt-test/sbt-header/play-twirl/LICENSE b/bak/play-twirl/LICENSE similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/LICENSE rename to bak/play-twirl/LICENSE diff --git a/src/sbt-test/sbt-header/play-twirl/README b/bak/play-twirl/README similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/README rename to bak/play-twirl/README diff --git a/src/sbt-test/sbt-header/play-twirl/app/Filters.scala b/bak/play-twirl/app/Filters.scala similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/Filters.scala rename to bak/play-twirl/app/Filters.scala diff --git a/src/sbt-test/sbt-header/play-twirl/app/Module.scala b/bak/play-twirl/app/Module.scala similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/Module.scala rename to bak/play-twirl/app/Module.scala diff --git a/src/sbt-test/sbt-header/play-twirl/app/controllers/AsyncController.scala b/bak/play-twirl/app/controllers/AsyncController.scala similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/controllers/AsyncController.scala rename to bak/play-twirl/app/controllers/AsyncController.scala diff --git a/src/sbt-test/sbt-header/play-twirl/app/controllers/CountController.scala b/bak/play-twirl/app/controllers/CountController.scala similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/controllers/CountController.scala rename to bak/play-twirl/app/controllers/CountController.scala diff --git a/src/sbt-test/sbt-header/play-twirl/app/controllers/HomeController.scala b/bak/play-twirl/app/controllers/HomeController.scala similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/controllers/HomeController.scala rename to bak/play-twirl/app/controllers/HomeController.scala diff --git a/src/sbt-test/sbt-header/play-twirl/app/filters/ExampleFilter.scala b/bak/play-twirl/app/filters/ExampleFilter.scala similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/filters/ExampleFilter.scala rename to bak/play-twirl/app/filters/ExampleFilter.scala diff --git a/src/sbt-test/sbt-header/play-twirl/app/services/ApplicationTimer.scala b/bak/play-twirl/app/services/ApplicationTimer.scala similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/services/ApplicationTimer.scala rename to bak/play-twirl/app/services/ApplicationTimer.scala diff --git a/src/sbt-test/sbt-header/play-twirl/app/services/Counter.scala b/bak/play-twirl/app/services/Counter.scala similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/services/Counter.scala rename to bak/play-twirl/app/services/Counter.scala diff --git a/src/sbt-test/sbt-header/play-twirl/app/views/index.scala.html b/bak/play-twirl/app/views/index.scala.html similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/views/index.scala.html rename to bak/play-twirl/app/views/index.scala.html diff --git a/src/sbt-test/sbt-header/play-twirl/app/views/index.scala.html_expected b/bak/play-twirl/app/views/index.scala.html_expected similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/views/index.scala.html_expected rename to bak/play-twirl/app/views/index.scala.html_expected diff --git a/src/sbt-test/sbt-header/play-twirl/app/views/main.scala.html b/bak/play-twirl/app/views/main.scala.html similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/views/main.scala.html rename to bak/play-twirl/app/views/main.scala.html diff --git a/src/sbt-test/sbt-header/play-twirl/app/views/main.scala.html_expected b/bak/play-twirl/app/views/main.scala.html_expected similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/app/views/main.scala.html_expected rename to bak/play-twirl/app/views/main.scala.html_expected diff --git a/src/sbt-test/sbt-header/play-twirl/build.sbt b/bak/play-twirl/build.sbt similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/build.sbt rename to bak/play-twirl/build.sbt diff --git a/src/sbt-test/sbt-header/play-twirl/conf/application.conf b/bak/play-twirl/conf/application.conf similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/conf/application.conf rename to bak/play-twirl/conf/application.conf diff --git a/src/sbt-test/sbt-header/play-twirl/conf/logback.xml b/bak/play-twirl/conf/logback.xml similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/conf/logback.xml rename to bak/play-twirl/conf/logback.xml diff --git a/src/sbt-test/sbt-header/play-twirl/conf/routes b/bak/play-twirl/conf/routes similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/conf/routes rename to bak/play-twirl/conf/routes diff --git a/src/sbt-test/sbt-header/play-twirl/libexec/activator-launch-1.3.12.jar b/bak/play-twirl/libexec/activator-launch-1.3.12.jar similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/libexec/activator-launch-1.3.12.jar rename to bak/play-twirl/libexec/activator-launch-1.3.12.jar diff --git a/src/sbt-test/sbt-header/play-twirl/project/plugins.sbt b/bak/play-twirl/project/plugins.sbt similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/project/plugins.sbt rename to bak/play-twirl/project/plugins.sbt diff --git a/src/sbt-test/sbt-header/play-twirl/project/test.sbt b/bak/play-twirl/project/test.sbt similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/project/test.sbt rename to bak/play-twirl/project/test.sbt diff --git a/src/sbt-test/sbt-header/play-twirl/public/images/favicon.png b/bak/play-twirl/public/images/favicon.png similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/public/images/favicon.png rename to bak/play-twirl/public/images/favicon.png diff --git a/src/sbt-test/sbt-header/play-twirl/public/javascripts/hello.js b/bak/play-twirl/public/javascripts/hello.js similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/public/javascripts/hello.js rename to bak/play-twirl/public/javascripts/hello.js diff --git a/src/sbt-test/sbt-header/play-twirl/public/stylesheets/main.css b/bak/play-twirl/public/stylesheets/main.css similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/public/stylesheets/main.css rename to bak/play-twirl/public/stylesheets/main.css diff --git a/src/sbt-test/sbt-header/play-twirl/test b/bak/play-twirl/test similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/test rename to bak/play-twirl/test diff --git a/src/sbt-test/sbt-header/play-twirl/test.sbt b/bak/play-twirl/test.sbt similarity index 100% rename from src/sbt-test/sbt-header/play-twirl/test.sbt rename to bak/play-twirl/test.sbt diff --git a/build.sbt b/build.sbt index f686d98..50d97b2 100644 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ lazy val `sbt-header` = project .in(file(".")) - .enablePlugins(AutomateHeaderPlugin, GitVersioning) + .enablePlugins(/*AutomateHeaderPlugin, */GitVersioning) .settings(settings) .settings( libraryDependencies ++= Seq( @@ -32,25 +32,30 @@ lazy val library = lazy val settings = commonSettings ++ gitSettings ++ - pluginSettings + scalafmtSettings ++ + sbtScriptedSettings lazy val commonSettings = Seq( organization := "de.heikoseeberger", organizationName := "Heiko Seeberger", startYear := Some(2015), - licenses += ("Apache-2.0", - url("http://www.apache.org/licenses/LICENSE-2.0")), - mappings.in(Compile, packageBin) += baseDirectory.in(ThisBuild).value / "LICENSE" -> "LICENSE", + licenses += ("Apache-2.0", url("http://www.apache.org/licenses/LICENSE-2.0")), scalacOptions ++= Seq( "-unchecked", "-deprecation", "-language:_", - "-target:jvm-1.7", + "-target:jvm-1.8", "-encoding", "UTF-8" ), unmanagedSourceDirectories.in(Compile) := Seq(scalaSource.in(Compile).value), - unmanagedSourceDirectories.in(Test) := Seq(scalaSource.in(Test).value) + unmanagedSourceDirectories.in(Test) := Seq(scalaSource.in(Test).value), + shellPrompt in ThisBuild := { state => + val project = Project.extract(state).currentRef.project + s"[$project]> " + }, + sbtPlugin := true, + publishMavenStyle := false ) lazy val gitSettings = @@ -58,11 +63,18 @@ lazy val gitSettings = git.useGitDescribe := true ) -lazy val pluginSettings = - scriptedSettings ++ +lazy val scalafmtSettings = Seq( - sbtPlugin := true, - publishMavenStyle := false, - scriptedLaunchOpts ++= Seq("-Xmx1024M", s"-Dplugin.version=${version.value}"), + scalafmtOnCompile := true, + scalafmtOnCompile.in(Sbt) := false, + scalafmtVersion := "1.1.0" + ) + +lazy val sbtScriptedSettings = + Seq( + scriptedLaunchOpts ++= Seq( + "-Xmx1024M", + s"-Dplugin.version=${version.value}" + ), scriptedBufferLog := false ) diff --git a/project/AutomateScalafmtPlugin.scala b/project/AutomateScalafmtPlugin.scala deleted file mode 100644 index 92fd54f..0000000 --- a/project/AutomateScalafmtPlugin.scala +++ /dev/null @@ -1,66 +0,0 @@ -import org.scalafmt.bootstrap.ScalafmtBootstrap -import org.scalafmt.sbt.ScalafmtPlugin -import sbt._ -import sbt.Keys._ -import sbt.inc.Analysis - -object AutomateScalafmtPlugin extends AutoPlugin { - - object autoImport { - def automateScalafmtFor(configurations: Configuration*): Seq[Setting[_]] = - configurations.flatMap { c => - inConfig(c)( - Seq( - compileInputs.in(compile) := { - scalafmtInc.value - compileInputs.in(compile).value - }, - sourceDirectories.in(scalafmtInc) := Seq(scalaSource.value), - scalafmtInc := { - val cache = streams.value.cacheDirectory / "scalafmt" - val include = includeFilter.in(scalafmtInc).value - val exclude = excludeFilter.in(scalafmtInc).value - val sources = - sourceDirectories - .in(scalafmtInc) - .value - .descendantsExcept(include, exclude) - .get - .toSet - def format(handler: Set[File] => Unit, msg: String) = { - def update(handler: Set[File] => Unit, msg: String)(in: ChangeReport[File], - out: ChangeReport[File]) = { - val label = Reference.display(thisProjectRef.value) - val files = in.modified -- in.removed - Analysis - .counted("Scala source", "", "s", files.size) - .foreach(count => streams.value.log.info(s"$msg $count in $label ...")) - handler(files) - files - } - FileFunction.cached(cache)(FilesInfo.hash, FilesInfo.exists)(update(handler, msg))( - sources - ) - } - def formattingHandler(files: Set[File]) = - if (files.nonEmpty) { - val filesArg = files.map(_.getAbsolutePath).mkString(",") - ScalafmtBootstrap.main(List("--quiet", "-i", "-f", filesArg)) - } - format(formattingHandler, "Formatting") - format(_ => (), "Reformatted") // Recalculate the cache - } - ) - ) - } - } - - private val scalafmtInc = taskKey[Unit]("Incrementally format modified sources") - - override def requires = ScalafmtPlugin - - override def trigger = allRequirements - - override def projectSettings = - (includeFilter.in(scalafmtInc) := "*.scala") +: autoImport.automateScalafmtFor(Compile, Test) -} diff --git a/project/build.properties b/project/build.properties index 3e8bd1a..1e210d1 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version = 0.13.15 +sbt.version = 1.0.0 diff --git a/project/plugins.sbt b/project/plugins.sbt index 2bd620e..a091f69 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,6 +1,10 @@ -addSbtPlugin("com.geirsson" % "sbt-scalafmt" % "0.6.6") -addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.9.2") -addSbtPlugin("de.heikoseeberger" % "sbt-header" % "2.0.0") -addSbtPlugin("me.lessis" % "bintray-sbt" % "0.3.0") +// addSbtPlugin("com.dwijnand" % "sbt-travisci" % "1.1.0") +addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.9.3") +addSbtPlugin("com.lucidchart" % "sbt-scalafmt" % "1.10") +// addSbtPlugin("de.heikoseeberger" % "sbt-header" % "2.0.0") +addSbtPlugin("org.foundweekends" % "sbt-bintray" % "0.5.1") -libraryDependencies += "org.scala-sbt" % "scripted-plugin" % sbtVersion.value +libraryDependencies ++= Seq( + "org.scala-sbt" %% "scripted-plugin" % sbtVersion.value, + "org.slf4j" % "slf4j-nop" % "1.7.25" // Needed by sbt-git +) diff --git a/shell-prompt.sbt b/shell-prompt.sbt deleted file mode 100644 index 4cce571..0000000 --- a/shell-prompt.sbt +++ /dev/null @@ -1,4 +0,0 @@ -shellPrompt.in(ThisBuild) := { state => - val project = Project.extract(state).currentRef.project - s"[$project]> " -}