From 01a7a00915e0f941e699e933f7fddc6ad052d264 Mon Sep 17 00:00:00 2001 From: Dale Wijnand Date: Sun, 19 Jun 2016 22:52:22 +0100 Subject: [PATCH] Remove old sbt parser --- .../sbt/internal/EvaluateConfigurations.scala | 42 +---- .../src/test/resources/fail-format/.gitignore | 1 - main/src/test/resources/old-format/1.sbt.txt | 66 -------- main/src/test/resources/old-format/10.sbt.txt | 81 --------- main/src/test/resources/old-format/11.sbt.txt | 52 ------ main/src/test/resources/old-format/12.sbt.txt | 55 ------ main/src/test/resources/old-format/13.sbt.txt | 75 -------- main/src/test/resources/old-format/14.sbt.txt | 41 ----- main/src/test/resources/old-format/15.sbt.txt | 18 -- main/src/test/resources/old-format/16.sbt.txt | 141 --------------- main/src/test/resources/old-format/17.sbt.txt | 52 ------ main/src/test/resources/old-format/18.sbt.txt | 93 ---------- main/src/test/resources/old-format/19.sbt.txt | 2 - main/src/test/resources/old-format/2.sbt.txt | 39 ----- main/src/test/resources/old-format/20.sbt.txt | 18 -- main/src/test/resources/old-format/21.sbt.txt | 5 - main/src/test/resources/old-format/22.sbt.txt | 71 -------- main/src/test/resources/old-format/23.sbt.txt | 7 - main/src/test/resources/old-format/3.sbt.txt | 51 ------ main/src/test/resources/old-format/4.sbt.txt | 74 -------- main/src/test/resources/old-format/5.sbt.txt | 41 ----- main/src/test/resources/old-format/6.sbt.txt | 67 -------- main/src/test/resources/old-format/7.sbt.txt | 160 ------------------ main/src/test/resources/old-format/8.sbt.txt | 55 ------ main/src/test/resources/old-format/9.sbt.txt | 40 ----- .../EvaluateConfigurationsOriginal.scala | 19 --- .../parser/SplitExpressionsBehavior.scala | 49 ------ .../parser/SplitExpressionsFilesTest.scala | 154 ----------------- .../parser/SplitExpressionsTest.scala | 6 +- 29 files changed, 5 insertions(+), 1570 deletions(-) delete mode 100644 main/src/test/resources/fail-format/.gitignore delete mode 100644 main/src/test/resources/old-format/1.sbt.txt delete mode 100644 main/src/test/resources/old-format/10.sbt.txt delete mode 100644 main/src/test/resources/old-format/11.sbt.txt delete mode 100644 main/src/test/resources/old-format/12.sbt.txt delete mode 100644 main/src/test/resources/old-format/13.sbt.txt delete mode 100644 main/src/test/resources/old-format/14.sbt.txt delete mode 100644 main/src/test/resources/old-format/15.sbt.txt delete mode 100644 main/src/test/resources/old-format/16.sbt.txt delete mode 100644 main/src/test/resources/old-format/17.sbt.txt delete mode 100644 main/src/test/resources/old-format/18.sbt.txt delete mode 100644 main/src/test/resources/old-format/19.sbt.txt delete mode 100644 main/src/test/resources/old-format/2.sbt.txt delete mode 100644 main/src/test/resources/old-format/20.sbt.txt delete mode 100644 main/src/test/resources/old-format/21.sbt.txt delete mode 100644 main/src/test/resources/old-format/22.sbt.txt delete mode 100644 main/src/test/resources/old-format/23.sbt.txt delete mode 100644 main/src/test/resources/old-format/3.sbt.txt delete mode 100644 main/src/test/resources/old-format/4.sbt.txt delete mode 100644 main/src/test/resources/old-format/5.sbt.txt delete mode 100644 main/src/test/resources/old-format/6.sbt.txt delete mode 100644 main/src/test/resources/old-format/7.sbt.txt delete mode 100644 main/src/test/resources/old-format/8.sbt.txt delete mode 100644 main/src/test/resources/old-format/9.sbt.txt delete mode 100644 main/src/test/scala/sbt/internal/parser/EvaluateConfigurationsOriginal.scala delete mode 100644 main/src/test/scala/sbt/internal/parser/SplitExpressionsFilesTest.scala diff --git a/main/src/main/scala/sbt/internal/EvaluateConfigurations.scala b/main/src/main/scala/sbt/internal/EvaluateConfigurations.scala index 3287662a1..da1a486c8 100644 --- a/main/src/main/scala/sbt/internal/EvaluateConfigurations.scala +++ b/main/src/main/scala/sbt/internal/EvaluateConfigurations.scala @@ -212,51 +212,17 @@ private[sbt] object EvaluateConfigurations { case _ => Nil } } - private[this] def isSpace = (c: Char) => Character isWhitespace c - private[this] def fstS(f: String => Boolean): ((String, Int)) => Boolean = { case (s, i) => f(s) } - private[this] def firstNonSpaceIs(lit: String) = (_: String).view.dropWhile(isSpace).startsWith(lit) - private[this] def or[A](a: A => Boolean, b: A => Boolean): A => Boolean = in => a(in) || b(in) - /** Configures the use of the old sbt parser. */ - private[sbt] def useOldParser: Boolean = - sys.props.get("sbt.parser.simple").exists(java.lang.Boolean.parseBoolean) /** * Splits a set of lines into (imports, expressions). That is, * anything on the right of the tuple is a scala expression (definition or setting). */ private[sbt] def splitExpressions(file: File, lines: Seq[String]): (Seq[(String, Int)], Seq[(String, LineRange)]) = { - if (useOldParser) splitExpressions(lines) - else { - val split = SbtParser(file, lines) - // TODO - Look at pulling the parsed expression trees from the SbtParser and stitch them back into a different - // scala compiler rather than re-parsing. - (split.imports, split.settings) - } - } - - def splitExpressions(lines: Seq[String]): (Seq[(String, Int)], Seq[(String, LineRange)]) = { - val blank = (_: String).forall(isSpace) - val isImport = firstNonSpaceIs("import ") - val comment = firstNonSpaceIs("//") - val blankOrComment = or(blank, comment) - val importOrBlank = fstS(or(blankOrComment, isImport)) - - val (imports, settings) = lines.zipWithIndex span importOrBlank - (imports filterNot fstS(blankOrComment), groupedLines(settings, blank, blankOrComment)) - } - def groupedLines(lines: Seq[(String, Int)], delimiter: String => Boolean, skipInitial: String => Boolean): Seq[(String, LineRange)] = - { - val fdelim = fstS(delimiter) - @tailrec def group0(lines: Seq[(String, Int)], accum: Seq[(String, LineRange)]): Seq[(String, LineRange)] = - if (lines.isEmpty) accum.reverse - else { - val start = lines dropWhile fstS(skipInitial) - val (next, tail) = start.span { case (s, _) => !delimiter(s) } - val grouped = if (next.isEmpty) accum else (next.map(_._1).mkString("\n"), LineRange(next.head._2, next.last._2 + 1)) +: accum - group0(tail, grouped) - } - group0(lines, Nil) + val split = SbtParser(file, lines) + // TODO - Look at pulling the parsed expression trees from the SbtParser and stitch them back into a different + // scala compiler rather than re-parsing. + (split.imports, split.settings) } private[this] def splitSettingsDefinitions(lines: Seq[(String, LineRange)]): (Seq[(String, LineRange)], Seq[(String, LineRange)]) = diff --git a/main/src/test/resources/fail-format/.gitignore b/main/src/test/resources/fail-format/.gitignore deleted file mode 100644 index f59ec20aa..000000000 --- a/main/src/test/resources/fail-format/.gitignore +++ /dev/null @@ -1 +0,0 @@ -* \ No newline at end of file diff --git a/main/src/test/resources/old-format/1.sbt.txt b/main/src/test/resources/old-format/1.sbt.txt deleted file mode 100644 index aa5bf9483..000000000 --- a/main/src/test/resources/old-format/1.sbt.txt +++ /dev/null @@ -1,66 +0,0 @@ -import SonatypeKeys._ - -xerial.sbt.Sonatype.sonatypeSettings - -organization := "me.benoitguigal" - -name := "twitter" - -version := "1.1-SNAPSHOT" - -scalaVersion := "2.10.2" - -resolvers += "spray repo" at "http://repo.spray.io" - -libraryDependencies ++= { - val sprayV = "1.2.1" - Seq( - "com.typesafe.akka" %% "akka-actor" % "2.2.3", - "joda-time" % "joda-time" % "2.3", - "org.joda" % "joda-convert" % "1.2", - "io.spray" % "spray-http" % sprayV, - "io.spray" % "spray-httpx" % sprayV, - "io.spray" % "spray-util" % sprayV, - "io.spray" % "spray-client" % sprayV, - "io.spray" % "spray-can" % sprayV, - "com.netflix.rxjava" % "rxjava-scala" % "0.19.6", - "io.spray" %% "spray-json" % "1.2.6", - "org.scalatest" % "scalatest_2.10" % "2.1.3" % "test", - "org.mockito" % "mockito-core" % "1.9.5" % "test") -} - -publishMavenStyle := true - -publishTo := { - val nexus = "https://oss.sonatype.org/" - if (isSnapshot.value) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") -} - -pomIncludeRepository := { _ => false } - -pomExtra := ( - https://github.com/benoitguigal/twitter-spray - - - BSD-style - http://www.opensource.org/licenses/bsd-license.php - repo - - - - git@github.com:benoitguigal/twitter-spray.git - scm:git:git@github.com:benoitguigal/twitter-spray.git - - - - BGuigal - Benoit Guigal - http://benoitguigal.me - - - ) - - diff --git a/main/src/test/resources/old-format/10.sbt.txt b/main/src/test/resources/old-format/10.sbt.txt deleted file mode 100644 index 38ef793e2..000000000 --- a/main/src/test/resources/old-format/10.sbt.txt +++ /dev/null @@ -1,81 +0,0 @@ - -////////////////////////////////////// -// Root project settings -////////////////////////////////////// - -name := Common.PROJECT_NAME - -unidocSettings - -Common.commonSettings - -////////////////////////////////////// -// Subproject definitions -////////////////////////////////////// - -lazy val core = Common.subproject("core").dependsOn(util) - -lazy val util = Common.subproject("util") - -////////////////////////////////////// -// Common settings shared by all projects -////////////////////////////////////// - -version in ThisBuild := Common.PROJECT_VERSION - -organization in ThisBuild := Common.ORGANIZATION - -scalaVersion in ThisBuild := Common.SCALA_VERSION - -libraryDependencies in ThisBuild ++= Seq( - "org.scala-lang" % "scala-reflect" % Common.SCALA_VERSION, - "org.slf4j" % "slf4j-api" % Common.SLF4J_VERSION, - "ch.qos.logback" % "logback-classic" % Common.LOGBACK_VERSION % "runtime", - "org.scalatest" %% "scalatest" % Common.SCALATEST_VERSION % "test" - ) - -scalacOptions in (ThisBuild, Compile) ++= Seq( - "-unchecked", - "-deprecation", - "-feature" - ) - -parallelExecution in (ThisBuild, Test) := false - -fork in (ThisBuild, Test) := true - -////////////////////////////////////// -// Publishing settings -////////////////////////////////////// - -publishMavenStyle in (ThisBuild) := true - -pomIncludeRepository in (ThisBuild) := { _ => false } - -licenses in (ThisBuild) := Seq( - "BSD-style" -> url("http://opensource.org/licenses/BSD-2-Clause") - ) - -homepage in (ThisBuild) := Some(url("http://genslerappspod.github.io/scalavro/")) - -pomExtra in (ThisBuild) := ( - - git@github.com:GenslerAppsPod/scalavro.git - scm:git:git@github.com:GenslerAppsPod/scalavro.git - - - - ConnorDoyle - Connor Doyle - http://gensler.com - - - ) - -publishTo in (ThisBuild) <<= version { (v: String) => - val nexus = "https://oss.sonatype.org/" - if (v.trim.endsWith("SNAPSHOT")) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") - } diff --git a/main/src/test/resources/old-format/11.sbt.txt b/main/src/test/resources/old-format/11.sbt.txt deleted file mode 100644 index a76615a42..000000000 --- a/main/src/test/resources/old-format/11.sbt.txt +++ /dev/null @@ -1,52 +0,0 @@ -name := "core" - -resolvers += "spray repo" at "http://repo.spray.io" - -libraryDependencies ++= Seq( - "com.github.scala-incubator.io" %% "scala-io-core" % "0.4.2", - "com.github.scala-incubator.io" %% "scala-io-file" % "0.4.2", - "com.typesafe.akka" %% "akka-actor" % "2.2.4", - "com.typesafe.akka" %% "akka-slf4j" % "2.2.4", - "com.typesafe.scala-logging" %% "scala-logging-slf4j" % "2.1.2", - "io.spray" % "spray-client" % "1.2.1", - "jline" % "jline" % "2.12", - "org.apache.curator" % "curator-recipes" % "2.4.2", - "org.apache.zookeeper" % "zookeeper" % "3.4.6", - "org.fusesource" % "sigar" % "1.6.4" classifier "native" classifier "", - "org.mozilla" % "rhino" % "1.7R4", - "org.reactivemongo" %% "play2-reactivemongo" % "0.10.2", - "org.reactivemongo" %% "reactivemongo" % "0.10.0", - "org.scalaz" %% "scalaz-core" % "7.0.6" -).map(_.exclude("org.slf4j", "slf4j-log4j12")) - -val copyNativeLibraries = taskKey[Set[File]]("Copy native libraries to native libraries directory") - -copyNativeLibraries := { - val cp = (managedClasspath in Runtime).value - // FIXME: Currently, only sigar has a native library. - // Extract this as a setting when more native libraries are added. - val nativeJarFile = cp.map(_.data).find(_.getName == "sigar-1.6.4-native.jar").get - val nativeLibrariesDirectory = target.value / "native_libraries" / (System.getProperty("sun.arch.data.model") + "bits") - IO.unzip(nativeJarFile, nativeLibrariesDirectory) -} - -run <<= (run in Runtime) dependsOn copyNativeLibraries - -(test in Test) <<= (test in Test) dependsOn copyNativeLibraries - -val toolsJar = if (System.getProperty("os.name") != "Mac OS X") { - Seq(Attributed.blank(file(System.getProperty("java.home").dropRight(3) + "lib/tools.jar"))) -} else { - Nil -} - -// adding the tools.jar to the unmanaged-jars seq -unmanagedJars in Compile ~= (toolsJar ++ _) - -lazy val root = (project in file(".")).enablePlugins(PlayScala) - -org.scalastyle.sbt.ScalastylePlugin.Settings - -scalariformSettings - -Common.settings diff --git a/main/src/test/resources/old-format/12.sbt.txt b/main/src/test/resources/old-format/12.sbt.txt deleted file mode 100644 index eb3d1c1c4..000000000 --- a/main/src/test/resources/old-format/12.sbt.txt +++ /dev/null @@ -1,55 +0,0 @@ -name := "play-recaptcha" - -description := "Google reCAPTCHA integration for Play Framework" - -organization := "com.nappin" - -version := "0.9-SNAPSHOT" - -lazy val root = (project in file(".")).enablePlugins(PlayScala) - -crossScalaVersions := Seq("2.10.4", "2.11.1") - -libraryDependencies ++= Seq( - ws, - "org.mockito" % "mockito-core" % "1.+" % "test" -) - -// needed to publish to maven central -publishMavenStyle := true - -publishTo := { - val nexus = "https://oss.sonatype.org/" - if (isSnapshot.value) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") -} - -publishArtifact in Test := false - -pomIncludeRepository := { _ => false } - -pomExtra := ( - http://chrisnappin.github.io/play-recaptcha - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - scm:git:git@github.com:chrisnappin/play-recaptcha.git - scm:git:git@github.com:chrisnappin/play-recaptcha.git - git@github.com:chrisnappin/play-recaptcha.git - - - - chrisnappin - Chris Nappin - chris@nappin.com - UTC - - ) - \ No newline at end of file diff --git a/main/src/test/resources/old-format/13.sbt.txt b/main/src/test/resources/old-format/13.sbt.txt deleted file mode 100644 index 12586ccb9..000000000 --- a/main/src/test/resources/old-format/13.sbt.txt +++ /dev/null @@ -1,75 +0,0 @@ -name := """FTL""" - -version := "1.0-SNAPSHOT" - -lazy val root = (project in file(".")).enablePlugins(PlayScala) - -scalaVersion := "2.11.1" - -resolvers += "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/" - -libraryDependencies ++= Seq( - jdbc, - anorm, - cache, - ws, - filters, - "org.webjars" % "bootstrap" % "3.0.2", - "com.typesafe.play.plugins" %% "play-plugins-util" % "2.3.0", - "com.typesafe.play.plugins" %% "play-plugins-mailer" % "2.3.0", - "org.mindrot" % "jbcrypt" % "0.3m", - "org.specs2" %% "specs2" % "2.3.12" % "test", - "org.mockito" % "mockito-all" % "1.9.5" % "test", - "org.reactivemongo" %% "play2-reactivemongo" % "0.11.0-SNAPSHOT", - "org.reactivemongo" %% "reactivemongo" % "0.11.0-SNAPSHOT" -) - -resolvers ++= Seq( - Resolver.typesafeRepo("releases") -) - -organization := "ws.securesocial" - -organizationName := "SecureSocial" - -organizationHomepage := Some(new URL("http://www.securesocial.ws")) - -publishMavenStyle := true - -publishArtifact in Test := false - -pomIncludeRepository := { _ => false } - -publishTo := { - val nexus = "https://oss.sonatype.org/" - if (version.value.trim.endsWith("SNAPSHOT")) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") -} - -startYear := Some(2012) - -description := "An authentication module for Play Framework applications supporting OAuth, OAuth2, OpenID, Username/Password and custom authentication schemes." - -licenses := Seq("The Apache Software License, Version 2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")) - -homepage := Some(url("http://www.securesocial.ws")) - -pomExtra := ( - - https://github.com/jaliss/securesocial - scm:git:git@github.com:jaliss/securesocial.git - scm:git:https://github.com/jaliss/securesocial.git - - - - jaliss - Jorge Aliss - jaliss [at] gmail.com - https://twitter.com/jaliss - - -) - -scalacOptions := Seq("-feature", "-deprecation") diff --git a/main/src/test/resources/old-format/14.sbt.txt b/main/src/test/resources/old-format/14.sbt.txt deleted file mode 100644 index 63c7182a0..000000000 --- a/main/src/test/resources/old-format/14.sbt.txt +++ /dev/null @@ -1,41 +0,0 @@ -name := "cms" - -organization := "org.qirx" - -scalaVersion := "2.11.1" - -resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/" - -libraryDependencies ++= Seq( - "com.typesafe.play" %% "play" % "2.3.0", - "com.typesafe.play" %% "play-test" % "2.3.0", - "com.typesafe.play" %% "play-json" % "2.3.0", - "org.qirx" %% "little-spec" % "0.4-SNAPSHOT" % "test", - "org.qirx" %% "little-spec-extra-documentation" % "0.4-SNAPSHOT" % "test" -) - -unmanagedSourceDirectories in Compile := Seq((scalaSource in Compile).value) - -unmanagedSourceDirectories in Test := Seq((scalaSource in Test).value) - -testFrameworks += new TestFramework("org.qirx.littlespec.sbt.TestFramework") - -val x = taskKey[Unit /* Geef niets terug */]("test") - -x := { - val cacheDir = (streams in x).value.cacheDirectory / "unzipped" - val dependencies = (externalDependencyClasspath in Compile).value - val possibleJar = dependencies - .map(a => a.data) - .filter(f => f.getName contains "play-json") - .headOption - possibleJar match { - case Some(file) => - val unzippedFiles = IO.unzip(from = file, toDirectory = cacheDir) - // use flatmap because relativize returns an option, which can be flattened - val names = unzippedFiles.flatMap(file => IO.relativize(base = cacheDir, file)) - println(s"Unzipped the following files in `$cacheDir`") - names.foreach(println) - case None => sys.error("Could not find jar") - } -} diff --git a/main/src/test/resources/old-format/15.sbt.txt b/main/src/test/resources/old-format/15.sbt.txt deleted file mode 100644 index fc7f76e75..000000000 --- a/main/src/test/resources/old-format/15.sbt.txt +++ /dev/null @@ -1,18 +0,0 @@ - -name := "play-html-compressor" - -scalaVersion := "2.11.1" - -val pom = - git@github.com:mohiva/play-html-compressor.git - scm:git:git@github.com:mohiva/play-html-compressor.git - - - - akkie - Christian Kaps - http://mohiva.com - - - -publishMavenStyle := true diff --git a/main/src/test/resources/old-format/16.sbt.txt b/main/src/test/resources/old-format/16.sbt.txt deleted file mode 100644 index 123e05ab4..000000000 --- a/main/src/test/resources/old-format/16.sbt.txt +++ /dev/null @@ -1,141 +0,0 @@ -import sbt._ -import AssemblyKeys._ -import aether.Aether._ - -name := "conjecture" - -version := "0.1.2-SNAPSHOT" - -organization := "com.etsy" - -scalaVersion := "2.9.3" - -sbtVersion := "0.12.1" - -scalacOptions ++= Seq("-unchecked", "-deprecation") - -compileOrder := CompileOrder.JavaThenScala - -javaHome := Some(file("/usr/java/latest")) - -publishArtifact in packageDoc := false - -resolvers ++= { - Seq( - "Concurrent Maven Repo" at "http://conjars.org/repo", - "cloudera" at "https://repository.cloudera.com/artifactory/cloudera-repos/" - ) -} - -libraryDependencies += "cascading" % "cascading-core" % "2.0.0" - -libraryDependencies += "cascading" % "cascading-local" % "2.0.0" exclude("com.google.guava", "guava") - -libraryDependencies += "cascading" % "cascading-hadoop" % "2.0.0" - -libraryDependencies += "cascading.kryo" % "cascading.kryo" % "0.4.6" - -libraryDependencies += "com.google.code.gson" % "gson" % "2.2.2" - -libraryDependencies += "com.twitter" % "maple" % "0.2.4" - -libraryDependencies += "com.twitter" % "algebird-core_2.9.2" % "0.1.12" - -libraryDependencies += "com.twitter" % "scalding-core_2.9.2" % "0.8.5" - -libraryDependencies += "commons-lang" % "commons-lang" % "2.4" - -libraryDependencies += "com.joestelmach" % "natty" % "0.7" - -libraryDependencies += "io.backchat.jerkson" % "jerkson_2.9.2" % "0.7.0" - -libraryDependencies += "com.google.guava" % "guava" % "13.0.1" - -libraryDependencies += "org.apache.commons" % "commons-math3" % "3.2" - -libraryDependencies += "org.apache.hadoop" % "hadoop-common" % "2.0.0-cdh4.1.1" exclude("commons-daemon", "commons-daemon") - -libraryDependencies += "org.apache.hadoop" % "hadoop-hdfs" % "2.0.0-cdh4.1.1" exclude("commons-daemon", "commons-daemon") - -libraryDependencies += "org.apache.hadoop" % "hadoop-tools" % "2.0.0-mr1-cdh4.1.1" exclude("commons-daemon", "commons-daemon") - -libraryDependencies += "net.sf.trove4j" % "trove4j" % "3.0.3" - -libraryDependencies += "com.esotericsoftware.kryo" % "kryo" % "2.21" - -libraryDependencies += "com.novocode" % "junit-interface" % "0.10" % "test" - -parallelExecution in Test := false - -publishArtifact in Test := false - -seq(assemblySettings: _*) - -publishTo <<= version { v : String => - val nexus = "https://oss.sonatype.org/" - if (v.trim.endsWith("SNAPSHOT")) { - Some("snapshots" at nexus + "content/repositories/snapshots") - } else { - Some("releases" at nexus + "service/local/staging/deploy/maven2") - } -} - -publishMavenStyle := true - -pomIncludeRepository := { x => false } - -pomExtra := ( - https://github.com/etsy/Conjecture - - - MIT License - http://opensource.org/licenses/MIT - repo - - - - git@github.com:etsy/Conjecture.git - scm:git:git@github.com:etsy/Conjecture.git - - - - jattenberg - Josh Attenberg - github.com/jattenberg - - - rjhall - Rob Hall - github.com/rjhall - - -) - - -credentials += Credentials(Path.userHome / ".sbt" / ".credentials") - - -seq(aetherPublishSettings: _*) - -pomIncludeRepository := { _ => false } - -// Uncomment if you don't want to run all the tests before building assembly -// test in assembly := {} - -// Janino includes a broken signature, and is not needed: -excludedJars in assembly <<= (fullClasspath in assembly) map { cp => - val excludes = Set("jsp-api-2.1-6.1.14.jar", "jsp-2.1-6.1.14.jar", - "jasper-compiler-5.5.12.jar", "janino-2.5.16.jar") - cp filter { jar => excludes(jar.data.getName)} -} - -// Some of these files have duplicates, let's ignore: -mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) => - { - case s if s.endsWith(".class") => MergeStrategy.last - case s if s.endsWith("project.clj") => MergeStrategy.concat - case s if s.endsWith(".html") => MergeStrategy.last - case s if s.contains("servlet") => MergeStrategy.last - case x => old(x) - } -} diff --git a/main/src/test/resources/old-format/17.sbt.txt b/main/src/test/resources/old-format/17.sbt.txt deleted file mode 100644 index 1ade452a0..000000000 --- a/main/src/test/resources/old-format/17.sbt.txt +++ /dev/null @@ -1,52 +0,0 @@ -name := "Programming Scala, Second Edition: Code examples" - -version := "2.0" - -organization := "org.programming-scala" - -scalaVersion := "2.11.2" - -// Build against several versions of Scala -crossScalaVersions := Seq("2.11.2", "2.10.4") - -// Scala 2.11 split the standard library into smaller components. -// The XML and parser combinator support are now separate jars. -// I use the if condition to conditionally add these extra dependencies. -libraryDependencies ++= Seq( - "com.typesafe.akka" %% "akka-actor" % "2.3.3", - "org.scalaz" %% "scalaz-core" % "7.0.6", - "org.scalacheck" %% "scalacheck" % "1.11.4" % "test", - "org.scalatest" %% "scalatest" % "2.2.0" % "test", - "org.specs2" %% "specs2" % "2.3.12" % "test", - // JUnit is used for some Java interop. examples. A driver for JUnit: - "junit" % "junit-dep" % "4.10" % "test", - "com.novocode" % "junit-interface" % "0.10" % "test" -) ++ ( - if (scalaVersion.value startsWith "2.11") - Seq( - // Could use this to get everything: - // "org.scala-lang.modules" %% "scala-library-all" % "2.11.1") - "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.1", - "org.scala-lang.modules" %% "scala-xml" % "1.0.2") - else Seq.empty) - -val commonOptions = Seq( - "-encoding", "UTF-8", "-optimise", - "-deprecation", "-unchecked", "-feature", "-Xlint") -// "-explaintypes" - Use when you need more detailed messages for type errors. -// "-Yinline-warnings" - Warns if constructs have the @inline annotation, but -// inlining isn't possible. Can be more annoying than useful most of the time, -// but consider using it for performance critical code. - -// Options passed to the Scala and Java compilers: -scalacOptions <<= scalaVersion map { version: String => - if (version.startsWith("2.10")) commonOptions - else commonOptions ++ Seq("-Ywarn-infer-any") // Warn if "Any" is inferred -} - -javacOptions ++= Seq( - "-Xlint:unchecked", "-Xlint:deprecation") // Java 8: "-Xdiags:verbose") - -// Enable improved incremental compilation feature in 2.11.X. -// see http://www.scala-lang.org/news/2.11.1 -incOptions := incOptions.value.withNameHashing(true) diff --git a/main/src/test/resources/old-format/18.sbt.txt b/main/src/test/resources/old-format/18.sbt.txt deleted file mode 100644 index 9138c29c0..000000000 --- a/main/src/test/resources/old-format/18.sbt.txt +++ /dev/null @@ -1,93 +0,0 @@ -// -// Copyright (c) 2013-2014 Alexey Aksenov ezh@ezh.msk.ru -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -ScriptedPlugin.scriptedSettings - -name := "sbt-osgi-manager" - -description := "OSGi development bridge based on Bndtools and Tycho." - -licenses := Seq("The Apache Software License, Version 2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")) - -organization := "org.digimead" - -organizationHomepage := Some(url("http://digimead.org")) - -homepage := Some(url("https://github.com/digimead/sbt-osgi-manager")) - -version <<= (baseDirectory) { (b) => scala.io.Source.fromFile(b / "version").mkString.trim } - -// There is no "-Xfatal-warnings" because we have cross compilation against different Scala versions -scalacOptions ++= Seq("-encoding", "UTF-8", "-unchecked", "-deprecation", "-Xcheckinit") - -// http://vanillajava.blogspot.ru/2012/02/using-java-7-to-target-much-older-jvms.html -javacOptions ++= Seq("-Xlint:unchecked", "-Xlint:deprecation", "-source", "1.6", "-target", "1.6") - -javacOptions in doc := Seq("-source", "1.6") - -if (sys.env.contains("XBOOTCLASSPATH")) Seq(javacOptions += "-Xbootclasspath:" + sys.env("XBOOTCLASSPATH")) else Seq() - -sbtPlugin := true - -resourceGenerators in Compile <+= - (resourceManaged in Compile, name, version) map { (dir, n, v) => - val file = dir / "version-%s.properties".format(n) - val contents = "name=%s\nversion=%s\nbuild=%s\n".format(n, v, ((System.currentTimeMillis / 1000).toInt).toString) - IO.write(file, contents) - Seq(file) - } - -libraryDependencies ++= { - val mavenVersion = "3.0" // based on Tycho, MUST be the same - val mavenWagonVersion = "2.4" - val tychoVersion = "0.18.0" - val aetherAPIVersion = "1.7" // based on Tycho, MUST be the same - Seq( - "biz.aQute.bnd" % "bndlib" % "2.1.0", - "org.apache.felix" % "org.apache.felix.resolver" % "1.0.0", - "org.apache.maven" % "maven-aether-provider" % mavenVersion, - "org.apache.maven" % "maven-artifact" % mavenVersion, - "org.apache.maven" % "maven-compat" % mavenVersion, - "org.apache.maven" % "maven-core" % mavenVersion, - "org.apache.maven" % "maven-plugin-api" % mavenVersion, - "org.apache.maven" % "maven-embedder" % mavenVersion, // provide org.apache.maven.cli.MavenCli - "org.apache.maven.wagon" % "wagon-http" % mavenWagonVersion, // HTTP connector for remore repositories - "org.apache.maven.wagon" % "wagon-file" % mavenWagonVersion, // File connector for local repositories - "org.eclipse.tycho" % "tycho-core" % tychoVersion, - "org.eclipse.tycho" % "tycho-p2-facade" % tychoVersion, - "org.osgi" % "org.osgi.core" % "5.0.0", - "org.osgi" % "org.osgi.enterprise" % "5.0.0", - "org.sonatype.aether" % "aether-connector-wagon" % aetherAPIVersion - ) -} - -scriptedBufferLog := false - -resolvers ++= Seq( - "sbt-osgi-mananger-digimead-maven" at "http://storage.googleapis.com/maven.repository.digimead.org/", - Resolver.url("sbt-osgi-manager-typesafe-ivy-releases", url("http://repo.typesafe.com/typesafe/ivy-releases/"))(Resolver.defaultIvyPatterns), - Resolver.url("sbt-osgi-manager-typesafe-ivy-snapshots", url("http://repo.typesafe.com/typesafe/ivy-snapshots/"))(Resolver.defaultIvyPatterns), - Resolver.url("sbt-osgi-manager-typesafe-repository", url("http://repo.typesafe.com/typesafe/ivy-releases/"))(Resolver.defaultIvyPatterns), - Resolver.url("sbt-osgi-manager-typesafe-shapshots", url("http://repo.typesafe.com/typesafe/ivy-snapshots/"))(Resolver.defaultIvyPatterns)) - -sourceGenerators in Compile <+= (sbtVersion, sourceDirectory in Compile, sourceManaged in Compile) map { (v, sourceDirectory, sourceManaged) => - val interface = v.split("""\.""").take(2).mkString(".") - val source = sourceDirectory / ".." / "patch" / interface - val generated = (PathFinder(source) ***) x Path.rebase(source, sourceManaged) - IO.copy(generated, true, false) - generated.map(_._2).filter(_.getName endsWith ".scala") -} - -//logLevel := Level.Debug diff --git a/main/src/test/resources/old-format/19.sbt.txt b/main/src/test/resources/old-format/19.sbt.txt deleted file mode 100644 index 700cdfcd0..000000000 --- a/main/src/test/resources/old-format/19.sbt.txt +++ /dev/null @@ -1,2 +0,0 @@ -//import sbt._ -// val a = 3 \ No newline at end of file diff --git a/main/src/test/resources/old-format/2.sbt.txt b/main/src/test/resources/old-format/2.sbt.txt deleted file mode 100644 index 9ac625267..000000000 --- a/main/src/test/resources/old-format/2.sbt.txt +++ /dev/null @@ -1,39 +0,0 @@ -import AssemblyKeys._ - -name := "s3_website" - -version := "0.0.1" - -scalaVersion := "2.11.2" - -scalacOptions += "-feature" - -scalacOptions += "-language:implicitConversions" - -scalacOptions += "-language:postfixOps" - -scalacOptions += "-target:jvm-1.6" - -libraryDependencies += "org.yaml" % "snakeyaml" % "1.13" - -libraryDependencies += "org.jruby" % "jruby" % "1.7.11" - -libraryDependencies += "com.amazonaws" % "aws-java-sdk" % "1.7.7" - -libraryDependencies += "log4j" % "log4j" % "1.2.17" - -libraryDependencies += "commons-codec" % "commons-codec" % "1.9" - -libraryDependencies += "commons-io" % "commons-io" % "2.4" - -libraryDependencies += "org.apache.tika" % "tika-core" % "1.4" - -libraryDependencies += "com.lexicalscope.jewelcli" % "jewelcli" % "0.8.9" - -libraryDependencies += "org.specs2" %% "specs2" % "2.3.11" % "test" - -resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots" - -jarName in assembly := "s3_website.jar" - -test in assembly := {} diff --git a/main/src/test/resources/old-format/20.sbt.txt b/main/src/test/resources/old-format/20.sbt.txt deleted file mode 100644 index 33a460719..000000000 --- a/main/src/test/resources/old-format/20.sbt.txt +++ /dev/null @@ -1,18 +0,0 @@ - -/* */ -/** Project */ -name := "signal-collect-yarn" -/* */ - -/* -AAA -*/ -val a = 3 -// OK - -libraryDependencies ++= Seq("org.scala-lang" % "scala-compiler" % "2.10.4") map { - (dependency) =>{ - dependency - } /* OK */ -} - diff --git a/main/src/test/resources/old-format/21.sbt.txt b/main/src/test/resources/old-format/21.sbt.txt deleted file mode 100644 index 064e513f8..000000000 --- a/main/src/test/resources/old-format/21.sbt.txt +++ /dev/null @@ -1,5 +0,0 @@ -val x = bar - -{ - val a,b = project -} diff --git a/main/src/test/resources/old-format/22.sbt.txt b/main/src/test/resources/old-format/22.sbt.txt deleted file mode 100644 index 4b6e131ae..000000000 --- a/main/src/test/resources/old-format/22.sbt.txt +++ /dev/null @@ -1,71 +0,0 @@ -name := "scala-stm" - -organization := "org.scala-stm" - -version := "0.8-SNAPSHOT" - -scalaVersion := "2.11.2" - -crossScalaVersions := Seq("2.11.2", "2.10.4", "2.9.3") - -libraryDependencies += ("org.scalatest" %% "scalatest" % "[1.5,)" % "test") - -libraryDependencies += ("junit" % "junit" % "4.5" % "test") - -// skip exhaustive tests -testOptions += Tests.Argument("-l", "slow") - -// test of TxnExecutor.transformDefault must be run by itself -parallelExecution in Test := false - -//////////////////// -// publishing - -pomExtra := - http://nbronson.github.com/scala-stm/ - - - BSD - https://github.com/nbronson/scala-stm/blob/master/LICENSE.txt - repo - - - - scm:git:git@github.com:nbronson/scala-stm.git - git@github.com:nbronson/scala-stm.git - - - - nbronson - Nathan Bronson - ngbronson@gmail.com - - - -publishMavenStyle := true - -publishTo <<= (version) { v: String => - val base = "https://oss.sonatype.org/" - if (v.trim.endsWith("SNAPSHOT")) - Some("snapshots" at base + "content/repositories/snapshots/") - else - Some("releases" at base + "service/local/staging/deploy/maven2/") - } - -// exclude scalatest from the Maven POM -pomPostProcess := { xi: scala.xml.Node => - import scala.xml._ - val badDeps = (xi \\ "dependency") filter { - x => (x \ "artifactId").text != "scala-library" - } toSet - def filt(root: Node): Node = root match { - case x: Elem => { - val ch = x.child filter { !badDeps(_) } map { filt(_) } - Elem(x.prefix, x.label, x.attributes, x.scope, ch: _*) - } - case x => x - } - filt(xi) - } - -credentials += Credentials(Path.userHome / ".ivy2" / ".credentials") diff --git a/main/src/test/resources/old-format/23.sbt.txt b/main/src/test/resources/old-format/23.sbt.txt deleted file mode 100644 index 0bdd2de41..000000000 --- a/main/src/test/resources/old-format/23.sbt.txt +++ /dev/null @@ -1,7 +0,0 @@ -import sbt._, Keys._,java.util._ -import a._ -import c._ -import d._ -import g._,h._ - -scalaVersion := "2.11.4" \ No newline at end of file diff --git a/main/src/test/resources/old-format/3.sbt.txt b/main/src/test/resources/old-format/3.sbt.txt deleted file mode 100644 index 3775200ff..000000000 --- a/main/src/test/resources/old-format/3.sbt.txt +++ /dev/null @@ -1,51 +0,0 @@ -parallelExecution in Global := false - -val commonSettings = Seq( - organization := "com.github.germanosin", - version := "1.0", - javacOptions in Compile ++= Seq("-source", "1.6", "-target", "1.6"), - scalaVersion := "2.11.1" -) - -lazy val foldermessages = project.settings(commonSettings: _*) - .settings( - name := "play-foldermessages", - crossScalaVersions := Seq("2.10.4", "2.11.1"), - libraryDependencies += "com.typesafe.play" %% "play" % "2.3.2", - resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/", - publishMavenStyle := true, - publishTo := { - val nexus = "https://oss.sonatype.org" - if (isSnapshot.value) Some("snapshots" at s"$nexus/content/repositories/snapshots") - else Some("releases" at s"$nexus/service/local/staging/deploy/maven2") - }, - pomExtra := ( - http://github.com/germanosin/play-foldermessages - - - MIT License - http://opensource.org/licenses/mit-license.php - - - - git@github.com:germanosin/play-foldermessages.git - scm:git:git@github.com:germanosin/play-foldermessages.git - - - - germanosin - German Osin - - - ), - useGpg := true - ) - -lazy val sampleApp = Project("sample-app", file("sample-app")) - .settings(commonSettings: _*) - .enablePlugins(PlayScala) - .dependsOn(foldermessages) - -lazy val playFolderMessages = project.in(file(".")) - .settings(commonSettings: _*) - .aggregate(foldermessages,sampleApp) \ No newline at end of file diff --git a/main/src/test/resources/old-format/4.sbt.txt b/main/src/test/resources/old-format/4.sbt.txt deleted file mode 100644 index b3cae41bd..000000000 --- a/main/src/test/resources/old-format/4.sbt.txt +++ /dev/null @@ -1,74 +0,0 @@ -import AssemblyKeys._ -assemblySettings - -/** Project */ -name := "signal-collect-yarn" - -version := "1.0-SNAPSHOT" - -organization := "com.signalcollect" - -scalaVersion := "2.11.1" - -val hadoopVersion = "2.3.0" - -net.virtualvoid.sbt.graph.Plugin.graphSettings - -scalacOptions ++= Seq("-optimize", "-Yinline-warnings", "-feature", "-deprecation", "-Xelide-below", "INFO" ) - -EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource - -EclipseKeys.withSource := true - -parallelExecution in Test := false - -test in assembly := {} - -mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) => - { - case PathList("org", "apache", "hadoop", xs @ _*) => MergeStrategy.last - case PathList("org", "apache", "commons", "collections", xs @ _*) => MergeStrategy.last - case PathList("org", "objectweb", "asm", xs @ _*) => MergeStrategy.last - case PathList("com", "thoughtworks", xs @ _*) => MergeStrategy.last - case PathList("META-INF", "maven", xs @ _*) => MergeStrategy.last - case PathList("log4j.properties") => MergeStrategy.last - case x => old(x) - } -} - -excludedJars in assembly <<= (fullClasspath in assembly) map { cp => - cp filter { entry => - (entry.data.getName == "asm-3.2.jar" || - entry.data.getName == "asm-3.1.jar" - )} -} - -/** Dependencies */ -libraryDependencies ++= Seq( - "org.scala-lang.modules" %% "scala-async" % "0.9.1", - "org.scala-lang" % "scala-library" % "2.11.1" % "compile", - ("org.apache.hadoop" % "hadoop-common" % hadoopVersion % "compile"). - exclude("commons-beanutils", "commons-beanutils-core"), - "org.apache.hadoop" % "hadoop-yarn-common" % hadoopVersion % "compile", - ("org.apache.hadoop" % "hadoop-yarn-client" % hadoopVersion % "compile"). - exclude("hadoop-yarn-api", "org.apache.hadoop"), - "org.apache.hadoop" % "hadoop-yarn-server-resourcemanager" % hadoopVersion % "compile", - "org.apache.hadoop" % "hadoop-yarn-server-nodemanager" % hadoopVersion % "compile", - "org.apache.hadoop" % "minicluster" % "2.2.0" , - "org.apache.hadoop" % "hadoop-hdfs" % hadoopVersion, - "com.github.romix.akka" %% "akka-kryo-serialization-custom" % "0.3.5" % "compile", - "com.amazonaws" % "aws-java-sdk" % "1.7.12" % "compile", - "com.jcraft" % "jsch" % "0.1.51" % "compile", - "org.apache.commons" % "commons-compress" % "1.5" % "compile", - "log4j" % "log4j" % "1.2.17" % "compile", - "com.typesafe.scala-logging" %% "scala-logging-slf4j" % "2.1.2", - "com.typesafe.akka" % "akka-slf4j_2.11" % "2.3.4", - "junit" % "junit" % "4.8.2" % "test", - "org.specs2" %% "specs2" % "2.3.11" % "test", - "org.scalacheck" %% "scalacheck" % "1.11.3" % "test", - "org.scalatest" %% "scalatest" % "2.1.3" % "test", - "org.easymock" % "easymock" % "3.2" % "test", - "com.typesafe.akka" %% "akka-remote" % "2.3.4" force() -) - -resolvers += "Ifi Public" at "https://maven.ifi.uzh.ch/maven2/content/groups/public/" diff --git a/main/src/test/resources/old-format/5.sbt.txt b/main/src/test/resources/old-format/5.sbt.txt deleted file mode 100644 index 938093ca7..000000000 --- a/main/src/test/resources/old-format/5.sbt.txt +++ /dev/null @@ -1,41 +0,0 @@ -sbtPlugin := true - -name := "sbt-docker" - -organization := "se.marcuslonnberg" - -organizationHomepage := Some(url("https://github.com/marcuslonnberg")) - -version := "0.6.0-SNAPSHOT" - -libraryDependencies += "org.scalatest" %% "scalatest" % "2.1.0" % "test" - -licenses := Seq("MIT License" -> url("https://github.com/marcuslonnberg/sbt-docker/blob/master/LICENSE")) - -homepage := Some(url("https://github.com/marcuslonnberg/sbt-docker")) - -scmInfo := Some(ScmInfo(url("https://github.com/marcuslonnberg/sbt-docker"), "scm:git:git://github.com:marcuslonnberg/sbt-docker.git")) - -scalacOptions := Seq("-deprecation", "-unchecked", "-feature") - -publishMavenStyle := true - -publishTo := { - val nexus = "https://oss.sonatype.org/" - if (isSnapshot.value) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") -} - -pomIncludeRepository := { _ => false} - -pomExtra := ( - - - marcuslonnberg - Marcus Lönnberg - http://marcuslonnberg.se - - -) diff --git a/main/src/test/resources/old-format/6.sbt.txt b/main/src/test/resources/old-format/6.sbt.txt deleted file mode 100644 index b90ea4af2..000000000 --- a/main/src/test/resources/old-format/6.sbt.txt +++ /dev/null @@ -1,67 +0,0 @@ -organization := "com.sksamuel.akka" - -name := "akka-patterns" - -version := "0.11.0" - -scalaVersion := "2.11.2" - -crossScalaVersions := Seq("2.11.2", "2.10.4") - -scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8") - -javacOptions ++= Seq("-source", "1.6", "-target", "1.6") - -publishTo <<= version { - (v: String) => - val nexus = "https://oss.sonatype.org/" - if (v.trim.endsWith("SNAPSHOT")) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") -} - -publishMavenStyle := true - -publishArtifact in Test := false - -parallelExecution in Test := false - -credentials += Credentials(Path.userHome / ".ivy2" / ".credentials") - -libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.3" - -libraryDependencies += "com.typesafe.akka" %% "akka-testkit" % "2.3.3" - -libraryDependencies += "org.slf4j" % "slf4j-api" % "1.7.7" - -libraryDependencies += "org.slf4j" % "log4j-over-slf4j" % "1.7.7" % "test" - -libraryDependencies += "log4j" % "log4j" % "1.2.17" % "test" - -libraryDependencies += "commons-io" % "commons-io" % "2.4" - -libraryDependencies += "org.mockito" % "mockito-all" % "1.9.5" % "test" - -libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.0" % "test" - -pomExtra := ( - https://github.com/sksamuel/akka-patterns - - - Apache 2 - http://www.apache.org/licenses/LICENSE-2.0 - repo - - - - git@github.com:sksamuel/akka-patterns.git - scm:git@github.com:sksamuel/akka-patterns.git - - - - sksamuel - sksamuel - http://github.com/akka-patterns - - ) diff --git a/main/src/test/resources/old-format/7.sbt.txt b/main/src/test/resources/old-format/7.sbt.txt deleted file mode 100644 index 58165b827..000000000 --- a/main/src/test/resources/old-format/7.sbt.txt +++ /dev/null @@ -1,160 +0,0 @@ -name <<= submitProjectName(pname => "progfun-"+ pname) - -version := "1.0.0" - -scalaVersion := "2.10.2" - -scalacOptions ++= Seq("-deprecation", "-feature") - -libraryDependencies += "org.scalatest" %% "scalatest" % "1.9.1" % "test" - -libraryDependencies += "junit" % "junit" % "4.10" % "test" - -libraryDependencies += "org.scala-lang" % "scala-reflect" % "2.10.2" - -// This setting defines the project to which a solution is submitted. When creating a -// handout, the 'createHandout' task will make sure that its value is correct. -submitProjectName := "suggestions" - -libraryDependencies <++= (currentProject) { c => - if (c.isEmpty || c == "quickcheck") Seq( - "org.scalacheck" %% "scalacheck" % "1.10.1" - ) - else Seq.empty -} - -libraryDependencies <++= (currentProject) { c => - if (c.isEmpty || c == "nodescala" || c == "suggestions") Seq( - "com.netflix.rxjava" % "rxjava-scala" % "0.15.0", - "org.json4s" % "json4s-native_2.10" % "3.2.5", - "org.scala-lang" % "scala-swing" % "2.10.3", - "net.databinder.dispatch" % "dispatch-core_2.10" % "0.11.0", - "org.scala-lang" % "scala-reflect" % "2.10.3", - "org.slf4j" % "slf4j-api" % "1.7.5", - "org.slf4j" % "slf4j-simple" % "1.7.5", - "com.squareup.retrofit" % "retrofit" % "1.0.0", - "org.scala-lang.modules" %% "scala-async" % "0.9.0-M2" - ) - else Seq.empty -} - -libraryDependencies <++= (currentProject) { c => - if (c.isEmpty || c == "actorbintree") Seq( - "com.typesafe.akka" %% "akka-actor" % "2.2.3", - "com.typesafe.akka" %% "akka-testkit" % "2.2.3" - ) - else Seq.empty -} - -// See documentation in ProgFunBuild.scala -projectDetailsMap := { -val currentCourseId = "reactive-001" -Map( - "example" -> ProjectDetails( - packageName = "example", - assignmentPartId = "fTzFogNl", - maxScore = 10d, - styleScoreRatio = 0.2, - courseId=currentCourseId), - "recfun" -> ProjectDetails( - packageName = "recfun", - assignmentPartId = "3Rarn9Ki", - maxScore = 10d, - styleScoreRatio = 0.2, - courseId=currentCourseId), - "funsets" -> ProjectDetails( - packageName = "funsets", - assignmentPartId = "fBXOL6Rd", - maxScore = 10d, - styleScoreRatio = 0.2, - courseId=currentCourseId), - "objsets" -> ProjectDetails( - packageName = "objsets", - assignmentPartId = "05dMMEz7", - maxScore = 10d, - styleScoreRatio = 0.2, - courseId=currentCourseId), - "patmat" -> ProjectDetails( - packageName = "patmat", - assignmentPartId = "4gPmpcif", - maxScore = 10d, - styleScoreRatio = 0.2, - courseId=currentCourseId), - "forcomp" -> ProjectDetails( - packageName = "forcomp", - assignmentPartId = "fG2oZGIO", - maxScore = 10d, - styleScoreRatio = 0.2, - courseId=currentCourseId), - "streams" -> ProjectDetails( - packageName = "streams", - assignmentPartId = "DWKgCFCi", - maxScore = 10d, - styleScoreRatio = 0.2, - courseId=currentCourseId), - "quickcheck" -> ProjectDetails( - packageName = "quickcheck", - assignmentPartId = "02Vi5q7m", - maxScore = 10d, - styleScoreRatio = 0.0, - courseId=currentCourseId), - "simulations" -> ProjectDetails( - packageName = "simulations", - assignmentPartId = "pA3TAeu1", - maxScore = 10d, - styleScoreRatio = 0.0, - courseId=currentCourseId), - "nodescala" -> ProjectDetails( - packageName = "nodescala", - assignmentPartId = "RvoTAbRy", - maxScore = 10d, - styleScoreRatio = 0.0, - courseId=currentCourseId), - "suggestions" -> ProjectDetails( - packageName = "suggestions", - assignmentPartId = "rLLdQLGN", - maxScore = 10d, - styleScoreRatio = 0.0, - courseId=currentCourseId), - "actorbintree" -> ProjectDetails( - packageName = "actorbintree", - assignmentPartId = "VxIlIKoW", - maxScore = 10d, - styleScoreRatio = 0.0, - courseId=currentCourseId) -)} - -// Files that we hand out to the students -handoutFiles <<= (baseDirectory, projectDetailsMap, commonSourcePackages) map { (basedir, detailsMap, commonSrcs) => - (projectName: String) => { - val details = detailsMap.getOrElse(projectName, sys.error("Unknown project name: "+ projectName)) - val commonFiles = (PathFinder.empty /: commonSrcs)((files, pkg) => - files +++ (basedir / "src" / "main" / "scala" / pkg ** "*.scala") - ) - (basedir / "src" / "main" / "scala" / details.packageName ** "*.scala") +++ - commonFiles +++ - (basedir / "src" / "main" / "resources" / details.packageName ** "*") +++ - (basedir / "src" / "test" / "scala" / details.packageName ** "*.scala") +++ - (basedir / "build.sbt") +++ - (basedir / "project" / "build.properties") +++ - (basedir / "project" ** ("*.scala" || "*.sbt")) +++ - (basedir / "project" / "scalastyle_config.xml") +++ - (basedir / "project" / "scalastyle_config_reactive.xml") +++ - (basedir / "lib_managed" ** "*.jar") +++ - (basedir * (".classpath" || ".project")) +++ - (basedir / ".settings" / "org.scala-ide.sdt.core.prefs") - } -} - -// This setting allows to restrict the source files that are compiled and tested -// to one specific project. It should be either the empty string, in which case all -// projects are included, or one of the project names from the projectDetailsMap. -currentProject := "" - -// Packages in src/main/scala that are used in every project. Included in every -// handout, submission. -commonSourcePackages += "common" - -// Packages in src/test/scala that are used for grading projects. Always included -// compiling tests, grading a project. -gradingTestPackages += "grading" diff --git a/main/src/test/resources/old-format/8.sbt.txt b/main/src/test/resources/old-format/8.sbt.txt deleted file mode 100644 index 1b7b57283..000000000 --- a/main/src/test/resources/old-format/8.sbt.txt +++ /dev/null @@ -1,55 +0,0 @@ -name := "apidoc" - -scalaVersion in ThisBuild := "2.11.1" - -lazy val core = project - .in(file("core")) - .settings(commonSettings: _*) - .settings( - // play-json needs this to resolve correctly when not using Gilt's internal mirrors - resolvers += "Typesafe Maven Repository" at "http://repo.typesafe.com/typesafe/maven-releases/", - version := "1.0-SNAPSHOT", - libraryDependencies ++= Seq( - "com.typesafe.play" %% "play-json" % "2.3.0" - ) - ) - -lazy val api = project - .in(file("api")) - .dependsOn(core) - .aggregate(core) - .enablePlugins(PlayScala) - .settings(commonSettings: _*) - .settings( - version := "1.0-SNAPSHOT", - libraryDependencies ++= Seq( - jdbc, - anorm, - "org.postgresql" % "postgresql" % "9.3-1101-jdbc4", - "org.mindrot" % "jbcrypt" % "0.3m" - ) - ) - -lazy val www = project - .in(file("www")) - .dependsOn(core) - .aggregate(core) - .enablePlugins(PlayScala) - .settings(commonSettings: _*) - .settings( - version := "1.0-SNAPSHOT", - libraryDependencies ++= Seq( - ws - ) - ) - -lazy val commonSettings: Seq[Setting[_]] = Seq( - name <<= name("apidoc-" + _), - libraryDependencies ++= Seq( - "org.scalatest" %% "scalatest" % "2.2.0" % "test" - ), - scalacOptions += "-feature" -) ++ instrumentSettings ++ Seq(ScoverageKeys.highlighting := true) - - - diff --git a/main/src/test/resources/old-format/9.sbt.txt b/main/src/test/resources/old-format/9.sbt.txt deleted file mode 100644 index b54ccbf27..000000000 --- a/main/src/test/resources/old-format/9.sbt.txt +++ /dev/null @@ -1,40 +0,0 @@ -organization := "com.typesafe" - -name := "jse" - -version := "1.0.1-SNAPSHOT" - -scalaVersion := "2.10.4" - -libraryDependencies ++= Seq( - "com.typesafe.akka" %% "akka-actor" % "2.3.2", - "com.typesafe.akka" %% "akka-contrib" % "2.3.2", - "io.apigee.trireme" % "trireme-core" % "0.8.0", - "io.apigee.trireme" % "trireme-node10src" % "0.8.0", - "io.spray" %% "spray-json" % "1.2.6", - "org.slf4j" % "slf4j-simple" % "1.7.7", - "org.specs2" %% "specs2" % "2.3.11" % "test", - "junit" % "junit" % "4.11" % "test", - "com.typesafe.akka" %% "akka-testkit" % "2.3.2" % "test" -) - -resolvers ++= Seq( - Resolver.sonatypeRepo("snapshots"), - "Typesafe Releases Repository" at "http://repo.typesafe.com/typesafe/releases/" -) - -publishTo := { - val typesafe = "http://private-repo.typesafe.com/typesafe/" - val (name, url) = if (isSnapshot.value) - ("sbt-plugin-snapshots", typesafe + "maven-snapshots") - else - ("sbt-plugin-releases", typesafe + "maven-releases") - Some(Resolver.url(name, new URL(url))) -} - -lazy val root = project in file(".") - -lazy val `js-engine-tester` = project.dependsOn(root) - -// Somehow required to get a js engine in tests (https://github.com/sbt/sbt/issues/1214) -fork in Test := true diff --git a/main/src/test/scala/sbt/internal/parser/EvaluateConfigurationsOriginal.scala b/main/src/test/scala/sbt/internal/parser/EvaluateConfigurationsOriginal.scala deleted file mode 100644 index 01de4b3b5..000000000 --- a/main/src/test/scala/sbt/internal/parser/EvaluateConfigurationsOriginal.scala +++ /dev/null @@ -1,19 +0,0 @@ -package sbt -package internal -package parser - -import java.io.File - -import sbt.internal.util.LineRange - -import scala.annotation.tailrec - -@deprecated("This class is be removed. Only for test backward compatibility", "1.0") -object EvaluateConfigurationsOriginal { - - def splitExpressions(file: File, lines: Seq[String]): (Seq[(String, Int)], Seq[(String, LineRange)]) = - { - EvaluateConfigurations.splitExpressions(lines) - } - -} diff --git a/main/src/test/scala/sbt/internal/parser/SplitExpressionsBehavior.scala b/main/src/test/scala/sbt/internal/parser/SplitExpressionsBehavior.scala index 8889735d4..1fe418a03 100644 --- a/main/src/test/scala/sbt/internal/parser/SplitExpressionsBehavior.scala +++ b/main/src/test/scala/sbt/internal/parser/SplitExpressionsBehavior.scala @@ -13,55 +13,6 @@ trait SplitExpression { trait SplitExpressionsBehavior extends SplitExpression { this: SpecificationLike => - def oldExpressionsSplitter(implicit splitter: SplitExpressions.SplitExpression): Unit = { - - "parse a simple setting" in { - val (imports, settingsAndDefs) = split("""version := "1.0"""") - settingsAndDefs.head._1 === """version := "1.0"""" - - imports.isEmpty should beTrue - settingsAndDefs.isEmpty should beFalse - } - - "parse a config containing a single import" in { - val (imports, settingsAndDefs) = split("""import foo.Bar""") - imports.isEmpty should beFalse - settingsAndDefs.isEmpty should beTrue - } - - "parse a config containing two imports and a setting" in { - val (imports, settingsAndDefs) = split( - """import foo.Bar - import foo.Bar - - version := "1.0" - """.stripMargin) - imports.size === 2 - settingsAndDefs.size === 1 - } - - "parse a config containgn a def" in { - val (imports, settingsAndDefs) = split("""def foo(x: Int) = { - x + 1 -}""") - imports.isEmpty should beTrue - settingsAndDefs.isEmpty should beFalse - } - - "parse a config containgn a val" in { - val (imports, settingsAndDefs) = split("""val answer = 42""") - imports.isEmpty should beTrue - settingsAndDefs.isEmpty should beFalse - } - - "parse a config containgn a lazy val" in { - val (imports, settingsAndDefs) = split("""lazy val root = (project in file(".")).enablePlugins­(PlayScala)""") - imports.isEmpty should beTrue - settingsAndDefs.isEmpty should beFalse - } - - } - def newExpressionsSplitter(implicit splitter: SplitExpressions.SplitExpression): Unit = { "parse a two settings without intervening blank line" in { diff --git a/main/src/test/scala/sbt/internal/parser/SplitExpressionsFilesTest.scala b/main/src/test/scala/sbt/internal/parser/SplitExpressionsFilesTest.scala deleted file mode 100644 index df68deaf0..000000000 --- a/main/src/test/scala/sbt/internal/parser/SplitExpressionsFilesTest.scala +++ /dev/null @@ -1,154 +0,0 @@ -package sbt -package internal -package parser - -import java.io.File - -import org.specs2.mutable.Specification - -import scala.annotation.tailrec -import scala.io.Source -import scala.tools.reflect.ToolBoxError -import sbt.internal.util.LineRange - -class SplitExpressionsFilesTest extends AbstractSplitExpressionsFilesTest("/old-format/") - -//class SplitExpressionsFilesFailedTest extends AbstractSplitExpressionsFilesTest("/fail-format/") - -abstract class AbstractSplitExpressionsFilesTest(pathName: String) extends Specification { - - case class SplitterComparison(oldSplitterResult: scala.util.Try[(Seq[(String, Int)], Seq[LineRange])], newSplitterResult: scala.util.Try[(Seq[(String, Int)], Seq[LineRange])]) - - val oldSplitter: SplitExpressions.SplitExpression = EvaluateConfigurationsOriginal.splitExpressions - val newSplitter: SplitExpressions.SplitExpression = EvaluateConfigurations.splitExpressions - - final val REVERTED_LINES = true - final val START_COMMENT = "/*" - final val END_COMMENT = START_COMMENT.reverse - - s"$getClass " should { - "split whole sbt files" in { - val rootPath = getClass.getClassLoader.getResource("").getPath + pathName - println(s"Reading files from: $rootPath") - val allFiles = new File(rootPath).listFiles.toList - - val results = for { - path <- allFiles - lines = Source.fromFile(path).getLines().toList - comparison = SplitterComparison(splitLines(path, oldSplitter, lines), splitLines(path, newSplitter, lines)) - } yield path -> comparison - - printResults(results) - - val validResults = results.collect { - case (path, SplitterComparison(scala.util.Success(oldRes), scala.util.Success(newRes))) if oldRes == newRes => path - } - - validResults.length must be_==(results.length) - } - } - - def removeCommentFromStatement(statement: String, lineRange: LineRange): Option[LineRange] = { - val lines = statement.lines.toList - val optionStatements = removeSlashAsterisk(lines, lineRange, !REVERTED_LINES) match { - case Some((st, lr)) => - removeDoubleSlash(st, lr) - case _ => None - } - optionStatements.map(t => t._2) - } - - @tailrec - private def removeSlashAsterisk(statements: Seq[String], lineRange: LineRange, reverted: Boolean): Option[(Seq[String], LineRange)] = - statements match { - case statement +: _ => - val openSlashAsteriskIndex = statement.indexOf(START_COMMENT, 0) - if (openSlashAsteriskIndex == -1 || statement.substring(0, openSlashAsteriskIndex).trim.nonEmpty) { - Some((statements, lineRange)) - } else { - val closeSlashAsteriskLine = statements.indexWhere(s => s.contains(END_COMMENT)) - if (closeSlashAsteriskLine == -1) { - Some((statements, lineRange)) - } else { - val newLineRange = if (reverted) { - lineRange.copy(end = lineRange.end - closeSlashAsteriskLine - 1) - } else { - lineRange.copy(start = lineRange.start + closeSlashAsteriskLine + 1) - } - removeSlashAsterisk(statements.drop(closeSlashAsteriskLine + 1), newLineRange, reverted) - } - } - case _ => - None - } - - /** - * Remove // and /* */ - * @param statements - lines - * @param lineRange - LineRange - * @return (lines,lineRange) without comments - */ - def removeDoubleSlash(statements: Seq[String], lineRange: LineRange): Option[(Seq[String], LineRange)] = { - - @tailrec - def removeDoubleSlashReversed(lines: Seq[String], lineRange: LineRange): Option[(Seq[String], LineRange)] = - lines match { - case statement +: _ => - val doubleSlashIndex = statement.indexOf("//") - if (doubleSlashIndex == -1 || statement.substring(0, doubleSlashIndex).trim.nonEmpty) { - removeSlashAsterisk(lines, lineRange, REVERTED_LINES) match { - case some @ Some((s, ln)) if ln == lineRange => - some - case Some((s, ln)) => - removeDoubleSlashReversed(s, ln) - case _ => None - } - - } else { - removeDoubleSlashReversed(lines.tail, lineRange.copy(end = lineRange.end - 1)) - } - case _ => - None - } - removeDoubleSlashReversed(statements.reverse, lineRange).map(t => (t._1.reverse, t._2)) - } - - def splitLines(file: File, splitter: SplitExpressions.SplitExpression, lines: List[String]): scala.util.Try[(Seq[(String, Int)], Seq[LineRange])] = { - try { - val (imports, settingsAndDefs) = splitter(file, lines) - - //TODO: Return actual contents (after making both splitter... - //TODO: ...implementations return CharRanges instead of LineRanges) - val settingsAndDefWithoutComments = settingsAndDefs.flatMap(t => removeCommentFromStatement(t._1, t._2)) - scala.util.Success((imports.map(imp => (imp._1.trim, imp._2)), settingsAndDefWithoutComments)) - } catch { - case e: ToolBoxError => - scala.util.Failure(e) - case e: Throwable => - scala.util.Failure(e) - } - } - - def printResults(results: List[(File, SplitterComparison)]) = { - for ((file, comparison) <- results) { - val fileName = file.getName - comparison match { - case SplitterComparison(scala.util.Failure(ex), _) => - println(s"In file: $fileName, old splitter failed. ${ex.toString}") - case SplitterComparison(_, scala.util.Failure(ex)) => - println(s"In file: $fileName, new splitter failed. ${ex.toString}") - ex.printStackTrace() - case SplitterComparison(scala.util.Success(resultOld), scala.util.Success(resultNew)) => - if (resultOld != resultNew) { - println( - s"""In file: $fileName, results differ: - |resultOld: - |$resultOld - |resultNew: - |$resultNew""".stripMargin) - } - } - - } - } -} diff --git a/main/src/test/scala/sbt/internal/parser/SplitExpressionsTest.scala b/main/src/test/scala/sbt/internal/parser/SplitExpressionsTest.scala index 11bbe757c..b3667c685 100644 --- a/main/src/test/scala/sbt/internal/parser/SplitExpressionsTest.scala +++ b/main/src/test/scala/sbt/internal/parser/SplitExpressionsTest.scala @@ -6,10 +6,6 @@ import org.specs2.mutable.Specification class SplitExpressionsTest extends Specification with SplitExpressionsBehavior { - "EvaluateConfigurationsOriginal" should oldExpressionsSplitter(EvaluateConfigurationsOriginal.splitExpressions) - - "EvaluateConfigurations" should oldExpressionsSplitter(EvaluateConfigurations.splitExpressions) - "EvaluateConfigurations" should newExpressionsSplitter(EvaluateConfigurations.splitExpressions) -} \ No newline at end of file +}