[Pill] Remove variant support from Pill, always import BASE modules
Pill variant configurations in build.gradle(.kts) files will be removed in subsequent commits.
This commit is contained in:
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.pill.model.POrderRoot
|
||||
import org.jetbrains.kotlin.pill.model.PProject
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import kotlin.collections.HashMap
|
||||
|
||||
const val EMBEDDED_CONFIGURATION_NAME = "embedded"
|
||||
|
||||
@@ -90,17 +89,10 @@ class JpsCompatiblePluginTasks(
|
||||
fun pill() {
|
||||
initEnvironment(rootProject)
|
||||
|
||||
val variantOptionValue = System.getProperty("pill.variant", "base").uppercase(Locale.US)
|
||||
val variant = PillExtensionMirror.Variant.values().firstOrNull { it.name == variantOptionValue }
|
||||
?: run {
|
||||
rootProject.logger.error("Invalid variant name: $variantOptionValue")
|
||||
return
|
||||
}
|
||||
|
||||
rootProject.logger.lifecycle("Pill: Setting up project for the '${variant.name.lowercase(Locale.US)}' variant...")
|
||||
rootProject.logger.lifecycle("Pill: Setting up project...")
|
||||
|
||||
val modulePrefix = System.getProperty("pill.module.prefix", "")
|
||||
val modelParser = ModelParser(variant, modulePrefix)
|
||||
val modelParser = ModelParser(modulePrefix)
|
||||
|
||||
val dependencyPatcher = DependencyPatcher(rootProject)
|
||||
val dependencyMappers = listOf(dependencyPatcher, ::attachPlatformSources, ::attachAsmSources)
|
||||
|
||||
@@ -25,29 +25,21 @@ import org.gradle.kotlin.dsl.findByType
|
||||
import org.gradle.language.jvm.tasks.ProcessResources
|
||||
import org.jetbrains.kotlin.pill.model.POrderRoot.*
|
||||
import org.jetbrains.kotlin.pill.model.PSourceRoot.*
|
||||
import org.jetbrains.kotlin.pill.PillExtensionMirror.*
|
||||
import org.jetbrains.kotlin.pill.model.*
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import kotlin.collections.HashMap
|
||||
|
||||
typealias OutputDir = String
|
||||
typealias GradleProjectPath = String
|
||||
|
||||
class ModelParser(private val variant: Variant, private val modulePrefix: String) {
|
||||
class ModelParser(private val modulePrefix: String) {
|
||||
fun parse(project: Project): PProject {
|
||||
if (project != project.rootProject) {
|
||||
error("$project is not a root project")
|
||||
}
|
||||
|
||||
fun Project.matchesSelectedVariant(): Boolean {
|
||||
val extension = this.findPillExtensionMirror() ?: return true
|
||||
val projectVariant = extension.variant ?: Variant.BASE
|
||||
return projectVariant in variant.includes
|
||||
}
|
||||
|
||||
val (includedProjects, excludedProjects) = project.allprojects
|
||||
.partition { it.plugins.hasPlugin("jps-compatible") && it.matchesSelectedVariant() }
|
||||
.partition { it.plugins.hasPlugin("jps-compatible") }
|
||||
|
||||
val modules = includedProjects.flatMap { parseModules(it, excludedProjects) }
|
||||
val artifacts = parseArtifacts(project)
|
||||
|
||||
@@ -8,16 +8,7 @@ package org.jetbrains.kotlin.pill
|
||||
import java.io.File
|
||||
import org.gradle.api.Project
|
||||
|
||||
open class PillExtensionMirror(variant: String?, val excludedDirs: List<File>) {
|
||||
val variant = if (variant == null) null else Variant.valueOf(variant)
|
||||
|
||||
enum class Variant(includesFactory: () -> Set<Variant>) {
|
||||
BASE({ setOf(BASE) }), // Includes only compiler (default)
|
||||
FULL({ setOf(BASE, FULL) }); // Includes compiler and Gradle plugin
|
||||
|
||||
val includes by lazy { includesFactory() }
|
||||
}
|
||||
}
|
||||
open class PillExtensionMirror(val excludedDirs: List<File>)
|
||||
|
||||
fun Project.findPillExtensionMirror(): PillExtensionMirror? {
|
||||
val ext = extensions.findByName("pill") ?: return null
|
||||
@@ -25,10 +16,8 @@ fun Project.findPillExtensionMirror(): PillExtensionMirror? {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val serialized = ext::class.java.getMethod("serialize").invoke(ext) as Map<String, Any>
|
||||
|
||||
val variant = serialized["variant"] as String?
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val excludedDirs = serialized["excludedDirs"] as List<File>
|
||||
|
||||
return PillExtensionMirror(variant, excludedDirs)
|
||||
return PillExtensionMirror(excludedDirs)
|
||||
}
|
||||
Reference in New Issue
Block a user