From 5450df936e4e7d0d4a325739d2eba784342e5785 Mon Sep 17 00:00:00 2001 From: Sarah Gerweck Date: Tue, 19 Dec 2017 22:08:05 -0800 Subject: [PATCH] Update project template --- project/BasicSettings.scala | 13 +++++++++---- project/SettingTemplate.scala | 5 +++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/project/BasicSettings.scala b/project/BasicSettings.scala index 78273aa..3c9fb1d 100644 --- a/project/BasicSettings.scala +++ b/project/BasicSettings.scala @@ -14,14 +14,15 @@ trait BasicSettings extends ProjectSettings { st: SettingTemplate => lazy val optimize = boolFlag("OPTIMIZE") orElse boolFlag("OPTIMISE") getOrElse defaultOptimize lazy val optimizeGlobal = boolFlag("OPTIMIZE_GLOBAL") getOrElse defaultOptimizeGlobal lazy val optimizeWarn = boolFlag("OPTIMIZE_WARNINGS") getOrElse false + lazy val disableAsserts = boolFlag("DISABLE_ASSERTIONS") getOrElse defaultDisableAssertions lazy val noFatalWarn = boolFlag("NO_FATAL_WARNINGS") getOrElse false lazy val deprecation = boolFlag("NO_DEPRECATION") map (!_) getOrElse true - lazy val inlineWarn = boolFlag("INLINE_WARNINGS") getOrElse false + lazy val inlineWarn = boolFlag("INLINE_WARNINGS") getOrElse defaultWarnInline lazy val debug = boolFlag("DEBUGGER") getOrElse false lazy val debugPort = intFlag("DEBUGGER_PORT", 5050) lazy val debugSuspend = boolFlag("DEBUGGER_SUSPEND") getOrElse true - lazy val unusedWarn = boolFlag("UNUSED_WARNINGS") getOrElse false - lazy val importWarn = boolFlag("IMPORT_WARNINGS") getOrElse false + lazy val unusedWarn = boolFlag("UNUSED_WARNINGS") getOrElse defaultWarnUnused + lazy val importWarn = boolFlag("IMPORT_WARNINGS") getOrElse defaultWarnImport lazy val findbugsHtml = boolFlag("FINDBUGS_HTML") getOrElse !isJenkins lazy val newBackend = boolFlag("NEW_BCODE_BACKEND") getOrElse defaultNewBackend lazy val noBuildDocs = boolFlag("NO_SBT_DOCS").getOrElse(false) && !isJenkins @@ -89,6 +90,9 @@ trait BasicSettings extends ProjectSettings { st: SettingTemplate => if (sv.backend == SupportsNewBackend && newBackend) { options :+= "-Ybackend:GenBCode" } + if (disableAsserts) { + options :+= "-Xdisable-assertions" + } options } @@ -145,7 +149,8 @@ trait BasicSettings extends ProjectSettings { st: SettingTemplate => def addScalacOptions(optim: Boolean = optimize) = new Def.SettingList(Seq( basicScalacOptions, - optimizationScalacOptions(optim) + optimizationScalacOptions(optim), + scalacOptions ++= extraScalacOptions )) def addJavacOptions() = Def.derive { diff --git a/project/SettingTemplate.scala b/project/SettingTemplate.scala index 6e523ff..02d33c8 100644 --- a/project/SettingTemplate.scala +++ b/project/SettingTemplate.scala @@ -19,6 +19,11 @@ trait SettingTemplate { val defaultOptimize: Boolean = true val defaultOptimizeGlobal: Boolean = false val inlinePatterns: Seq[String] = Seq("!akka.**","!slick.**") + val defaultDisableAssertions: Boolean = false + val defaultWarnUnused: Boolean = false + val defaultWarnImport: Boolean = false + val defaultWarnInline: Boolean = false + val extraScalacOptions: Seq[String] = Seq.empty val autoAddCompileOptions: Boolean = true val parallelBuild: Boolean = true