<commit_before>import com.typesafe.sbt.pgp.PgpKeys.publishSigned
import de.heikoseeberger.sbtheader.license.Apache2_0
import pl.project13.scala.sbt.SbtJmh.JmhKeys.{outputTarget, generatorType, Jmh}
import sbtrelease.ReleasePlugin.ReleaseKeys._
import sbtrelease.ReleaseStateTransformations._
import sbtrelease.ReleaseStep
import scalariform.formatter.preferences._
import scoverage.ScoverageSbtPlugin.ScoverageKeys.coverageExcludedPackages
import spray.revolver.RevolverPlugin.Revolver
import xerial.sbt.Sonatype.SonatypeKeys.{profileName, sonatypeReleaseAll}


lazy val parent = project in file(".") dependsOn (
  api, japi, client, commands, core) aggregate (
  api, japi, client, commands, core, `java-examples`, `scala-examples`, tests) settings (
  buildsUberJar,
  rxRedisSettings,
  doNotPublish,
  name := "rx-redis-parent")

lazy val core = project in file("modules") / "core" enablePlugins AutomateHeaderPlugin settings (
  rxRedisSettings,
  ivyConfigurations += CompileTimeOnly,
  unmanagedClasspath in Compile ++= update.value.select(configurationFilter(CompileTimeOnly.name)),
  name := "rx-redis-core",
  libraryDependencies += "org.scala-lang"  % "scala-reflect" % scalaVersion.value % "compileonly")

lazy val commands = project in file("modules") / "commands" enablePlugins AutomateHeaderPlugin dependsOn core settings (
  rxRedisSettings,
  name := "rx-redis-commands")

lazy val client = project in file("modules") / "client" enablePlugins AutomateHeaderPlugin dependsOn commands settings (
  buildsUberJar,
  rxRedisSettings,
  name := "rx-redis-client",
  libraryDependencies ++= List(
    "io.netty"       % "netty-transport" % nettyVersion.value,
    "io.netty"       % "netty-buffer"    % nettyVersion.value,
    "io.netty"       % "netty-common"    % nettyVersion.value,
    "io.reactivex"   % "rxjava"          % rxJavaVersion.value))

lazy val api = project in file("language-bindings") / "scala" enablePlugins AutomateHeaderPlugin dependsOn client settings (
  buildsUberJar,
  rxRedisSettings,
  name := "rx-redis-scala",
  libraryDependencies += "io.reactivex" %% "rxscala" % rxScalaVersion.value exclude("org.scala-lang", "scala-library"))

lazy val japi = project in file("language-bindings") / "java" enablePlugins AutomateHeaderPlugin dependsOn client settings (
  buildsUberJar,
  rxRedisSettings,
  name := "rx-redis-java")

lazy val `scala-examples` = project in file("examples") / "scala" enablePlugins AutomateHeaderPlugin dependsOn api settings (
  Revolver.settings,
  rxRedisSettings,
  name := "rx-redis-example")

lazy val `java-examples` = project in file("examples") / "java" enablePlugins AutomateHeaderPlugin dependsOn japi settings (
  rxRedisSettings,
  name := "rx-redis-java-example")

lazy val tests = project enablePlugins AutomateHeaderPlugin configs (IntegrationTest, RegressionTest) dependsOn (client, api, japi) settings (
  rxRedisSettings,
  doNotPublish,
  Defaults.itSettings,
  // Like to use testSettings, but IntelliJ doesn't get it right
  inConfig(RegressionTest)(Defaults.testTasks),
  inConfig(IntegrationTest)(List(fork := true)),
  testOptions in Test := List(Tests.Filter(unitFilter)),
  testOptions in RegressionTest := List(Tests.Filter(regFilter)),
  parallelExecution in Test := false,
  parallelExecution in IntegrationTest := false,
  scalacOptions in Test += "-Yrangepos",
  scalacOptions in IntegrationTest += "-Yrangepos",
  name := "rx-redis-tests",
  libraryDependencies ++= List(
    "org.scalatest"  %% "scalatest"         % "2.2.4"  % "it,test",
    "org.scalacheck" %% "scalacheck"        % "1.12.2" % "test"))

