[Build] Add ability to choose which run configurations for modularized tests should be generated
This commit is contained in:
@@ -22,6 +22,15 @@ val KotlinBuildProperties.ignoreTestFailures: Boolean get() = getBoolean("ignore
|
||||
val KotlinBuildProperties.disableWerror: Boolean
|
||||
get() = getBoolean("kotlin.build.disable.werror") || useFir || isInJpsBuildIdeaSync || getBoolean("test.progressive.mode")
|
||||
|
||||
val KotlinBuildProperties.generateModularizedConfigurations: Boolean
|
||||
get() = getBoolean("kotlin.fir.modularized.mt.configurations", false)
|
||||
|
||||
val KotlinBuildProperties.generateFullPipelineConfigurations: Boolean
|
||||
get() = getBoolean("kotlin.fir.modularized.fp.configurations", false)
|
||||
|
||||
val KotlinBuildProperties.generateAdditionalConfigurations: Boolean
|
||||
get() = getBoolean("kotlin.fir.modularized.additional.configurations", false)
|
||||
|
||||
val KotlinBuildProperties.pathToKotlinModularizedTestData: String?
|
||||
get() = getOrNull("kotlin.fir.modularized.testdata.kotlin") as? String
|
||||
|
||||
|
||||
@@ -74,6 +74,13 @@ org.gradle.vfs.watch=true
|
||||
|
||||
# Those properties are used to automatically generate run configurations for modularized
|
||||
# and full pipeline tests for different sets of test data
|
||||
# Generate ModularizedTest configurations
|
||||
#kotlin.fir.modularized.mt.configurations=true
|
||||
# Generate FullPipeline configurations
|
||||
#kotlin.fir.modularized.fp.configurations=true
|
||||
# Generate additional configurations for Kotlin project
|
||||
#kotlin.fir.modularized.additional.configurations
|
||||
# Specify paths to projects for modularized tests
|
||||
#kotlin.fir.modularized.testdata.kotlin=/path/to/kotlin/project/testdata
|
||||
#kotlin.fir.modularized.testdata.intellij=/path/to/intellij/project/testdata
|
||||
#kotlin.fir.modularized.testdata.youtrack=/path/to/youtrack/project/testdata
|
||||
|
||||
@@ -159,24 +159,61 @@ val additionalConfigurationsWithFilter = mapOf(
|
||||
)
|
||||
)
|
||||
|
||||
val generateMT = kotlinBuildProperties.generateModularizedConfigurations
|
||||
val generateFP = kotlinBuildProperties.generateFullPipelineConfigurations
|
||||
val generateAdditionalConfigurations = kotlinBuildProperties.generateAdditionalConfigurations
|
||||
|
||||
for ((path, projectName, additionalParameters) in testDataPathList) {
|
||||
rootProject.afterEvaluate {
|
||||
val configurations = mutableListOf<Pair<String, String?>>(
|
||||
"Full $projectName" to null
|
||||
)
|
||||
|
||||
additionalConfigurationsWithFilter[projectName]?.let {
|
||||
configurations.addAll(it)
|
||||
if (generateAdditionalConfigurations) {
|
||||
additionalConfigurationsWithFilter[projectName]?.let {
|
||||
configurations.addAll(it)
|
||||
}
|
||||
}
|
||||
|
||||
val jpsBuildEnabled = kotlinBuildProperties.isInJpsBuildIdeaSync
|
||||
|
||||
for ((name, benchFilter) in configurations) {
|
||||
generateGradleConfiguration("[MT] $name", "FirResolveModularizedTotalKotlinTest", path, additionalParameters, benchFilter)
|
||||
generateGradleConfiguration("[FP] $name", "FullPipelineModularizedTest", path, additionalParameters, benchFilter)
|
||||
if (generateMT) {
|
||||
generateGradleConfiguration(
|
||||
"[MT] $name",
|
||||
"FirResolveModularizedTotalKotlinTest",
|
||||
path,
|
||||
additionalParameters,
|
||||
benchFilter
|
||||
)
|
||||
}
|
||||
if (generateFP) {
|
||||
generateGradleConfiguration(
|
||||
"[FP] $name",
|
||||
"FullPipelineModularizedTest",
|
||||
path,
|
||||
additionalParameters,
|
||||
benchFilter
|
||||
)
|
||||
}
|
||||
if (jpsBuildEnabled) {
|
||||
generateJpsConfiguration("[MT-JPS] $name", "FirResolveModularizedTotalKotlinTest", path, additionalParameters, benchFilter)
|
||||
generateJpsConfiguration("[FP-JPS] $name", "FullPipelineModularizedTest", path, additionalParameters, benchFilter)
|
||||
if (generateMT) {
|
||||
generateJpsConfiguration(
|
||||
"[MT-JPS] $name",
|
||||
"FirResolveModularizedTotalKotlinTest",
|
||||
path,
|
||||
additionalParameters,
|
||||
benchFilter
|
||||
)
|
||||
}
|
||||
if (generateFP) {
|
||||
generateJpsConfiguration(
|
||||
"[FP-JPS] $name",
|
||||
"FullPipelineModularizedTest",
|
||||
path,
|
||||
additionalParameters,
|
||||
benchFilter
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user