diff options
author | vlad <vlad@drivergrp.com> | 2016-07-19 00:44:35 -0400 |
---|---|---|
committer | vlad <vlad@drivergrp.com> | 2016-07-19 00:44:35 -0400 |
commit | 0b96865ed8183cb7e6f8ac6d184e941a26308df5 (patch) | |
tree | e64db21f1127ce3eb6a01c10dd755e8cabad6d13 | |
parent | f8180b91ca4e269259e249afeb2911143aa8892b (diff) | |
download | driver-core-0b96865ed8183cb7e6f8ac6d184e941a26308df5.tar.gz driver-core-0b96865ed8183cb7e6f8ac6d184e941a26308df5.tar.bz2 driver-core-0b96865ed8183cb7e6f8ac6d184e941a26308df5.zip |
Scalastyle in compile
-rw-r--r-- | project/Build.scala | 7 | ||||
-rw-r--r-- | scalastyle-config.xml | 109 | ||||
-rw-r--r-- | src/main/scala/com/drivergrp/core/app.scala | 20 | ||||
-rw-r--r-- | src/main/scala/com/drivergrp/core/rest.scala | 2 |
4 files changed, 126 insertions, 12 deletions
diff --git a/project/Build.scala b/project/Build.scala index ebb24b4..c3ede93 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -1,6 +1,7 @@ import sbt._ import Keys._ import org.scalafmt.sbt.ScalaFmtPlugin.autoImport._ +import org.scalastyle.sbt.ScalastylePlugin._ import wartremover._ import wartremover.WartRemover.autoImport.wartremoverErrors @@ -13,6 +14,8 @@ object BuildSettings { Wart.Overloading, Wart.DefaultArguments, Wart.ToString, Wart.Any, Wart.Throw) ) + val compileScalastyle = taskKey[Unit]("compileScalastyle") + val buildSettings = Defaults.coreDefaultSettings ++ Seq ( organization := "com.drivergrp", name := "core", @@ -22,7 +25,9 @@ object BuildSettings { "-language:higherKinds", "-language:implicitConversions", "-language:postfixOps", "-Ywarn-infer-any", "-Ywarn-unused", "-Ywarn-unused-import"), scalafmtConfig := Some(file(".scalafmt")), - fork in run := true + fork in run := true, + compileScalastyle := (scalastyle in Compile).toTask("").value, + (compile in Compile) <<= ((compile in Compile) dependsOn compileScalastyle) ) ++ wartRemoverSettings ++ reformatOnCompileSettings } diff --git a/scalastyle-config.xml b/scalastyle-config.xml new file mode 100644 index 0000000..9b74756 --- /dev/null +++ b/scalastyle-config.xml @@ -0,0 +1,109 @@ +<scalastyle> + <name>Scalastyle standard configuration</name> + <check level="error" class="org.scalastyle.file.FileTabChecker" enabled="true"/> + <check level="error" class="org.scalastyle.file.FileLengthChecker" enabled="true"> + <parameters> + <parameter name="maxFileLength"><![CDATA[800]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.file.HeaderMatchesChecker" enabled="false"> + <parameters> + <parameter name="header">package</parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.SpacesBeforePlusChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.SpacesAfterPlusChecker" enabled="true"/> + <check level="error" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="true"/> + <check level="error" class="org.scalastyle.file.FileLineLengthChecker" enabled="true"> + <parameters> + <parameter name="maxLineLength"><![CDATA[160]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.ClassNamesChecker" enabled="true"> + <parameters> + <parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.ObjectNamesChecker" enabled="true"> + <parameters> + <parameter name="regex"><![CDATA[[A-Za-z]*]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.PackageObjectNamesChecker" enabled="true"> + <parameters> + <parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.EqualsHashCodeChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.IllegalImportsChecker" enabled="true"> + <parameters> + <parameter name="illegalImports"><![CDATA[sun._,java.awt._]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.ParameterNumberChecker" enabled="true"> + <parameters> + <parameter name="maxParameters"><![CDATA[8]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.MagicNumberChecker" enabled="false"> + <parameters> + <parameter name="ignore"><![CDATA[-1,0,1,2,3]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.NoWhitespaceBeforeLeftBracketChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.NoWhitespaceAfterLeftBracketChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.ReturnChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.NullChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.NoCloneChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.NoFinalizeChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.CovariantEqualsChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.NumberOfTypesChecker" enabled="true"> + <parameters> + <parameter name="maxTypes"><![CDATA[30]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.CyclomaticComplexityChecker" enabled="true"> + <parameters> + <parameter name="maximum"><![CDATA[10]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.UppercaseLChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.SimplifyBooleanExpressionChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.IfBraceChecker" enabled="true"> + <parameters> + <parameter name="singleLineAllowed"><![CDATA[true]]></parameter> + <parameter name="doubleLineAllowed"><![CDATA[true]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.MethodLengthChecker" enabled="true"> + <parameters> + <parameter name="maxLength"><![CDATA[50]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.MethodNamesChecker" enabled="true"> + <parameters> + <parameter name="regex"><![CDATA[^[A-Za-z\\*][A-Za-z0-9]*$]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.ClassTypeParameterChecker" enabled="true"> + <parameters> + <parameter name="regex"><![CDATA[^[A-Za-z]*$]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.NumberOfMethodsInTypeChecker" enabled="true"> + <parameters> + <parameter name="maxMethods"><![CDATA[30]]></parameter> + </parameters> + </check> + <check level="error" class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" enabled="false"/> + <check level="error" class="org.scalastyle.file.NewLineAtEofChecker" enabled="true"/> + <check level="error" class="org.scalastyle.file.NoNewLineAtEofChecker" enabled="false"/> + <check level="error" class="org.scalastyle.scalariform.DeprecatedJavaChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.EmptyClassChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.RedundantIfChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.MultipleStringLiteralsChecker" enabled="false"/> + <check level="error" class="org.scalastyle.scalariform.SpaceAfterCommentStartChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.ProcedureDeclarationChecker" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.NotImplementedErrorUsage" enabled="true"/> + <check level="error" class="org.scalastyle.scalariform.LowercasePatternMatchChecker" enabled="true"/> +</scalastyle>
\ No newline at end of file diff --git a/src/main/scala/com/drivergrp/core/app.scala b/src/main/scala/com/drivergrp/core/app.scala index 488fdd3..13663ab 100644 --- a/src/main/scala/com/drivergrp/core/app.scala +++ b/src/main/scala/com/drivergrp/core/app.scala @@ -6,11 +6,11 @@ import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import akka.http.scaladsl.model.StatusCodes import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.RouteResult._ -import akka.http.scaladsl.server.{ Route, RouteConcatenation } +import akka.http.scaladsl.server.{Route, RouteConcatenation} import akka.stream.ActorMaterializer -import com.drivergrp.core.logging.{ Logger, TypesafeScalaLogger } +import com.drivergrp.core.logging.{Logger, TypesafeScalaLogger} import com.drivergrp.core.rest.Swagger -import com.drivergrp.core.time.provider.{ SystemTimeProvider, TimeProvider } +import com.drivergrp.core.time.provider.{SystemTimeProvider, TimeProvider} import com.typesafe.config.Config import org.slf4j.LoggerFactory import spray.json.DefaultJsonProtocol @@ -39,7 +39,7 @@ object app { activateServices(modules) scheduleServicesDeactivation(modules) bindHttp(modules) - Console.print(s"${ this.getClass.getName } App is started") + Console.print(s"${this.getClass.getName} App is started") } def stop() = { @@ -47,11 +47,11 @@ object app { val _ = actorSystem.terminate() val terminated = Await.result(actorSystem.whenTerminated, 30.seconds) val addressTerminated = if (terminated.addressTerminated) "is" else "is not" - Console.print(s"${ this.getClass.getName } App $addressTerminated stopped ") + Console.print(s"${this.getClass.getName} App $addressTerminated stopped ") } } - protected def bindHttp(modules: Seq[Module]) { + protected def bindHttp(modules: Seq[Module]): Unit = { import SprayJsonSupport._ import DefaultJsonProtocol._ @@ -80,12 +80,12 @@ object app { */ protected def activateServices(services: Seq[Module]) = { services.foreach { service => - Console.print(s"Service ${ service.name } starts ...") + Console.print(s"Service ${service.name} starts ...") try { service.activate() } catch { case t: Throwable => - log.fatal(s"Service ${ service.name } failed to activate", t) + log.fatal(s"Service ${service.name} failed to activate", t) Console.print(" Failed! (check log)") } Console.println(" Done") @@ -99,12 +99,12 @@ object app { Runtime.getRuntime.addShutdownHook(new Thread() { override def run(): Unit = { services.foreach { service => - Console.print(s"Service ${ service.name } shutting down ...") + Console.print(s"Service ${service.name} shutting down ...") try { service.deactivate() } catch { case t: Throwable => - log.fatal(s"Service ${ service.name } failed to deactivate", t) + log.fatal(s"Service ${service.name} failed to deactivate", t) Console.print(" Failed! (check log)") } Console.println(" Done") diff --git a/src/main/scala/com/drivergrp/core/rest.scala b/src/main/scala/com/drivergrp/core/rest.scala index 0f730ba..adbf716 100644 --- a/src/main/scala/com/drivergrp/core/rest.scala +++ b/src/main/scala/com/drivergrp/core/rest.scala @@ -138,7 +138,7 @@ object rest { val materializer = ActorMaterializer()(actorSystem) - override val host = "localhost:8080" //the url of your api, not swagger's json endpoint + override val host = "localhost:8080" // the url of your api, not swagger's json endpoint override val basePath = config.getString("swagger.basePath") override val apiDocsPath = config.getString("swagger.docsPath") |