Skip to content

Commit dc7073b

Browse files
committed
Added -Yrangepos to compiler options to enable range pos
1 parent 54f484f commit dc7073b

File tree

1 file changed

+9
-70
lines changed

1 file changed

+9
-70
lines changed

src/main/scala/org/scalescc/sbt/ScalesSbtPlugin.scala

Lines changed: 9 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
package org.scalescc.sbt
22

3-
import java.util.Properties
43
import sbt._
54
import sbt.Keys._
6-
import xml.transform._
7-
import scales.{Coverage, Env}
8-
import scales.report.{ScalesHtmlWriter, CoberturaXmlWriter, ScalesXmlWriter}
9-
import java.io._
10-
import sbt.File
11-
import sbt.File
12-
import scala.Some
5+
import scales._
136
import sbt.File
7+
import scales.report.{ScalesHtmlWriter, CoberturaXmlWriter, ScalesXmlWriter}
148
import scala.Some
15-
import java.io.File
16-
import sbt.File
179

1810
object ScalesSbtPlugin extends Plugin {
1911

@@ -45,7 +37,8 @@ object ScalesSbtPlugin extends Plugin {
4537
case None => throw new Exception("Fatal: scalac-scales-plugin not in libraryDependencies")
4638
case Some(classpath) =>
4739
Seq(
48-
"-Xplugin:" + classpath.getAbsolutePath
40+
"-Xplugin:" + classpath.getAbsolutePath,
41+
"-Yrangepos"
4942
)
5043
}
5144
},
@@ -67,70 +60,19 @@ object ScalesSbtPlugin extends Plugin {
6760
scalesDeps ++ testDeps.filter(_.data != oldClassDir)
6861
},
6962

70-
testOptions in ScalesTest <+= testsSetup,
7163
testOptions in ScalesTest <+= testsCleanup,
7264

7365
// make scales config the same as scalesTest config
7466
test in Scales <<= (test in ScalesTest)
7567
)
7668
}
7769

78-
/** Generate hook that is invoked before each tests execution. */
79-
def testsSetup = {
80-
(name in Scales,
81-
baseDirectory in Scales,
82-
scalaSource in Scales,
83-
classDirectory in ScalesTest,
84-
definedTests in ScalesTest,
85-
scalesReportDir,
86-
streams) map {
87-
(name,
88-
baseDirectory,
89-
scalaSource,
90-
classDirectory,
91-
definedTests,
92-
scalesReportDir,
93-
streams) =>
94-
if (definedTests.isEmpty) {
95-
Tests.Setup {
96-
() => {}
97-
}
98-
} else
99-
Tests.Setup {
100-
() =>
101-
val out = classDirectory / "scales.properties"
102-
val props = new Properties()
103-
props.setProperty("scales.basedir", baseDirectory.getAbsolutePath)
104-
IO.write(props, "Env for scales", out)
105-
}
106-
}
107-
}
108-
109-
// todo figure out how to access these from another dep
110-
def invoked(file: File): Seq[Int] = {
111-
val reader = new BufferedReader(new FileReader(Env.measurementFile))
112-
val line = reader.readLine()
113-
reader.close()
114-
line.split(";").filterNot(_.isEmpty).map(_.toInt)
115-
}
116-
117-
// todo figure out how to access these from another dep
118-
def deserialize(file: File): Coverage = deserialize(new FileInputStream(file))
119-
def deserialize(in: InputStream): Coverage = {
120-
val oos = new ObjectInputStream(in)
121-
val coverage = oos.readObject().asInstanceOf[Coverage]
122-
oos.close()
123-
coverage
124-
}
125-
12670
/** Generate hook that is invoked after each tests execution. */
12771
def testsCleanup = {
128-
(name in Scales,
129-
classDirectory in ScalesTest,
72+
(target in ScalesTest,
13073
definedTests in ScalesTest,
13174
streams) map {
132-
(name,
133-
classDirectory,
75+
(target,
13476
definedTests,
13577
streams) =>
13678
if (definedTests.isEmpty) {
@@ -141,13 +83,12 @@ object ScalesSbtPlugin extends Plugin {
14183
Tests.Cleanup {
14284
() =>
14385

144-
println(Keys.target in Test)
86+
println(target)
14587
println(Env.coverageFile)
14688
println(Env.measurementFile)
14789

148-
val coverage = deserialize(Env.coverageFile)
149-
val measurements = invoked(Env.measurementFile)
150-
90+
val coverage = IOUtils.deserialize(getClass.getClassLoader, Env.coverageFile)
91+
val measurements = IOUtils.invoked(Env.measurementFile)
15192
coverage.apply(measurements)
15293

15394
val targetDirectory = new File("target/coverage-report")
@@ -161,8 +102,6 @@ object ScalesSbtPlugin extends Plugin {
161102

162103
println("Generating Scales HTML report...")
163104
ScalesHtmlWriter.write(coverage, targetDirectory)
164-
165-
()
166105
}
167106
}
168107
}

0 commit comments

Comments
 (0)