[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
|
val KotlinBuildProperties.disableWerror: Boolean
|
||||||
get() = getBoolean("kotlin.build.disable.werror") || useFir || isInJpsBuildIdeaSync || getBoolean("test.progressive.mode")
|
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?
|
val KotlinBuildProperties.pathToKotlinModularizedTestData: String?
|
||||||
get() = getOrNull("kotlin.fir.modularized.testdata.kotlin") as? 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
|
# Those properties are used to automatically generate run configurations for modularized
|
||||||
# and full pipeline tests for different sets of test data
|
# 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.kotlin=/path/to/kotlin/project/testdata
|
||||||
#kotlin.fir.modularized.testdata.intellij=/path/to/intellij/project/testdata
|
#kotlin.fir.modularized.testdata.intellij=/path/to/intellij/project/testdata
|
||||||
#kotlin.fir.modularized.testdata.youtrack=/path/to/youtrack/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) {
|
for ((path, projectName, additionalParameters) in testDataPathList) {
|
||||||
rootProject.afterEvaluate {
|
rootProject.afterEvaluate {
|
||||||
val configurations = mutableListOf<Pair<String, String?>>(
|
val configurations = mutableListOf<Pair<String, String?>>(
|
||||||
"Full $projectName" to null
|
"Full $projectName" to null
|
||||||
)
|
)
|
||||||
|
if (generateAdditionalConfigurations) {
|
||||||
additionalConfigurationsWithFilter[projectName]?.let {
|
additionalConfigurationsWithFilter[projectName]?.let {
|
||||||
configurations.addAll(it)
|
configurations.addAll(it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val jpsBuildEnabled = kotlinBuildProperties.isInJpsBuildIdeaSync
|
val jpsBuildEnabled = kotlinBuildProperties.isInJpsBuildIdeaSync
|
||||||
|
|
||||||
for ((name, benchFilter) in configurations) {
|
for ((name, benchFilter) in configurations) {
|
||||||
generateGradleConfiguration("[MT] $name", "FirResolveModularizedTotalKotlinTest", path, additionalParameters, benchFilter)
|
if (generateMT) {
|
||||||
generateGradleConfiguration("[FP] $name", "FullPipelineModularizedTest", path, additionalParameters, benchFilter)
|
generateGradleConfiguration(
|
||||||
|
"[MT] $name",
|
||||||
|
"FirResolveModularizedTotalKotlinTest",
|
||||||
|
path,
|
||||||
|
additionalParameters,
|
||||||
|
benchFilter
|
||||||
|
)
|
||||||
|
}
|
||||||
|
if (generateFP) {
|
||||||
|
generateGradleConfiguration(
|
||||||
|
"[FP] $name",
|
||||||
|
"FullPipelineModularizedTest",
|
||||||
|
path,
|
||||||
|
additionalParameters,
|
||||||
|
benchFilter
|
||||||
|
)
|
||||||
|
}
|
||||||
if (jpsBuildEnabled) {
|
if (jpsBuildEnabled) {
|
||||||
generateJpsConfiguration("[MT-JPS] $name", "FirResolveModularizedTotalKotlinTest", path, additionalParameters, benchFilter)
|
if (generateMT) {
|
||||||
generateJpsConfiguration("[FP-JPS] $name", "FullPipelineModularizedTest", path, additionalParameters, benchFilter)
|
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