<commit_before>import Dependencies._
import Util._
import com.typesafe.tools.mima.core._, ProblemFilters._

def baseVersion: String = "0.1.0-M8"
def internalPath   = file("internal")

def commonSettings: Seq[Setting[_]] = Seq(
  scalaVersion := scala211,
  // publishArtifact in packageDoc := false,
  resolvers += Resolver.typesafeIvyRepo("releases"),
  resolvers += Resolver.sonatypeRepo("snapshots"),
  // concurrentRestrictions in Global += Util.testExclusiveRestriction,
  testOptions += Tests.Argument(TestFrameworks.ScalaCheck, "-w", "1"),
  javacOptions in compile ++= Seq("-target", "6", "-source", "6", "-Xlint", "-Xlint:-serial"),
  crossScalaVersions := Seq(scala210, scala211),
  scalacOptions ++= Seq(
    "-encoding", "utf8",
    "-deprecation",
    "-feature",
    "-unchecked",
    "-Xlint",
    "-language:higherKinds",
    "-language:implicitConversions",
    // "-Xfuture",
    "-Yinline-warnings",
    // "-Yfatal-warnings",
    "-Yno-adapted-args",
    "-Ywarn-dead-code",
    "-Ywarn-numeric-widen",
    "-Ywarn-value-discard"),
  previousArtifact := None, // Some(organization.value %% moduleName.value % "1.0.0"),
  publishArtifact in Compile := true,
  publishArtifact in Test := true
)

lazy val utilRoot: Project = (project in file(".")).
  aggregate(
    utilInterface, utilControl, utilCollection, utilApplyMacro, utilComplete,
    utilLogging, utilRelation, utilLogic, utilCache, utilTracking, utilTesting,
    utilScripted
  ).
  settings(
    inThisBuild(Seq(
      git.baseVersion := baseVersion,
      bintrayPackage := "util",
      homepage := Some(url("https://github.com/sbt/util")),
      description := "Util module for sbt",
      scmInfo := Some(ScmInfo(url("https://github.com/sbt/util"), "<EMAIL>:sbt/util.git"))
    )),
    commonSettings,
    name := "Util Root",
    publish := {},
    publishLocal := {},
    publishArtifact in Compile := false,
    publishArtifact in Test := false,
    publishArtifact := false,
    customCommands
  )

// defines Java structures used across Scala versions, such as the API structures and relationships extracted by
//   the analysis compiler phases and passed back to sbt.  The API structures are defined in a simple
//   format from which Java sources are generated by the datatype generator Projproject
lazy val utilInterface = (project in internalPath / "util-interface").
  settings(
    commonSettings,
    javaOnlySettings,
    name := "Util Interface",
    exportJars := true
  )

lazy val utilControl = (project in internalPath / "util-control").
  settings(
    commonSettings,
    name := "Util Control"
  )

lazy val utilCollection = (project in internalPath / "util-collection").
  dependsOn(utilTesting % Test).
  settings(
    commonSettings,
    Util.keywordsSettings,
    name := "Util Collection"
  )

lazy val utilApplyMacro = (project in internalPath / "util-appmacro").
  dependsOn(utilCollection).
  settings(
    commonSettings,
    name := "Util Apply Macro",
    libraryDependencies += scalaCompiler.value
  )

// Command line-related utilities.
lazy val utilComplete = (project in internalPath / "util-complete").
  dependsOn(utilCollection, utilControl, utilTesting % Test).
  settings(
    commonSettings,
    name := "Util Completion",
    libraryDependencies ++= Seq(jline, sbtIO)
  )

