blob: 964d5ca9f1a39cee6a1540286cbee6d9d76b9ef7 (
plain)
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
|
package org.jetbrains.dokka.model
import org.jetbrains.dokka.DokkaConfiguration
import org.jetbrains.dokka.Platform
import org.jetbrains.dokka.plugability.DokkaContext
data class SourceSetData(
val moduleName: String,
val sourceSetName: String,
val platform: Platform,
val sourceRoots: List<DokkaConfiguration.SourceRoot> = emptyList(),
val dependentSourceSets: List<String> = emptyList()
)
class SourceSetCache {
private val sourceSets = HashMap<String, SourceSetData>()
val allSourceSets: List<SourceSetData>
get() = sourceSets.values.toList()
fun getSourceSet(pass: DokkaConfiguration.PassConfiguration) =
sourceSets.getOrPut("${pass.moduleName}/${pass.sourceSetName}",
{ SourceSetData(pass.moduleName, pass.sourceSetName, pass.analysisPlatform, pass.sourceRoots, pass.dependentSourceSets) }
)
}
fun DokkaContext.sourceSet(pass: DokkaConfiguration.PassConfiguration) : SourceSetData = sourceSetCache.getSourceSet(pass)
|