<commit_before>import sbt._
import Keys._
import org.apache.ivy.core.module.id.ModuleRevisionId
import org.apache.ivy.core.install.InstallOptions
import scala.Some
import fi.gekkio.sbtplugins.jrebel.JRebelPlugin
import spray.revolver.RevolverPlugin._
import play.Project._

object BuildSettings {

  val buildOrganization = "pellucid.content"
  val buildScalaVersion = "2.10.3"
  val buildVersion      = "0.0.1"

  val release           = settingKey[Boolean]("Perform release")
  val gitHeadCommitSha  = settingKey[String]("current git commit SHA")

  def getPublishTo(release: Boolean) = {
    val artifactory = "http://pellucid.artifactoryonline.com/pellucid/"
    if (!release)
      Some("lib-snapshots-local" at artifactory + "libs-snapshots-local")
    else
      Some("lib-releases-local" at artifactory + "libs-releases-local")
  }

  def getVersion(release: Boolean, sha: String) = {
    import java.util.{Calendar, TimeZone}
    import java.text.SimpleDateFormat
    val utcTz = TimeZone.getTimeZone("UTC")
    val cal = Calendar.getInstance(utcTz)
    val sdf = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'")
    sdf.setCalendar(cal)
    if (!release) s"$buildVersion-${sdf.format(cal.getTime)}-$sha" else buildVersion
  }

  val buildSettings = Seq(
    organization                  := buildOrganization,
    scalaVersion                  := buildScalaVersion,
    shellPrompt                   := ShellPrompt.buildShellPrompt,
    maxErrors                     := 5,
    scalacOptions                ++= Seq("-deprecation"), //, "-Xlog-implicits"),
    credentials                   += Credentials(Path.userHome / ".ivy2" / ".credentials"),
    release                       := sys.props("data-api-release") == "true",
    gitHeadCommitSha in ThisBuild := Process("git rev-parse --short HEAD").lines.head,
    version in ThisBuild          := getVersion(release.value, gitHeadCommitSha.value),
    publishTo                     := getPublishTo(release.value),
    publishMavenStyle             := true
  )

  val localRepo = Seq(
    Resolver.file("Local Play IVY2 Repository", file(Path.userHome.absolutePath+"/.ivy2/local"))(Resolver.ivyStylePatterns)
  )
}


object ApplicationBuild extends Build {

  seq(JRebelPlugin.jrebelSettings: _*)
  seq(Revolver.settings: _*)

  implicit def toRichProject(project: Project) = new RichProject(project)

  val moreResolvers = resolvers ++= Seq(
    "Pellucid Artifactory" at "http://pellucid.artifactoryonline.com/pellucid/repo",

    "Typesafe Repo"             at "http://repo.typesafe.com/typesafe/releases/",
    Resolver.url("Side Typesafe Repo", url("http://repo.typesafe.com/typesafe/maven-ivy-releases"))(Resolver.ivyStylePatterns),
    "Local Maven Repository"    at "file://"+Path.userHome.absolutePath+"/.m2/repository", // Used for local install of Datomic
    "Sonatype Snapshots"        at "http://oss.sonatype.org/content/repositories/snapshots",
    "Sonatype Releases"         at "http://oss.sonatype.org/content/repositories/releases",

    "JBoss"                     at "https://repository.jboss.org/nexus/content/groups/public",
    "Expecty Repository"        at "https://raw.github.com/pniederw/expecty/master/m2repo/"
  ) ++ BuildSettings.localRepo

  // CORE PROJECT
  lazy val root = Project(
    id = "root",
    base = file(".")
  ) aggregate (pframe, pframeJsonBase, pframeJsonPlay)

  def pframeSettings =
    Defaults.defaultSettings ++ BuildSettings.buildSettings ++ Seq(
      shellPrompt := ShellPrompt.buildShellPrompt,
      moreResolvers,
      initialCommands := """
      | import pellucid.pframe._
      | import shapeless._
      | import spire.implicits._""".stripMargin('|'),
      libraryDependencies ++= Dependencies.pframe,
      addCompilerPlugin("org.scala-lang.plugins" % "macro-paradise_2.10.3" % "2.0.0-SNAPSHOT")
    ) ++ net.virtualvoid.sbt.graph.Plugin.graphSettings

  lazy val pframe = Project("pframe", file("modules/pframe")).
    settings(pframeSettings: _*)

