Remove old build report properties

kotlin.build.report.dir and kotlin.internal.single.build.metrics.file
were deleted

#KT-64380
This commit is contained in:
nataliya.valtman
2024-02-23 21:09:28 +01:00
committed by Space Team
parent a7f57710e2
commit 485840731d
5 changed files with 30 additions and 25 deletions
@@ -26,12 +26,12 @@ import kotlin.test.assertTrue
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.report.data.BuildExecutionData import org.jetbrains.kotlin.gradle.report.data.BuildExecutionData
import org.jetbrains.kotlin.gradle.report.data.BuildOperationRecord import org.jetbrains.kotlin.gradle.report.data.BuildOperationRecord
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
import org.jetbrains.kotlin.gradle.testbase.TestVersions.ThirdPartyDependencies.GRADLE_ENTERPRISE_PLUGIN_VERSION import org.jetbrains.kotlin.gradle.testbase.TestVersions.ThirdPartyDependencies.GRADLE_ENTERPRISE_PLUGIN_VERSION
import java.lang.reflect.Type import java.lang.reflect.Type
import java.nio.file.Files import java.nio.file.Files
import kotlin.streams.asSequence import kotlin.streams.asSequence
import kotlin.test.assertEquals import kotlin.test.assertEquals
import kotlin.test.assertNotNull
@DisplayName("Build reports") @DisplayName("Build reports")
@JvmGradlePluginTests @JvmGradlePluginTests
@@ -248,21 +248,37 @@ class BuildReportsIT : KGPBaseTest() {
} }
} }
@DisplayName("deprecated property") @DisplayName("single build report output")
@GradleTestVersions( @GradleTestVersions(
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0], additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
) )
@GradleTest @GradleTest
fun testDeprecatedAndNewSingleBuildMetricsFile(gradleVersion: GradleVersion) { fun testSingleBuildMetricsFile(gradleVersion: GradleVersion) {
project("simpleProject", gradleVersion) { project("simpleProject", gradleVersion) {
val newMetricsPath = projectPath.resolve("metrics.bin") val newMetricsPath = projectPath.resolve("metrics.bin")
val deprecatedMetricsPath = projectPath.resolve("deprecated_metrics.bin")
build( build(
"compileKotlin", "-Pkotlin.build.report.single_file=${newMetricsPath.pathString}", "compileKotlin", "-Pkotlin.build.report.single_file=${newMetricsPath.pathString}",
"-Pkotlin.internal.single.build.metrics.file=${deprecatedMetricsPath.pathString}" "-Pkotlin.build.report.output=single_file"
) )
assertTrue { deprecatedMetricsPath.exists() } assertTrue { newMetricsPath.exists() }
assertTrue { newMetricsPath.notExists() } }
}
@DisplayName("deprecated properties")
@GradleTestVersions(
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
)
@GradleTest
fun testDeprecatedReportProperties(gradleVersion: GradleVersion) {
project("simpleProject", gradleVersion) {
val deprecatedMetricsPath = projectPath.resolve("deprecated_metrics.bin")
build(
"compileKotlin", "-Pkotlin.build.report.dir=${projectPath.resolve("reports").pathString}",
"-Pkotlin.internal.single.build.metrics.file=${projectPath.resolve("deprecated_metrics.bin").pathString}"
) {
assertHasDiagnostic(KotlinToolingDiagnostics.DeprecatedGradleProperties, "kotlin.internal.single.build.metrics.file")
assertHasDiagnostic(KotlinToolingDiagnostics.DeprecatedGradleProperties, "kotlin.build.report.dir")
}
} }
} }
@@ -67,11 +67,6 @@ import org.jetbrains.kotlin.util.prefixIfNot
import java.io.File import java.io.File
internal class PropertiesProvider private constructor(private val project: Project) { internal class PropertiesProvider private constructor(private val project: Project) {
@Deprecated(message = "Please use kotlin.build.report.output=SINGLE_FILE and kotlin.build.report.single_file ")
val singleBuildMetricsFile: File?
get() = property("kotlin.internal.single.build.metrics.file").orNull?.let { File(it) }
val buildReportSingleFile: File? val buildReportSingleFile: File?
get() = property(PropertyNames.KOTLIN_BUILD_REPORT_SINGLE_FILE).orNull?.let { File(it) } get() = property(PropertyNames.KOTLIN_BUILD_REPORT_SINGLE_FILE).orNull?.let { File(it) }
@@ -117,10 +112,6 @@ internal class PropertiesProvider private constructor(private val project: Proje
val buildReportVerbose: Boolean val buildReportVerbose: Boolean
get() = booleanProperty("kotlin.build.report.verbose") ?: false get() = booleanProperty("kotlin.build.report.verbose") ?: false
@Deprecated("Please use \"kotlin.build.report.file.output_dir\" property instead")
val buildReportDir: File?
get() = property("kotlin.build.report.dir").orNull?.let { File(it) }
val incrementalJvm: Boolean? val incrementalJvm: Boolean?
get() = booleanProperty("kotlin.incremental") get() = booleanProperty("kotlin.incremental")
@@ -810,10 +810,11 @@ object KotlinToolingDiagnostics {
} }
object DeprecatedGradleProperties : ToolingDiagnosticFactory(WARNING) { object DeprecatedGradleProperties : ToolingDiagnosticFactory(WARNING) {
operator fun invoke(usedDeprecatedProperties: List<String>): ToolingDiagnostic { operator fun invoke(usedDeprecatedProperty: String): ToolingDiagnostic {
return build( return build(
""" """
$usedDeprecatedProperties properties were deprecated and are not supported anymore. Please, delete them from project properties. |The `$usedDeprecatedProperty` deprecated property is used in your build.
|Please, stop using it as it is unsupported and may apply no effect to your build.
""".trimMargin() """.trimMargin()
) )
} }
@@ -25,10 +25,11 @@ internal object GradleDeprecatedPropertyChecker : KotlinGradleProjectChecker {
val usedDeprecatedProperties = deprecatedProperties.filter { propertiesBuildService.get(it, project) != null } val usedDeprecatedProperties = deprecatedProperties.filter { propertiesBuildService.get(it, project) != null }
if (usedDeprecatedProperties.isNotEmpty()) { usedDeprecatedProperties.forEach {
collector.reportOncePerGradleBuild( collector.reportOncePerGradleBuild(
project, project,
KotlinToolingDiagnostics.DeprecatedGradleProperties(usedDeprecatedProperties) KotlinToolingDiagnostics.DeprecatedGradleProperties(it),
it
) )
} }
} }
@@ -84,10 +84,6 @@ internal fun reportingSettings(project: Project): ReportingSettings {
?: throw IllegalStateException("Can't configure json report: '$KOTLIN_BUILD_REPORT_JSON_DIR' property is mandatory") ?: throw IllegalStateException("Can't configure json report: '$KOTLIN_BUILD_REPORT_JSON_DIR' property is mandatory")
} else null } else null
//temporary solution. support old property
@Suppress("DEPRECATION")
val oldSingleBuildMetric = properties.singleBuildMetricsFile?.also { buildReportOutputTypes.add(BuildReportType.SINGLE_FILE) }
return ReportingSettings( return ReportingSettings(
buildReportMode = buildReportMode, buildReportMode = buildReportMode,
buildReportLabel = properties.buildReportLabel, buildReportLabel = properties.buildReportLabel,
@@ -95,7 +91,7 @@ internal fun reportingSettings(project: Project): ReportingSettings {
httpReportSettings = httpReportSettings, httpReportSettings = httpReportSettings,
buildScanReportSettings = buildScanSettings, buildScanReportSettings = buildScanSettings,
buildReportOutputs = buildReportOutputTypes, buildReportOutputs = buildReportOutputTypes,
singleOutputFile = singleOutputFile ?: oldSingleBuildMetric, singleOutputFile = singleOutputFile,
jsonOutputDir = jsonReportDir, jsonOutputDir = jsonReportDir,
includeCompilerArguments = properties.buildReportIncludeCompilerArguments, includeCompilerArguments = properties.buildReportIncludeCompilerArguments,
experimentalTryNextConsoleOutput = experimentalTryNextEnabled experimentalTryNextConsoleOutput = experimentalTryNextEnabled