From b9c22a5e5eb7d25b76be68f40ed6246bc8856ee6 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 21 Jan 2022 17:55:08 +0300 Subject: [PATCH] [Build] Add ability to choose which run configurations for modularized tests should be generated --- .../src/main/kotlin/BuildPropertiesExt.kt | 9 ++++ gradle.properties | 7 +++ .../modularizedTestConfigurations.gradle.kts | 51 ++++++++++++++++--- 3 files changed, 60 insertions(+), 7 deletions(-) diff --git a/buildSrc/src/main/kotlin/BuildPropertiesExt.kt b/buildSrc/src/main/kotlin/BuildPropertiesExt.kt index 25301e7c05d..d70244c2395 100644 --- a/buildSrc/src/main/kotlin/BuildPropertiesExt.kt +++ b/buildSrc/src/main/kotlin/BuildPropertiesExt.kt @@ -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 diff --git a/gradle.properties b/gradle.properties index 2e91c3bfde3..35e78b7e4fe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 diff --git a/gradle/modularizedTestConfigurations.gradle.kts b/gradle/modularizedTestConfigurations.gradle.kts index 0891d7d7a65..79efee8059f 100644 --- a/gradle/modularizedTestConfigurations.gradle.kts +++ b/gradle/modularizedTestConfigurations.gradle.kts @@ -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>( "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 + ) + } } } }