-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sbt
More file actions
30 lines (22 loc) · 994 Bytes
/
build.sbt
File metadata and controls
30 lines (22 loc) · 994 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
libraryDependencies += "io.spray" %% "spray-json" % "1.3.3"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.5" % "test"
TaskKey[Unit]("bcode"):= {
val bcode = baseDirectory.value / s"bcode-${scalaBinaryVersion.value}"
bcode.mkdirs()
val output = classDirectory.in(Compile).value.toPath
val sources = compile.in(Compile).value.readStamps().getAllProductStamps.keySet()
import collection.JavaConverters._
import scala.sys.process._
val classes = sources.asScala
.map(classFile => output.relativize(classFile.toPath))
.map(relativePath => relativePath.toString().replace('/', '.').replace(".class", ""))
println(output)
//println(classes)
classes.foreach { className =>
s"javap -cp $output -p -c $className" #> bcode./(s"$className.txt") !
s"javap -cp $output -p -c -s -v -l $className" #> bcode./(s"$className-full.txt") !
s"javap -cp $output -p -constants $className" #> bcode./(s"$className-sigs.txt") !
}
}
enablePlugins(JmhPlugin)
Charts.settings