Skip to content

Commit 730c6f6

Browse files
committed
Removed report project
1 parent 495f14a commit 730c6f6

File tree

2 files changed

+50
-5
lines changed

2 files changed

+50
-5
lines changed

project/EnvSupport.scala

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
2+
/** @author Stephen Samuel */
3+
object EnvSupport {
4+
5+
// code credit: http://stackoverflow.com/a/19040660/2048448
6+
def setEnv(k: String, v: String): Unit = {
7+
try {
8+
val processEnvironmentClass = Class.forName("java.lang.ProcessEnvironment")
9+
val theEnvironmentField = processEnvironmentClass.getDeclaredField("theEnvironment")
10+
theEnvironmentField.setAccessible(true)
11+
12+
val variableClass = Class.forName("java.lang.ProcessEnvironment$Variable")
13+
val convertToVariable = variableClass.getMethod("valueOf", classOf[java.lang.String])
14+
convertToVariable.setAccessible(true)
15+
16+
val valueClass = Class.forName("java.lang.ProcessEnvironment$Value")
17+
val convertToValue = valueClass.getMethod("valueOf", classOf[java.lang.String])
18+
convertToValue.setAccessible(true)
19+
20+
val sampleVariable = convertToVariable.invoke(null, "")
21+
val sampleValue = convertToValue.invoke(null, "")
22+
val env = theEnvironmentField.get(null).asInstanceOf[java.util.Map[sampleVariable.type, sampleValue.type]]
23+
24+
val variable = convertToVariable.invoke(null, k).asInstanceOf[sampleVariable.type]
25+
val value = convertToValue.invoke(null, v).asInstanceOf[sampleValue.type]
26+
env.put(variable, value)
27+
28+
val theCaseInsensitiveEnvironmentField = processEnvironmentClass.getDeclaredField("theCaseInsensitiveEnvironment")
29+
theCaseInsensitiveEnvironmentField.setAccessible(true)
30+
val cienv = theCaseInsensitiveEnvironmentField.get(null).asInstanceOf[java.util.Map[String, String]]
31+
cienv.put(k, v)
32+
33+
}
34+
catch {
35+
case e: NoSuchFieldException =>
36+
val classes = classOf[java.util.Collections].getDeclaredClasses
37+
val env = System.getenv()
38+
classes foreach (cl => {
39+
if ("java.util.Collections$UnmodifiableMap" == cl.getName) {
40+
val field = cl.getDeclaredField("m")
41+
field.setAccessible(true)
42+
val map = field.get(env).asInstanceOf[java.util.Map[String, String]]
43+
map.put(k, v)
44+
}
45+
})
46+
case e : ClassNotFoundException =>
47+
}
48+
}
49+
}

project/Scoverage.scala

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,12 @@ object Scoverage extends Build {
6666
.settings(name := "scalac-scoverage")
6767
.settings(appSettings: _*)
6868
.settings(publishArtifact := false)
69-
.aggregate(plugin, runtime, report)
69+
.aggregate(plugin, runtime)
7070

7171
lazy val runtime = Project("scalac-scoverage-runtime", file("scalac-scoverage-runtime"))
7272
.settings(name := "scalac-scoverage-runtime")
7373
.settings(appSettings: _*)
7474

75-
lazy val report = Project("scalac-scoverage-runtime", file("scalac-scoverage-runtime"))
76-
.settings(name := "scalac-scoverage-report")
77-
.settings(appSettings: _*)
78-
7975
lazy val plugin = Project("scalac-scoverage-plugin", file("scalac-scoverage-plugin"))
8076
.settings(name := "scalac-scoverage-plugin")
8177
.settings(appSettings: _*)

0 commit comments

Comments
 (0)