  lazy val pframeJsonBase = Project("pframe-json-base", file("modules/pframe-json-base")).
    settings(pframeSettings: _*).
    dependsOn(pframe)
<commit_msg>remove macro paradise compiler plugin<commit_after>import sbt._
import Keys._
import org.apache.ivy.core.module.id.ModuleRevisionId
import org.apache.ivy.core.install.InstallOptions
import scala.Some
import fi.gekkio.sbtplugins.jrebel.JRebelPlugin
import spray.revolver.RevolverPlugin._
import play.Project._

object BuildSettings {

  val buildOrganization = "pellucid.content"
  val buildScalaVersion = "2.10.3"
  val buildVersion      = "0.0.1"

  val release           = settingKey[Boolean]("Perform release")
  val gitHeadCommitSha  = settingKey[String]("current git commit SHA")

  def getPublishTo(release: Boolean) = {
    val artifactory = "http://pellucid.artifactoryonline.com/pellucid/"
    if (!release)
      Some("lib-snapshots-local" at artifactory + "libs-snapshots-local")
    else
      Some("lib-releases-local" at artifactory + "libs-releases-local")
  }

  def getVersion(release: Boolean, sha: String) = {
    import java.util.{Calendar, TimeZone}
    import java.text.SimpleDateFormat
    val utcTz = TimeZone.getTimeZone("UTC")
    val cal = Calendar.getInstance(utcTz)
    val sdf = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'")
    sdf.setCalendar(cal)
    if (!release) s"$buildVersion-${sdf.format(cal.getTime)}-$sha" else buildVersion
  }

  val buildSettings = Seq(
    organization                  := buildOrganization,
    scalaVersion                  := buildScalaVersion,
    shellPrompt                   := ShellPrompt.buildShellPrompt,
    maxErrors                     := 5,
    scalacOptions                ++= Seq("-deprecation"), //, "-Xlog-implicits"),
    credentials                   += Credentials(Path.userHome / ".ivy2" / ".credentials"),
    release                       := sys.props("data-api-release") == "true",
    gitHeadCommitSha in ThisBuild := Process("git rev-parse --short HEAD").lines.head,
    version in ThisBuild          := getVersion(release.value, gitHeadCommitSha.value),
    publishTo                     := getPublishTo(release.value),
    publishMavenStyle             := true
  )

  val localRepo = Seq(
    Resolver.file("Local Play IVY2 Repository", file(Path.userHome.absolutePath+"/.ivy2/local"))(Resolver.ivyStylePatterns)
  )
}


object ApplicationBuild extends Build {

  seq(JRebelPlugin.jrebelSettings: _*)
  seq(Revolver.settings: _*)

  implicit def toRichProject(project: Project) = new RichProject(project)

  val moreResolvers = resolvers ++= Seq(
    "Pellucid Artifactory" at "http://pellucid.artifactoryonline.com/pellucid/repo",

    "Typesafe Repo"             at "http://repo.typesafe.com/typesafe/releases/",
    Resolver.url("Side Typesafe Repo", url("http://repo.typesafe.com/typesafe/maven-ivy-releases"))(Resolver.ivyStylePatterns),
    "Local Maven Repository"    at "file://"+Path.userHome.absolutePath+"/.m2/repository", // Used for local install of Datomic
    "Sonatype Snapshots"        at "http://oss.sonatype.org/content/repositories/snapshots",
    "Sonatype Releases"         at "http://oss.sonatype.org/content/repositories/releases",

    "JBoss"                     at "https://repository.jboss.org/nexus/content/groups/public",
    "Expecty Repository"        at "https://raw.github.com/pniederw/expecty/master/m2repo/"
  ) ++ BuildSettings.localRepo

  // CORE PROJECT
  lazy val root = Project(
    id = "root",
    base = file(".")
  ) aggregate (pframe, pframeJsonBase, pframeJsonPlay)

  def pframeSettings =
    Defaults.defaultSettings ++ BuildSettings.buildSettings ++ Seq(
      shellPrompt := ShellPrompt.buildShellPrompt,
      moreResolvers,
      initialCommands := """
      | import pellucid.pframe._
      | import shapeless._
      | import spire.implicits._""".stripMargin('|'),
      libraryDependencies ++= Dependencies.pframe
    ) ++ net.virtualvoid.sbt.graph.Plugin.graphSettings

  lazy val pframe = Project("pframe", file("modules/pframe")).
    settings(pframeSettings: _*)

  lazy val pframeJsonBase = Project("pframe-json-base", file("modules/pframe-json-base")).
    settings(pframeSettings: _*).
    dependsOn(pframe)

{'fraction_non_alphanumeric': 0.12814254332438368, 'fraction_numerical': 0.004027337075909201, 'mean_word_length': 3.1409802930773116, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '7617159', 'n_tokens_mistral': 2663, 'n_tokens_neox': 2539, 'n_words': 457}