[Pill] Support production-on-test dependencies
This commit is contained in:
@@ -335,7 +335,7 @@ class JpsCompatiblePluginTasks(
|
|||||||
for (path in paths) {
|
for (path in paths) {
|
||||||
val module = project.modules.find { it.path == path }
|
val module = project.modules.find { it.path == path }
|
||||||
if (module != null) {
|
if (module != null) {
|
||||||
result += PDependency.Module(module.name)
|
result += PDependency.Module(module)
|
||||||
result += module.embeddedDependencies.flatMap { invoke(project, it) }
|
result += module.embeddedDependencies.flatMap { invoke(project, it) }
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ class ModelParser(private val modulePrefix: String, private val globalExcludedDi
|
|||||||
|
|
||||||
var orderRoots = parseDependencies(project, sourceSet)
|
var orderRoots = parseDependencies(project, sourceSet)
|
||||||
if (productionModule != null) {
|
if (productionModule != null) {
|
||||||
val productionModuleDependency = PDependency.Module(productionModule.name)
|
val productionModuleDependency = PDependency.Module(productionModule)
|
||||||
orderRoots = listOf(POrderRoot(productionModuleDependency, Scope.COMPILE, true)) + orderRoots
|
orderRoots = listOf(POrderRoot(productionModuleDependency, Scope.COMPILE, true)) + orderRoots
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,13 @@ package org.jetbrains.kotlin.pill.model
|
|||||||
data class POrderRoot(
|
data class POrderRoot(
|
||||||
val dependency: PDependency,
|
val dependency: PDependency,
|
||||||
val scope: Scope,
|
val scope: Scope,
|
||||||
val isExported: Boolean = false,
|
val isExported: Boolean = false
|
||||||
val isProductionOnTestDependency: Boolean = false
|
|
||||||
) {
|
) {
|
||||||
enum class Scope { COMPILE, TEST, RUNTIME, PROVIDED }
|
enum class Scope { COMPILE, TEST, RUNTIME, PROVIDED }
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class PDependency {
|
sealed class PDependency {
|
||||||
data class Module(val name: String) : PDependency()
|
data class Module(val module: PModule) : PDependency()
|
||||||
data class Library(val name: String) : PDependency()
|
data class Library(val name: String) : PDependency()
|
||||||
data class ModuleLibrary(val library: PLibrary) : PDependency()
|
data class ModuleLibrary(val library: PLibrary) : PDependency()
|
||||||
}
|
}
|
||||||
@@ -146,7 +146,7 @@ private fun renderModule(project: PProject, module: PModule) = PFile(
|
|||||||
)
|
)
|
||||||
is PDependency.Module -> mutableListOf(
|
is PDependency.Module -> mutableListOf(
|
||||||
"type" to "module",
|
"type" to "module",
|
||||||
"module-name" to dependency.name
|
"module-name" to dependency.module.name
|
||||||
)
|
)
|
||||||
is PDependency.Library -> mutableListOf(
|
is PDependency.Library -> mutableListOf(
|
||||||
"type" to "library",
|
"type" to "library",
|
||||||
@@ -159,7 +159,7 @@ private fun renderModule(project: PProject, module: PModule) = PFile(
|
|||||||
args.add(1, "scope" to orderRoot.scope.toString())
|
args.add(1, "scope" to orderRoot.scope.toString())
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dependency is PDependency.Module && orderRoot.isProductionOnTestDependency) {
|
if (!module.forTests && dependency is PDependency.Module && dependency.module.forTests) {
|
||||||
args += ("production-on-test" to "")
|
args += ("production-on-test" to "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user