From a66d72eb815e4b827fbca787af4c91488fbaf8fa Mon Sep 17 00:00:00 2001 From: Konstantinos Servis Date: Mon, 5 Mar 2018 17:40:31 +0200 Subject: [PATCH] Spark Enrich: use automated code formatting (closes #3654) --- 3-enrich/spark-enrich/.scalafmt.conf | 30 +++++++++++++++++++ 3-enrich/spark-enrich/build.sbt | 1 + .../spark-enrich/project/BuildSettings.scala | 9 ++++++ 3-enrich/spark-enrich/project/plugins.sbt | 4 +++ 4 files changed, 44 insertions(+) create mode 100644 3-enrich/spark-enrich/.scalafmt.conf diff --git a/3-enrich/spark-enrich/.scalafmt.conf b/3-enrich/spark-enrich/.scalafmt.conf new file mode 100644 index 0000000000..bb98e6df8d --- /dev/null +++ b/3-enrich/spark-enrich/.scalafmt.conf @@ -0,0 +1,30 @@ +style = defaultWithAlign +maxColumn = 100 + +docstrings = JavaDoc +optIn.breakChainOnFirstMethodDot = true +spaces.afterKeywordBeforeParen = true +continuationIndent.defnSite = 2 +continuationIndent.callSite = 2 +importSelectors = noBinPack + +newlines { + sometimesBeforeColonInMethodReturnType = false +} + +align { + arrowEnumeratorGenerator = false + ifWhileOpenParen = false + openParenCallSite = false + openParenDefnSite = false +} + +rewrite { + rules = [ + AsciiSortImports, + RedundantBraces, + RedundantParens, + PreferCurlyFors + ] + redundantBraces.maxLines = 1 +} diff --git a/3-enrich/spark-enrich/build.sbt b/3-enrich/spark-enrich/build.sbt index 3749423894..b30b411e93 100644 --- a/3-enrich/spark-enrich/build.sbt +++ b/3-enrich/spark-enrich/build.sbt @@ -18,6 +18,7 @@ lazy val root = project.in(file(".")) version := "1.12.0", description := "The Snowplow Spark Enrichment process" ) + .settings(BuildSettings.formatting) .settings(BuildSettings.buildSettings) .settings(BuildSettings.sbtAssemblySettings) .settings( diff --git a/3-enrich/spark-enrich/project/BuildSettings.scala b/3-enrich/spark-enrich/project/BuildSettings.scala index 3243e06a0f..135205d7ba 100644 --- a/3-enrich/spark-enrich/project/BuildSettings.scala +++ b/3-enrich/spark-enrich/project/BuildSettings.scala @@ -15,6 +15,10 @@ import sbt._ import Keys._ +// Scalafmt plugin +import com.lucidchart.sbt.scalafmt.ScalafmtPlugin._ +import com.lucidchart.sbt.scalafmt.ScalafmtCorePlugin.autoImport._ + object BuildSettings { // Basic settings for our app @@ -82,4 +86,9 @@ object BuildSettings { oldStrategy(x) } ) + lazy val formatting = Seq( + scalafmtConfig := file(".scalafmt.conf"), + scalafmtOnCompile := true, + scalafmtVersion := "1.3.0" + ) } diff --git a/3-enrich/spark-enrich/project/plugins.sbt b/3-enrich/spark-enrich/project/plugins.sbt index 39c1bb8428..cd04e3018c 100644 --- a/3-enrich/spark-enrich/project/plugins.sbt +++ b/3-enrich/spark-enrich/project/plugins.sbt @@ -1 +1,5 @@ addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3") + +addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.1") + +addSbtPlugin("com.lucidchart" % "sbt-scalafmt-coursier" % "1.14")