diff --git a/.gitignore b/.gitignore index a016f55..96dde29 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ *.log .idea/ target/ +node_modules/ + diff --git a/README.md b/README.md index 83131cd..5d114dc 100644 --- a/README.md +++ b/README.md @@ -56,16 +56,21 @@ sbt scapegoat cpd stats Only Scala Native: ```bash -sbt re/scalafix re/test:scalafix re/it:scalafix && -sbt re/scalafmtSbt re/scalafmt re/test:scalafmt re/it:scalafmt && -sbt clean re/compile re/test:compile re/it:compile re/test && +sbt re/scalafix re/test:scalafix re/it:scalafix && +sbt re/scalafmtSbt re/scalafmt re/test:scalafmt re/it:scalafmt && +sbt clean re/compile re/test:compile re/it:compile re/test && sbt scalastyle test:scalastyle it:scalastyle && sbt scapegoat cpd stats ``` Run: ```bash -sbt re/run # run Scala Native sbt reJS/run # run Scala JS sbt reJVM/run # run Scala JVM -``` \ No newline at end of file +sbt re/run # run Scala Native +``` + +or all runs +```bash +sbt reJS/run reJVM/run re/run +``` diff --git a/build.sbt b/build.sbt index 3f3ab39..887eaf8 100644 --- a/build.sbt +++ b/build.sbt @@ -3,6 +3,8 @@ import sbt.inConfig import sbtcrossproject.CrossPlugin.autoImport.{CrossType, crossProject} import scoverage.ScoverageKeys.coverageEnabled +resolvers += Resolver.sonatypeRepo("snapshots") + val ScalaFixScalacOptions = Seq( "-Ywarn-adapted-args", // for NoAutoTupling "-Ywarn-unused", // for RemoveUnused @@ -51,6 +53,7 @@ val SharedSettings = Seq( val jsSettings = Seq( mainClass in Compile := mainClassSome, scalaJSUseMainModuleInitializer := true, + scalaJSModuleKind := ModuleKind.CommonJSModule, coverageEnabled := true, libraryDependencies ++= Seq( "biz.enef" %%% "slogging-winston" % SloggingVersion, @@ -59,17 +62,19 @@ val jsSettings = Seq( val jvmSettings = Seq( mainClass in Compile := mainClassSome, - scalaJSUseMainModuleInitializer := true, coverageEnabled := true, libraryDependencies ++= Seq( + "biz.enef" %% "slogging-slf4j" % SloggingVersion, "ch.qos.logback" % "logback-classic" % "1.2.3", ), ) val nativeSettings = Seq( nativeLinkStubs := true, +// nativeLinkingOptions += "-lglib-2.0", libraryDependencies ++= Seq( "biz.enef" %%% "slogging-syslog" % SloggingVersion, + "biz.enef" %%% "slogging-glib" % SloggingVersion, ), ) diff --git a/project/plugins.sbt b/project/plugins.sbt index fbb2114..1621fc1 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -30,7 +30,7 @@ addCompilerPlugin("org.psywerx.hairyfotr" %% "linter" % "0.1.17") //// stats - An sbt plugin for source code statistics addSbtPlugin("com.orrsella" % "sbt-stats" % "1.0.7") //// scala-clippy - Good advice for Scala compiler errors -addSbtPlugin("com.softwaremill.clippy" % "plugin-sbt" % "0.5.3") +addSbtPlugin("com.softwaremill.clippy" % "plugin-sbt" % "0.6.1") //// sbt-cpd Copy & Paste Detector plugin using PMD for sbt. addSbtPlugin("com.github.sbt" % "sbt-cpd" % "2.0.0") diff --git a/re/js/src/main/scala/pl/writeonly/re/main/Main.scala b/re/js/src/main/scala/pl/writeonly/re/main/Main.scala index 4153fd3..5bd46f0 100644 --- a/re/js/src/main/scala/pl/writeonly/re/main/Main.scala +++ b/re/js/src/main/scala/pl/writeonly/re/main/Main.scala @@ -3,5 +3,12 @@ package pl.writeonly.re.main import pl.writeonly.re.shared.core.Core object Main extends JSApp { - override def main(): Unit = Core.apply("JS") + override def main(): Unit = { + // LoggerConfig.factory = PrintLoggerFactory() + // LoggerConfig.factory = WinstonLoggerFactory() + // LoggerConfig.factory = ConsoleLoggerFactory() + + // LoggerConfig.level = LogLevel.TRACE + Core.apply("JS") + } } diff --git a/re/jvm/src/main/scala/pl/writeonly/re/main/Main.scala b/re/jvm/src/main/scala/pl/writeonly/re/main/Main.scala index f9947e1..4a2a7a9 100644 --- a/re/jvm/src/main/scala/pl/writeonly/re/main/Main.scala +++ b/re/jvm/src/main/scala/pl/writeonly/re/main/Main.scala @@ -1,7 +1,11 @@ package pl.writeonly.re.main import pl.writeonly.re.shared.core.Core +import slogging._ object Main extends App { + LoggerConfig.factory = SLF4JLoggerFactory() + + LoggerConfig.level = LogLevel.TRACE Core.apply("JVM") } diff --git a/re/native/src/main/scala/pl/writeonly/re/main/Main.scala b/re/native/src/main/scala/pl/writeonly/re/main/Main.scala index 69eb038..f7e2b55 100644 --- a/re/native/src/main/scala/pl/writeonly/re/main/Main.scala +++ b/re/native/src/main/scala/pl/writeonly/re/main/Main.scala @@ -1,7 +1,17 @@ package pl.writeonly.re.main -import pl.writeonly.re.shared.core.Core +import pl.writeonly.re.shared.core._ +import slogging._ +import slogging.TerminalLoggerFactory.TerminalControlCode object Main extends App { + LoggerConfig.factory = TerminalLoggerFactory() + TerminalLoggerFactory.infoCode = TerminalControlCode.green + TerminalLoggerFactory.debugCode = TerminalControlCode.cyan + TerminalLoggerFactory.traceCode = TerminalControlCode.blue + + LoggerConfig.level = LogLevel.TRACE Core.apply("Native") + + StrictLoggingCore.rainbow() } diff --git a/re/shared/src/main/scala/pl/writeonly/re/shared/core/StrictLoggingCore.scala b/re/shared/src/main/scala/pl/writeonly/re/shared/core/StrictLoggingCore.scala index abcb733..c673494 100644 --- a/re/shared/src/main/scala/pl/writeonly/re/shared/core/StrictLoggingCore.scala +++ b/re/shared/src/main/scala/pl/writeonly/re/shared/core/StrictLoggingCore.scala @@ -6,4 +6,12 @@ object StrictLoggingCore extends Core with StrictLogging { def apply(arg: String): Unit = { logger.info(s"Hello Scala $arg!") } + + def rainbow(): Unit = { + logger.error("rainbow error") + logger.warn("rainbow warn") + logger.info("rainbow info") + logger.debug("rainbow debug") + logger.trace("rainbow trace") + } }