automation/project/Settings.scala (30 lines of code) (raw):

import Dependencies._ import sbt.Keys._ import sbt._ object Settings { //coreDefaultSettings + defaultConfigs = the now deprecated defaultSettings val commonBuildSettings = Defaults.coreDefaultSettings ++ Defaults.defaultConfigs ++ Seq( javaOptions += "-Xmx2G", javacOptions ++= Seq("-source", "1.8", "-target", "1.8") ) val commonCompilerSettings = Seq( "-unchecked", "-deprecation", "-feature", "-encoding", "utf8", "-target:jvm-1.8", "-Xmax-classfile-name", "100" ) val testSettings = List( testOptions in Test += Tests.Argument("-oF") ) //common settings for all sbt subprojects val commonSettings = commonBuildSettings ++ testSettings ++ List( organization := "org.broadinstitute.d sde.firecloud", scalaVersion := "2.11.8", scalacOptions ++= commonCompilerSettings ) //the full list of settings for the root project that's ultimately the one we build into a fat JAR and run //coreDefaultSettings (inside commonSettings) sets the project name, which we want to override, so ordering is important. //thus commonSettings needs to be added first. val rootSettings = commonSettings ++ List( name := "FireCloud-UITests", libraryDependencies ++= rootDependencies ) }