<commit_before>import org.broadinstitute.clio.sbt._

// ## sbt settings
// For more info, see: https://broadinstitute.atlassian.net/wiki/pages/viewpage.action?pageId=114531509

enablePlugins(GitVersioning)

// Settings applied at the scope of the entire build.
inThisBuild(
  Seq(
    scalaVersion := Dependencies.ScalaVersion,
    organization := "org.broadinstitute",
    scalacOptions ++= Compilation.CompilerSettings,
    git.baseVersion := Versioning.clioBaseVersion.value,
    git.formattedShaVersion := Versioning.gitShaVersion.value,
    scalafmtVersion := Dependencies.ScalafmtVersion,
    scalafmtOnCompile := true,
    ignoreErrors in scalafmt := false,
    coverageHighlighting := false
  )
)

/*
 * Settings that must be applied to each project individually because
 * they are scoped to individual configurations / tasks, which don't
 * exist in the scope of ThisBuild.
 */
val commonSettings: Seq[Setting[_]] = Seq(
  scalacOptions in (Compile, doc) ++= Compilation.DocSettings,
  scalacOptions in (Compile, console) := Compilation.ConsoleSettings,
  resourceGenerators in Compile += Versioning.writeVersionConfig.taskValue
)
val commonDockerSettings: Seq[Setting[_]] = Seq(
  assemblyJarName in assembly := Versioning.assemblyName.value,
  imageNames in docker := Docker.imageNames.value,
  buildOptions in docker := Docker.buildOptions.value
)
val commonTestDockerSettings: Seq[Setting[_]] = Seq(
  resourceGenerators in Test += Docker.writeTestImagesConfig.taskValue
)

/**
  * Root Clio project aggregating all sub-projects.
  * Enables running, i.e., "test" in the root project and
  * having unit tests runs across all sub-projects.
  */
lazy val clio = project
  .in(file("."))
  .settings(commonSettings)
  .aggregate(
    `clio-util`,
    `clio-transfer-model`,
    `clio-dataaccess-model`,
    `clio-server`,
    `clio-client`,
    `clio-integration-test`
  )
  .disablePlugins(AssemblyPlugin)

/**<commit_msg>Fork when running to avoid shutdown problems. (#135)<commit_after>import org.broadinstitute.clio.sbt._

// ## sbt settings
// For more info, see: https://broadinstitute.atlassian.net/wiki/pages/viewpage.action?pageId=114531509

enablePlugins(GitVersioning)

// Settings applied at the scope of the entire build.
inThisBuild(
  Seq(
    scalaVersion := Dependencies.ScalaVersion,
    organization := "org.broadinstitute",
    scalacOptions ++= Compilation.CompilerSettings,
    git.baseVersion := Versioning.clioBaseVersion.value,
    git.formattedShaVersion := Versioning.gitShaVersion.value,
    scalafmtVersion := Dependencies.ScalafmtVersion,
    scalafmtOnCompile := true,
    ignoreErrors in scalafmt := false,
    coverageHighlighting := false
  )
)

/*
 * Settings that must be applied to each project individually because
 * they are scoped to individual configurations / tasks, which don't
 * exist in the scope of ThisBuild.
 */
val commonSettings: Seq[Setting[_]] = Seq(
  scalacOptions in (Compile, doc) ++= Compilation.DocSettings,
  scalacOptions in (Compile, console) := Compilation.ConsoleSettings,
  resourceGenerators in Compile += Versioning.writeVersionConfig.taskValue,
  fork in run := true
)
val commonDockerSettings: Seq[Setting[_]] = Seq(
  assemblyJarName in assembly := Versioning.assemblyName.value,
  imageNames in docker := Docker.imageNames.value,
  buildOptions in docker := Docker.buildOptions.value
)
val commonTestDockerSettings: Seq[Setting[_]] = Seq(
  resourceGenerators in Test += Docker.writeTestImagesConfig.taskValue
)

/**
  * Root Clio project aggregating all sub-projects.
  * Enables running, i.e., "test" in the root project and
  * having unit tests runs across all sub-projects.
  */
lazy val clio = project
  .in(file("."))
  .settings(commonSettings)
  .aggregate(
    `clio-util`,
    `clio-transfer-model`,
    `clio-dataaccess-model`,
    `clio-server`,
    `clio-client`,
    `clio-integration-test`
  )
  .disablePlugins(AssemblyPlugin)

/**
{'fraction_non_alphanumeric': 0.10910478128179044, 'fraction_numerical': 0.005340793489318413, 'mean_word_length': 4.358310626702997, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6358323', 'n_tokens_mistral': 1238, 'n_tokens_neox': 1190, 'n_words': 299}