Skip to content

Commit 41784d8

Browse files
committed
Scala 2.12.0-RC1 support.
1 parent 61534f1 commit 41784d8

12 files changed

+101
-153
lines changed

.travis.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
11
language: scala
2+
jdk: oraclejdk8
3+
24
scala:
3-
- 2.11.4
5+
- 2.11.8
6+
- 2.12.0-RC1
7+
48
script:
5-
- "sbt clean test"
6-
jdk:
7-
- oraclejdk7
9+
- ./publishScalaLogging.sh
10+
- sbt ++$TRAVIS_SCALA_VERSION test
11+
12+
cache:
13+
directories:
14+
- $HOME/.ivy2/cache
15+
- $HOME/.sbt
16+
17+
before_cache:
18+
- find "$HOME/.sbt/" -name '*.lock' -print0 | xargs -0 rm
19+
- find "$HOME/.ivy2/" -name 'ivydata-*.properties' -print0 | xargs -0 rm

project/Scoverage.scala

Lines changed: 19 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import sbt.Keys._
22
import sbt._
3-
import sbtrelease.ReleasePlugin
4-
import sbtrelease.ReleasePlugin.ReleaseKeys
53
import com.typesafe.sbt.pgp.PgpKeys
64
import org.scalajs.sbtplugin.cross.CrossProject
75
import org.scalajs.sbtplugin.cross.CrossType
@@ -11,24 +9,24 @@ import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._
119
object Scoverage extends Build {
1210

1311
val Org = "org.scoverage"
14-
val Scala = "2.11.7"
15-
val MockitoVersion = "1.9.5"
16-
val ScalatestVersion = "3.0.0-M15"
12+
val MockitoVersion = "1.10.19"
13+
val ScalatestVersion = "3.0.0"
1714

1815
lazy val LocalTest = config("local") extend Test
1916

2017
val appSettings = Seq(
2118
organization := Org,
22-
scalaVersion := Scala,
23-
crossScalaVersions := Seq("2.10.6", "2.11.7"),
19+
scalaVersion := "2.11.8",
20+
crossScalaVersions := Seq(scalaVersion.value, "2.12.0-RC1"),
2421
fork in Test := false,
2522
publishMavenStyle := true,
2623
publishArtifact in Test := false,
2724
parallelExecution in Test := false,
25+
sbtrelease.ReleasePlugin.autoImport.releasePublishArtifactsAction := PgpKeys.publishSigned.value,
26+
sbtrelease.ReleasePlugin.autoImport.releaseCrossBuild := true,
2827
scalacOptions := Seq("-unchecked", "-deprecation", "-feature", "-encoding", "utf8"),
2928
resolvers := ("releases" at "https://oss.sonatype.org/service/local/staging/deploy/maven2") +: resolvers.value,
3029
concurrentRestrictions in Global += Tags.limit(Tags.Test, 1),
31-
javacOptions := Seq("-source", "1.6", "-target", "1.6"),
3230
publishTo <<= version {
3331
(v: String) =>
3432
val nexus = "https://oss.sonatype.org/"
@@ -61,27 +59,22 @@ object Scoverage extends Build {
6159
pomIncludeRepository := {
6260
_ => false
6361
}
64-
) ++ ReleasePlugin.releaseSettings ++ Seq(
65-
ReleaseKeys.crossBuild := true,
66-
ReleaseKeys.publishArtifactsAction := PgpKeys.publishSigned.value
6762
)
6863

6964
lazy val root = Project("scalac-scoverage", file("."))
7065
.settings(name := "scalac-scoverage")
7166
.settings(appSettings: _*)
7267
.settings(publishArtifact := false)
73-
.settings(javaOptions += "-XX:MaxMetaspaceSize=2048m")
7468
.aggregate(plugin, runtime.jvm, runtime.js)
7569

7670
lazy val runtime = CrossProject("scalac-scoverage-runtime", file("scalac-scoverage-runtime"), CrossType.Full)
7771
.settings(name := "scalac-scoverage-runtime")
7872
.settings(appSettings: _*)
7973
.jvmSettings(
8074
libraryDependencies ++= Seq(
81-
"org.mockito" % "mockito-all" % MockitoVersion % "test",
82-
"org.scalatest" %% "scalatest" % ScalatestVersion % "test"
83-
),
84-
javaOptions += "-XX:MaxMetaspaceSize=2048m"
75+
"org.mockito" % "mockito-all" % MockitoVersion % Test,
76+
"org.scalatest" %% "scalatest" % ScalatestVersion % Test
77+
)
8578
)
8679
.jsSettings(
8780
libraryDependencies += "org.scalatest" %%% "scalatest" % ScalatestVersion,
@@ -92,26 +85,17 @@ object Scoverage extends Build {
9285
lazy val `scalac-scoverage-runtimeJS` = runtime.js
9386

9487
lazy val plugin = Project("scalac-scoverage-plugin", file("scalac-scoverage-plugin"))
95-
.dependsOn(`scalac-scoverage-runtimeJVM` % "test")
88+
.dependsOn(`scalac-scoverage-runtimeJVM` % Test)
9689
.settings(name := "scalac-scoverage-plugin")
9790
.settings(appSettings: _*)
98-
.settings(javaOptions += "-XX:MaxMetaspaceSize=2048m")
9991
.settings(libraryDependencies ++= Seq(
100-
"org.mockito" % "mockito-all" % MockitoVersion % "test",
101-
"org.scalatest" %% "scalatest" % ScalatestVersion % "test",
102-
"org.scala-lang" % "scala-reflect" % scalaVersion.value % "provided",
103-
"org.scala-lang" % "scala-compiler" % scalaVersion.value % "provided",
104-
"org.joda" % "joda-convert" % "1.6" % "test",
105-
"joda-time" % "joda-time" % "2.3" % "test",
106-
"com.typesafe.scala-logging" %% "scala-logging-slf4j" % "2.1.2" % "test"
107-
)).settings(libraryDependencies ++= {
108-
CrossVersion.partialVersion(scalaVersion.value) match {
109-
case Some((2, scalaMajor)) if scalaMajor == 11 =>
110-
EnvSupport.setEnv("CrossBuildScalaVersion", "2.11.7")
111-
Seq("org.scala-lang.modules" %% "scala-xml" % "1.0.4")
112-
case _ =>
113-
EnvSupport.setEnv("CrossBuildScalaVersion", "2.10.6")
114-
Nil
115-
}
116-
})
92+
"org.mockito" % "mockito-all" % MockitoVersion % Test,
93+
"org.scalatest" %% "scalatest" % ScalatestVersion % Test,
94+
"org.scala-lang" % "scala-reflect" % scalaVersion.value % "provided",
95+
"org.scala-lang" % "scala-compiler" % scalaVersion.value % "provided",
96+
"org.joda" % "joda-convert" % "1.8.1" % Test,
97+
"joda-time" % "joda-time" % "2.9.4" % Test,
98+
"com.typesafe.scala-logging" %% "scala-logging" % "3.5.0-SNAPSHOT" % Test,
99+
"org.scala-lang.modules" %% "scala-xml" % "1.0.5"
100+
))
117101
}

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=0.13.11
1+
sbt.version=0.13.13-M1

project/plugins.sbt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
resolvers += Classpaths.sbtPluginReleases
22

3-
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.3.2")
4-
5-
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
6-
7-
addSbtPlugin("com.github.gseitz" % "sbt-release" % "0.8.5")
8-
9-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.9")
3+
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.8.0")
4+
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
5+
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.3")
6+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.12")

publishScalaLogging.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
#
3+
4+
set -euo pipefail
5+
6+
cd "${TMPDIR:-/tmp}"
7+
git clone "https://github.com/typesafehub/scala-logging"
8+
( cd scala-logging && sbt -sbt-version 0.13.13-M1 ++2.11.8 publishLocal ++2.12.0-RC1 publishLocal )
9+
rm -rf scala-logging

scalac-scoverage-plugin/src/test/scala/scoverage/IOUtilsTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package scoverage
33
import java.io.{File, FileWriter}
44
import java.util.UUID
55

6-
import org.scalatest.mock.MockitoSugar
6+
import org.scalatest.mockito.MockitoSugar
77
import org.scalatest.{FreeSpec, Matchers, OneInstancePerTest}
88

99
/** @author Stephen Samuel */

scalac-scoverage-plugin/src/test/scala/scoverage/LocationCompiler.scala

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ class LocationCompiler(settings: scala.tools.nsc.Settings, reporter: scala.tools
2828
class LocationSetter(val global: Global) extends PluginComponent with TypingTransformers with Transform {
2929

3030
override val phaseName: String = "location-setter"
31-
override val runsAfter: List[String] = List("typer")
32-
override val runsBefore = List[String]("patmat")
31+
override val runsRightAfter = Some("typer")
32+
override val runsAfter = List("typer")
33+
override val runsBefore = List[String]("patmat")
3334

3435
override protected def newTransformer(unit: global.CompilationUnit): global.Transformer = new Transformer(unit)
3536
class Transformer(unit: global.CompilationUnit) extends TypingTransformer(unit) {
@@ -44,35 +45,7 @@ class LocationCompiler(settings: scala.tools.nsc.Settings, reporter: scala.tools
4445
}
4546

4647
override def computeInternalPhases() {
47-
val phs = List(
48-
syntaxAnalyzer -> "parse source into ASTs, perform simple desugaring",
49-
analyzer.namerFactory -> "resolve names, attach symbols to named trees",
50-
analyzer.packageObjects -> "load package objects",
51-
analyzer.typerFactory -> "the meat and potatoes: type the trees",
52-
locationSetter -> "sets locations",
53-
patmat -> "translate match expressions",
54-
superAccessors -> "add super accessors in traits and nested classes",
55-
extensionMethods -> "add extension methods for inline classes",
56-
pickler -> "serialize symbol tables",
57-
refChecks -> "reference/override checking, translate nested objects",
58-
uncurry -> "uncurry, translate function values to anonymous classes",
59-
tailCalls -> "replace tail calls by jumps",
60-
specializeTypes -> "@specialized-driven class and method specialization",
61-
explicitOuter -> "this refs to outer pointers, translate patterns",
62-
erasure -> "erase types, add interfaces for traits",
63-
postErasure -> "clean up erased inline classes",
64-
lazyVals -> "allocate bitmaps, translate lazy vals into lazified defs",
65-
lambdaLift -> "move nested functions to top level",
66-
constructors -> "move field definitions into constructors",
67-
mixer -> "mixin composition",
68-
cleanup -> "platform-specific cleanups, generate reflective calls",
69-
genicode -> "generate portable intermediate code",
70-
inliner -> "optimization: do inlining",
71-
inlineExceptionHandlers -> "optimization: inline exception handlers",
72-
closureElimination -> "optimization: eliminate uncalled closures",
73-
deadCode -> "optimization: eliminate dead code",
74-
terminal -> "The last phase in the compiler chain"
75-
)
76-
phs foreach (addToPhasesSet _).tupled
48+
super.computeInternalPhases()
49+
addToPhasesSet(locationSetter, "sets locations")
7750
}
78-
}
51+
}

scalac-scoverage-plugin/src/test/scala/scoverage/PluginASTSupportTest.scala

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package scoverage
22

3-
import org.scalatest.mock.MockitoSugar
3+
import org.scalatest.mockito.MockitoSugar
44
import org.scalatest._
55

66
/** @author Stephen Samuel */
@@ -79,10 +79,8 @@ class PluginASTSupportTest
7979
// https://github.com/skinny-framework/skinny-framework/issues/97
8080
test("macro range positions should not break plugin") {
8181
val compiler = ScoverageCompiler.default
82-
compiler.addToClassPath("org.slf4j", "slf4j-api", "1.7.7")
83-
compiler.addToClassPath("com.typesafe.scala-logging", "scala-logging-api_" + ScoverageCompiler.ShortScalaVersion, "2.1.2")
84-
compiler.addToClassPath("com.typesafe.scala-logging", "scala-logging-slf4j_" + ScoverageCompiler.ShortScalaVersion, "2.1.2")
85-
compiler.compileCodeSnippet( """import com.typesafe.scalalogging.slf4j.StrictLogging
82+
compiler.addLogging()
83+
compiler.compileCodeSnippet( """import com.typesafe.scalalogging.StrictLogging
8684
|
8785
|object MacroTest extends StrictLogging {
8886
| println("Hello")

scalac-scoverage-plugin/src/test/scala/scoverage/PluginCoverageTest.scala

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package scoverage
22

3-
import org.scalatest.mock.MockitoSugar
3+
import org.scalatest.mockito.MockitoSugar
44
import org.scalatest.{BeforeAndAfterEachTestData, FunSuite, OneInstancePerTest}
55

66
/** @author Stephen Samuel */
@@ -275,16 +275,8 @@ class PluginCoverageTest
275275

276276
test("plugin should not instrument expanded macro code github.com/skinny-framework/skinny-framework/issues/97") {
277277
val compiler = ScoverageCompiler.default
278-
compiler.addToClassPath("org.slf4j", "slf4j-api", "1.7.7")
279-
compiler
280-
.addToClassPath("com.typesafe.scala-logging",
281-
"scala-logging-api_" + ScoverageCompiler.ShortScalaVersion,
282-
"2.1.2")
283-
compiler
284-
.addToClassPath("com.typesafe.scala-logging",
285-
"scala-logging-slf4j_" + ScoverageCompiler.ShortScalaVersion,
286-
"2.1.2")
287-
compiler.compileCodeSnippet( """import com.typesafe.scalalogging.slf4j.StrictLogging
278+
compiler.addLogging()
279+
compiler.compileCodeSnippet( """import com.typesafe.scalalogging.StrictLogging
288280
|class MacroTest extends StrictLogging {
289281
| logger.info("will break")
290282
|} """.stripMargin)

scalac-scoverage-plugin/src/test/scala/scoverage/RegexCoverageFilterTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package scoverage
22

33
import org.mockito.Mockito
4-
import org.scalatest.mock.MockitoSugar
4+
import org.scalatest.mockito.MockitoSugar
55
import org.scalatest.{FreeSpec, Matchers}
66

77
import scala.reflect.internal.util._

0 commit comments

Comments
 (0)