diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildStatisticsWithKtorIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildStatisticsWithKtorIT.kt index 0159ee00f73..9a4bca2965b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildStatisticsWithKtorIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildStatisticsWithKtorIT.kt @@ -86,6 +86,9 @@ class BuildStatisticsWithKtorIT : KGPBaseTest() { if (!startParameters.tasks.containsAll(validationData.tasks.toList())) { validationErrors.add("Different set of executed tasks. Expected ${validationData.tasks.asList()} actual ${startParameters.tasks}") } + if (gitBranch.isBlank()) { + validationErrors.add("Git branch is not set") + } return validationErrors } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/PropertiesProvider.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/PropertiesProvider.kt index a28e4c9e7dc..d0e47614d32 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/PropertiesProvider.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/PropertiesProvider.kt @@ -97,6 +97,9 @@ internal class PropertiesProvider private constructor(private val project: Proje val buildReportHttpVerboseEnvironment: Boolean get() = property("kotlin.build.report.http.verbose_environment")?.toBoolean() ?: false + val buildReportHttpIncludeGitBranchName: Boolean + get() = property("kotlin.build.report.http.include_git_branch.name")?.toBoolean() ?: false + val buildReportBuildScanCustomValuesLimit: Int get() = property("kotlin.build.report.build_scan.custom_values_limit")?.toInt() ?: 1000 diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/CompileStatisticsData.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/CompileStatisticsData.kt index b00e43ef310..53fdf639460 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/CompileStatisticsData.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/statistics/CompileStatisticsData.kt @@ -73,6 +73,7 @@ data class BuildFinishStatisticsData( val timestamp: String = formatter.format(finishTime), val hostName: String? = "Unset", val tags: List, + val gitBranch: String = "Unset" ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/report/BuildReportsService.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/report/BuildReportsService.kt index 8929d1c35a6..9427a34a5b5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/report/BuildReportsService.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/report/BuildReportsService.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.gradle.report import org.gradle.api.Project +import org.gradle.api.file.DirectoryProperty import org.gradle.api.invocation.Gradle import org.gradle.api.logging.Logging import org.gradle.api.provider.ListProperty @@ -26,13 +27,14 @@ import org.jetbrains.kotlin.gradle.plugin.stat.StatTag import org.jetbrains.kotlin.gradle.report.data.BuildExecutionData import org.jetbrains.kotlin.gradle.utils.formatSize import org.jetbrains.kotlin.gradle.utils.isConfigurationCacheAvailable -import org.jetbrains.kotlin.konan.file.File import org.jetbrains.kotlin.utils.addToStdlib.measureTimeMillisWithResult +import java.io.File import java.net.InetAddress import java.text.SimpleDateFormat import java.util.* import java.util.concurrent.ExecutorService import java.util.concurrent.Executors +import java.util.concurrent.TimeUnit import kotlin.system.measureTimeMillis abstract class BuildReportsService : BuildService, AutoCloseable, OperationCompletionListener { @@ -55,6 +57,7 @@ abstract class BuildReportsService : BuildService var buildMetricsService: Provider + val projectDir: DirectoryProperty val label: Property val projectName: Property val kotlinVersion: Property @@ -100,6 +103,17 @@ abstract class BuildReportsService : BuildService