Add root index to fir dump
This commit is contained in:
committed by
Mikhail Glukhikh
parent
9c04751572
commit
49883d1d87
@@ -48,6 +48,7 @@ internal interface FirLinkResolver {
|
||||
|
||||
private const val PACKAGE_INDEX = "package-index.html"
|
||||
private const val MODULE_INDEX = "module-index.html"
|
||||
private const val ROOT_INDEX = "root-index.html"
|
||||
|
||||
|
||||
private fun HEAD.commonHead() {
|
||||
@@ -84,6 +85,14 @@ private class SupplementaryGenerator(val outputRoot: File) {
|
||||
supplementary(this, moduleInfo.moduleRoot)
|
||||
}
|
||||
body {
|
||||
h4 {
|
||||
a(
|
||||
href = linkToRootIndex(moduleInfo.moduleRoot),
|
||||
classes = "container-ref"
|
||||
) {
|
||||
+"back to root"
|
||||
}
|
||||
}
|
||||
h2 { +moduleInfo.name }
|
||||
ul {
|
||||
for (packageInfo in moduleInfo.packages.values) {
|
||||
@@ -109,6 +118,10 @@ private class SupplementaryGenerator(val outputRoot: File) {
|
||||
return packageInfo.packageRoot.resolve(PACKAGE_INDEX).relativeTo(from).path
|
||||
}
|
||||
|
||||
fun linkToRootIndex(from: File): String {
|
||||
return outputRoot.resolve(ROOT_INDEX).relativeTo(from).path
|
||||
}
|
||||
|
||||
fun generateIndex(packageInfo: PackageInfo, writer: Writer) {
|
||||
writer.appendHTML().html {
|
||||
head {
|
||||
@@ -139,6 +152,28 @@ private class SupplementaryGenerator(val outputRoot: File) {
|
||||
}
|
||||
}
|
||||
|
||||
fun generateIndex(modules: List<ModuleInfo>, writer: Writer) {
|
||||
val title = "Root dump index"
|
||||
writer.appendHTML().html {
|
||||
head {
|
||||
title { +title }
|
||||
commonHead()
|
||||
supplementary(this, outputRoot)
|
||||
}
|
||||
body {
|
||||
h2 { +title }
|
||||
|
||||
ul {
|
||||
for (module in modules) {
|
||||
li {
|
||||
a(href = linkToIndex(module, outputRoot), classes = "container-ref") { +module.name }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun supplementary(head: HEAD, originDir: File) = with(head) {
|
||||
for (file in jsFiles) {
|
||||
@@ -157,7 +192,7 @@ private val cssFiles = listOf("style.css", "colors.white.css", "colors.dark.css"
|
||||
|
||||
class MultiModuleHtmlFirDump(private val outputRoot: File) {
|
||||
|
||||
private val modules = mutableMapOf<String, ModuleInfo>()
|
||||
private val modules = LinkedHashMap<String, ModuleInfo>()
|
||||
|
||||
private lateinit var currentModule: ModuleInfo
|
||||
private var inModule = false
|
||||
@@ -181,16 +216,17 @@ class MultiModuleHtmlFirDump(private val outputRoot: File) {
|
||||
fun finish() {
|
||||
require(!finished)
|
||||
finished = true
|
||||
outputRoot.resolve(ROOT_INDEX).writer().use {
|
||||
supplementaryGenerator.generateIndex(modules.values.toList(), it)
|
||||
}
|
||||
for (module in modules.values) {
|
||||
module.moduleRoot.resolve(MODULE_INDEX)
|
||||
.writer().use {
|
||||
supplementaryGenerator.generateIndex(module, it)
|
||||
}
|
||||
module.moduleRoot.resolve(MODULE_INDEX).writer().use {
|
||||
supplementaryGenerator.generateIndex(module, it)
|
||||
}
|
||||
for (packageInfo in module.packages.values) {
|
||||
packageInfo.packageRoot.resolve(PACKAGE_INDEX)
|
||||
.writer().use {
|
||||
supplementaryGenerator.generateIndex(packageInfo, it)
|
||||
}
|
||||
packageInfo.packageRoot.resolve(PACKAGE_INDEX).writer().use {
|
||||
supplementaryGenerator.generateIndex(packageInfo, it)
|
||||
}
|
||||
}
|
||||
}
|
||||
val supplementaryFiles = jsFiles + cssFiles
|
||||
|
||||
Reference in New Issue
Block a user