// logging
lazy val utilLogging = (project in internalPath / "util-logging").
  dependsOn(utilInterface, utilTesting % Test).
  settings(
    commonSettings,<commit_msg>Exempt out of -Xfuture in util-collection<commit_after>import Dependencies._
import Util._
import com.typesafe.tools.mima.core._, ProblemFilters._

def baseVersion: String = "0.1.0-M8"
def internalPath   = file("internal")

def commonSettings: Seq[Setting[_]] = Seq(
  scalaVersion := scala211,
  // publishArtifact in packageDoc := false,
  resolvers += Resolver.typesafeIvyRepo("releases"),
  resolvers += Resolver.sonatypeRepo("snapshots"),
  // concurrentRestrictions in Global += Util.testExclusiveRestriction,
  testOptions += Tests.Argument(TestFrameworks.ScalaCheck, "-w", "1"),
  javacOptions in compile ++= Seq("-target", "6", "-source", "6", "-Xlint", "-Xlint:-serial"),
  crossScalaVersions := Seq(scala210, scala211),
  scalacOptions ++= Seq(
    "-encoding", "utf8",
    "-deprecation",
    "-feature",
    "-unchecked",
    "-Xlint",
    "-language:higherKinds",
    "-language:implicitConversions",
    // "-Xfuture",
    "-Yinline-warnings",
    // "-Yfatal-warnings",
    "-Yno-adapted-args",
    "-Ywarn-dead-code",
    "-Ywarn-numeric-widen",
    "-Ywarn-value-discard"),
  previousArtifact := None, // Some(organization.value %% moduleName.value % "1.0.0"),
  publishArtifact in Compile := true,
  publishArtifact in Test := true
)

lazy val utilRoot: Project = (project in file(".")).
  aggregate(
    utilInterface, utilControl, utilCollection, utilApplyMacro, utilComplete,
    utilLogging, utilRelation, utilLogic, utilCache, utilTracking, utilTesting,
    utilScripted
  ).
  settings(
    inThisBuild(Seq(
      git.baseVersion := baseVersion,
      bintrayPackage := "util",
      homepage := Some(url("https://github.com/sbt/util")),
      description := "Util module for sbt",
      scmInfo := Some(ScmInfo(url("https://github.com/sbt/util"), "git@github.<EMAIL>:sbt/util.git"))
    )),
    commonSettings,
    name := "Util Root",
    publish := {},
    publishLocal := {},
    publishArtifact in Compile := false,
    publishArtifact in Test := false,
    publishArtifact := false,
    customCommands
  )

// defines Java structures used across Scala versions, such as the API structures and relationships extracted by
//   the analysis compiler phases and passed back to sbt.  The API structures are defined in a simple
//   format from which Java sources are generated by the datatype generator Projproject
lazy val utilInterface = (project in internalPath / "util-interface").
  settings(
    commonSettings,
    javaOnlySettings,
    name := "Util Interface",
    exportJars := true
  )

lazy val utilControl = (project in internalPath / "util-control").
  settings(
    commonSettings,
    name := "Util Control"
  )

lazy val utilCollection = (project in internalPath / "util-collection").
  dependsOn(utilTesting % Test).
  settings(
    commonSettings,
    Util.keywordsSettings,
    name := "Util Collection",
    scalacOptions --= // scalac 2.10 rejects some HK types under -Xfuture it seems..
      (CrossVersion partialVersion scalaVersion.value collect { case (2, 10) => "-Xfuture" }).toList
  )

lazy val utilApplyMacro = (project in internalPath / "util-appmacro").
  dependsOn(utilCollection).
  settings(
    commonSettings,
    name := "Util Apply Macro",
    libraryDependencies += scalaCompiler.value
  )

// Command line-related utilities.
lazy val utilComplete = (project in internalPath / "util-complete").
  dependsOn(utilCollection, utilControl, utilTesting % Test).
  settings(
    commonSettings,
    name := "Util Completion",
    libraryDependencies ++= Seq(jline, sbtIO)
  )

// logging
lazy val utilLogging = (project in internalPath / "util-logging").
  dependsOn(utilInterface, utilTesting % Test).
  settings(
    commonSettings,
{'fraction_non_alphanumeric': 0.13121161362367392, 'fraction_numerical': 0.0064209938581797875, 'mean_word_length': 3.7076215505913273, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 6, 'https://': 4, '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': '3764741', 'n_tokens_mistral': 2199, 'n_tokens_neox': 2154, 'n_words': 562}