lazy val benchmarks = project enablePlugins AutomateHeaderPlugin dependsOn client settings (
  rxRedisSettings,
  doNotPublish,
  jmhSettings,
  name := "rx-redis-bechmarks",
  outputTarget in Jmh := target.value / s"scala-${scalaBinaryVersion.value}",
  version in Jmh := "1.6.3",
  generatorType in Jmh := "asm")

lazy val dist = project disablePlugins AssemblyPlugin settings (
  scalaVersion := "2.11.6",
  target := baseDirectory.value)

// ====================================================================

lazy val rxRedisSettings =
  buildSettings ++ commonSettings ++
  publishSettings ++ formatterSettings

lazy val buildSettings  = List(
          organization := "de.knutwalker",
  organizationHomepage := Some(url("http://knutwalker.de/")),
           description := "Reactive Extension for Redis",
          scalaVersion := "2.11.6",
          nettyVersion := "4.0.27.Final",
         rxJavaVersion := "1.0.7",
        rxScalaVersion := "0.24.0")

lazy val commonSettings = List(
  scalacOptions ++= List(
    "-deprecation",
    "-encoding",  "UTF-8",
    "-feature",
    "-language:existentials",
    "-language:higherKinds",
    "-language:implicitConversions",
    "-language:postfixOps",
    "-unchecked",
    "-target:jvm-1.7",
    "-Xcheckinit",
    "-Xfatal-warnings",
    "-Xfuture",
    "-Xlint:_",
    "-Yclosure-elim",
    "-Yconst-opt",
    "-Ydead-code",
    "-Yno-adapted-args",
    "-Ywarn-adapted-args",
    "-Ywarn-dead-code",
    "-Ywarn-inaccessible",
    "-Ywarn-infer-any",
    "-Ywarn-nullary-override",
    "-Ywarn-nullary-unit",
    "-Ywarn-numeric-widen",
    "-Ywarn-unused",<commit_msg>Downgrade to Scala 2.11.4 to avoid conflicts<commit_after>import com.typesafe.sbt.pgp.PgpKeys.publishSigned
import de.heikoseeberger.sbtheader.license.Apache2_0
import pl.project13.scala.sbt.SbtJmh.JmhKeys.{outputTarget, generatorType, Jmh}
import sbtrelease.ReleasePlugin.ReleaseKeys._
import sbtrelease.ReleaseStateTransformations._
import sbtrelease.ReleaseStep
import scalariform.formatter.preferences._
import scoverage.ScoverageSbtPlugin.ScoverageKeys.coverageExcludedPackages
import spray.revolver.RevolverPlugin.Revolver
import xerial.sbt.Sonatype.SonatypeKeys.{profileName, sonatypeReleaseAll}


lazy val parent = project in file(".") dependsOn (
  api, japi, client, commands, core) aggregate (
  api, japi, client, commands, core, `java-examples`, `scala-examples`, tests) settings (
  buildsUberJar,
  rxRedisSettings,
  doNotPublish,
  name := "rx-redis-parent")

lazy val core = project in file("modules") / "core" enablePlugins AutomateHeaderPlugin settings (
  rxRedisSettings,
  ivyConfigurations += CompileTimeOnly,
  unmanagedClasspath in Compile ++= update.value.select(configurationFilter(CompileTimeOnly.name)),
  name := "rx-redis-core",
  libraryDependencies += "org.scala-lang"  % "scala-reflect" % scalaVersion.value % "compileonly")

lazy val commands = project in file("modules") / "commands" enablePlugins AutomateHeaderPlugin dependsOn core settings (
  rxRedisSettings,
  name := "rx-redis-commands")

lazy val client = project in file("modules") / "client" enablePlugins AutomateHeaderPlugin dependsOn commands settings (
  buildsUberJar,
  rxRedisSettings,
  name := "rx-redis-client",
  libraryDependencies ++= List(
    "io.netty"       % "netty-transport" % nettyVersion.value,
    "io.netty"       % "netty-buffer"    % nettyVersion.value,
    "io.netty"       % "netty-common"    % nettyVersion.value,
    "io.reactivex"   % "rxjava"          % rxJavaVersion.value))

lazy val api = project in file("language-bindings") / "scala" enablePlugins AutomateHeaderPlugin dependsOn client settings (
  buildsUberJar,
  rxRedisSettings,
  name := "rx-redis-scala",
  libraryDependencies += "io.reactivex" %% "rxscala" % rxScalaVersion.value exclude("org.scala-lang", "scala-library"))

lazy val japi = project in file("language-bindings") / "java" enablePlugins AutomateHeaderPlugin dependsOn client settings (
  buildsUberJar,
  rxRedisSettings,
  name := "rx-redis-java")

lazy val `scala-examples` = project in file("examples") / "scala" enablePlugins AutomateHeaderPlugin dependsOn api settings (
  Revolver.settings,
  rxRedisSettings,
  name := "rx-redis-example")

lazy val `java-examples` = project in file("examples") / "java" enablePlugins AutomateHeaderPlugin dependsOn japi settings (
  rxRedisSettings,
  name := "rx-redis-java-example")

lazy val tests = project enablePlugins AutomateHeaderPlugin configs (IntegrationTest, RegressionTest) dependsOn (client, api, japi) settings (
  rxRedisSettings,
  doNotPublish,
  Defaults.itSettings,
  // Like to use testSettings, but IntelliJ doesn't get it right
  inConfig(RegressionTest)(Defaults.testTasks),
  inConfig(IntegrationTest)(List(fork := true)),
  testOptions in Test := List(Tests.Filter(unitFilter)),
  testOptions in RegressionTest := List(Tests.Filter(regFilter)),
  parallelExecution in Test := false,
  parallelExecution in IntegrationTest := false,
  scalacOptions in Test += "-Yrangepos",
  scalacOptions in IntegrationTest += "-Yrangepos",
  name := "rx-redis-tests",
  libraryDependencies ++= List(
    "org.scalatest"  %% "scalatest"         % "2.2.4"  % "it,test",
    "org.scalacheck" %% "scalacheck"        % "1.12.2" % "test"))

lazy val benchmarks = project enablePlugins AutomateHeaderPlugin dependsOn client settings (
  rxRedisSettings,
  doNotPublish,
  jmhSettings,
  name := "rx-redis-bechmarks",
  outputTarget in Jmh := target.value / s"scala-${scalaBinaryVersion.value}",
  version in Jmh := "1.6.3",
  generatorType in Jmh := "asm")

lazy val dist = project disablePlugins AssemblyPlugin settings (
  scalaVersion := "2.11.4",
  target := baseDirectory.value)

// ====================================================================

lazy val rxRedisSettings =
  buildSettings ++ commonSettings ++
  publishSettings ++ formatterSettings

lazy val buildSettings  = List(
          organization := "de.knutwalker",
  organizationHomepage := Some(url("http://knutwalker.de/")),
           description := "Reactive Extension for Redis",
          scalaVersion := "2.11.4",
          nettyVersion := "4.0.27.Final",
         rxJavaVersion := "1.0.7",
        rxScalaVersion := "0.24.0")

lazy val commonSettings = List(
  scalacOptions ++= List(
    "-deprecation",
    "-encoding",  "UTF-8",
    "-feature",
    "-language:existentials",
    "-language:higherKinds",
    "-language:implicitConversions",
    "-language:postfixOps",
    "-unchecked",
    "-target:jvm-1.7",
    "-Xcheckinit",
    "-Xfatal-warnings",
    "-Xfuture",
    "-Xlint:_",
    "-Yclosure-elim",
    "-Yconst-opt",
    "-Ydead-code",
    "-Yno-adapted-args",
    "-Ywarn-adapted-args",
    "-Ywarn-dead-code",
    "-Ywarn-inaccessible",
    "-Ywarn-infer-any",
    "-Ywarn-nullary-override",
    "-Ywarn-nullary-unit",
    "-Ywarn-numeric-widen",
    "-Ywarn-unused",
{'fraction_non_alphanumeric': 0.14161822167159058, 'fraction_numerical': 0.007242923853997904, 'mean_word_length': 4.265429001505268, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, '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': '3537322', 'n_tokens_mistral': 3443, 'n_tokens_neox': 3312, 'n_words': 709}