[Testing] Support test roots in dependencies.txt
This commit is contained in:
@@ -53,12 +53,23 @@ fun AbstractMultiModuleTest.setupMppProjectFromTextFile(testRoot: File) {
|
||||
fun AbstractMultiModuleTest.doSetup(projectModel: ProjectResolveModel) {
|
||||
val resolveModulesToIdeaModules = projectModel.modules.map { resolveModule ->
|
||||
val ideaModule = createModule(resolveModule.name)
|
||||
|
||||
addRoot(
|
||||
ideaModule,
|
||||
resolveModule.root,
|
||||
isTestRoot = false,
|
||||
transformContainedFiles = { if (it.extension == "kt") clearFileFromDiagnosticMarkup(it) }
|
||||
)
|
||||
|
||||
if (resolveModule.testRoot != null) {
|
||||
addRoot(
|
||||
ideaModule,
|
||||
resolveModule.testRoot,
|
||||
isTestRoot = true,
|
||||
transformContainedFiles = { if (it.extension == "kt") clearFileFromDiagnosticMarkup(it) }
|
||||
)
|
||||
}
|
||||
|
||||
resolveModule to ideaModule
|
||||
}.toMap()
|
||||
|
||||
|
||||
@@ -29,7 +29,8 @@ open class ResolveModule(
|
||||
val name: String,
|
||||
val root: File,
|
||||
val platform: TargetPlatform,
|
||||
val dependencies: List<ResolveDependency>
|
||||
val dependencies: List<ResolveDependency>,
|
||||
val testRoot: File? = null
|
||||
) {
|
||||
final override fun toString(): String {
|
||||
return buildString { renderDescription(Printer(this)) }
|
||||
@@ -40,6 +41,7 @@ open class ResolveModule(
|
||||
printer.pushIndent()
|
||||
printer.println("platform=$platform")
|
||||
printer.println("root=${root.absolutePath}")
|
||||
if (testRoot != null) printer.println("testRoot=${testRoot.absolutePath}")
|
||||
printer.println("dependencies=${dependencies.joinToString { it.to.name }}")
|
||||
}
|
||||
|
||||
@@ -66,6 +68,7 @@ open class ResolveModule(
|
||||
var root: File? = null
|
||||
var platform: TargetPlatform? = null
|
||||
val dependencies: MutableList<ResolveDependency.Builder> = mutableListOf()
|
||||
var testRoot: File? = null
|
||||
|
||||
open fun build(): ResolveModule {
|
||||
if (state == State.BUILT) return cachedResult!!
|
||||
@@ -74,7 +77,7 @@ open class ResolveModule(
|
||||
state = State.BUILDING
|
||||
|
||||
val builtDependencies = dependencies.map { it.build() }
|
||||
cachedResult = ResolveModule(name!!, root!!, platform!!, builtDependencies)
|
||||
cachedResult = ResolveModule(name!!, root!!, platform!!, builtDependencies, testRoot)
|
||||
state = State.BUILT
|
||||
|
||||
return cachedResult!!
|
||||
|
||||
@@ -68,6 +68,9 @@ open class ProjectStructureParser(private val projectRoot: File) {
|
||||
|
||||
val root = attributes["root"] ?: builder.name!!
|
||||
builder.root = File(projectRoot, root)
|
||||
|
||||
val testRoot = attributes["testRoot"]
|
||||
if (testRoot != null) builder.testRoot = File(projectRoot, testRoot)
|
||||
}
|
||||
|
||||
private fun Reader.parseDependenciesDefinition(fromName: String) {
|
||||
|
||||
Reference in New Issue
Block a user