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