@@ -29,20 +29,23 @@ class ScoverageHtmlWriter(sourceDirectory: File, outputDir: File) {
29
29
// package overview files are written out using a directory structure that respects the directory name
30
30
// that means package com.example declared in a class at src/main/scala/mystuff/MyClass.scala will be written
31
31
// to com/example/package.html
32
- val file = new File (outputDir.getAbsolutePath, pkg.name.replace(" <empty>" , " (empty)" ).replace('.' , '/' ) + " /package.html" )
32
+ // this is because a single class may have multiple packages so we cannot use original/path/package.html as
33
+ // they might clash
34
+ val packageFile = new File (pkg.name.replace(" <empty>" , " (empty)" ).replace(" ." , File .separator), " package.html" )
35
+ val file = new File (outputDir, packageFile.getPath)
33
36
file.getParentFile.mkdirs()
34
37
IOUtils .writeToFile(file, packageOverview(pkg).toString)
35
38
pkg.files.foreach(write(_, file.getParentFile))
36
39
}
37
40
38
41
private def write (mfile : MeasuredFile , dir : File ): Unit = {
39
42
// each highlighted file is written out using the same structure as the original file.
40
- val file = new File (relativeSource(mfile.source))
43
+ val file = new File (outputDir, relativeSource(mfile.source))
41
44
file.getParentFile.mkdirs()
42
- IOUtils .writeToFile(file, _file (mfile).toString)
45
+ IOUtils .writeToFile(file, filePage (mfile).toString)
43
46
}
44
47
45
- private def _file (mfile : MeasuredFile ): Node = {
48
+ private def filePage (mfile : MeasuredFile ): Node = {
46
49
val filename = relativeSource(mfile.source) + " .html"
47
50
val css =
48
51
" table.codegrid { font-family: monospace; font-size: 12px; width: auto!important; }" +
0 commit comments