KT-48620: Avoid build scan listener creation without --scan property

This commit is contained in:
nataliya.valtman
2021-09-27 20:10:11 +03:00
committed by Space
parent a80445bf78
commit d3dc9b19b8
2 changed files with 9 additions and 7 deletions
@@ -12,7 +12,6 @@ import org.gradle.api.invocation.Gradle
import org.gradle.api.logging.Logging
import com.gradle.scan.plugin.BuildScanExtension
import org.gradle.api.provider.Provider
import org.gradle.build.event.BuildEventsListenerRegistry
import org.gradle.tooling.events.OperationCompletionListener
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
import org.jetbrains.kotlin.gradle.plugin.internal.state.TaskExecutionResults
@@ -23,7 +22,6 @@ import org.jetbrains.kotlin.gradle.plugin.statistics.ReportStatisticsToBuildScan
import org.jetbrains.kotlin.gradle.plugin.statistics.ReportStatisticsToElasticSearch
import org.jetbrains.kotlin.gradle.report.configureReporting
import org.jetbrains.kotlin.gradle.utils.isConfigurationCacheAvailable
import java.util.*
//Support Gradle 6 and less. Move to
internal class KotlinGradleBuildServices private constructor(
@@ -78,15 +76,16 @@ internal class KotlinGradleBuildServices private constructor(
val kotlinGradleEsListenerProvider = project.provider {
val listeners = project.rootProject.objects.listProperty(ReportStatistics::class.java)
.value(listOf<ReportStatistics>(ReportStatisticsToElasticSearch))
project.rootProject.extensions.findByName("buildScan")
?.also { listeners.add(ReportStatisticsToBuildScan(it as BuildScanExtension)) }
KotlinBuildEsStatListener(project.rootProject.name, listeners.get(), UUID.randomUUID().toString())
if (project.gradle.startParameter.isBuildScan) {
project.rootProject.extensions.findByName("buildScan")
?.also { listeners.add(ReportStatisticsToBuildScan(it as BuildScanExtension)) }
}
KotlinBuildEsStatListener(project.rootProject.name, listeners.get())
}
if (instance != null) {
log.kotlinDebug(ALREADY_INITIALIZED_MESSAGE)
// instance!!.gradleListenerProviders.forEach { listenerRegistry.onTaskCompletion(it) }
return instance!!
}
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.gradle.plugin.stat.CompileStatData
import org.jetbrains.kotlin.gradle.plugin.stat.ReportStatistics
import org.jetbrains.kotlin.incremental.ChangedFiles
import java.net.InetAddress
import java.util.*
enum class TaskExecutionState {
SKIPPED,
@@ -28,9 +29,11 @@ enum class TaskExecutionState {
;
}
class KotlinBuildEsStatListener(val projectName: String, val reportStatistics: List<ReportStatistics>, val buildUuid: String) :
class KotlinBuildEsStatListener(val projectName: String, val reportStatistics: List<ReportStatistics>) :
OperationCompletionListener, AutoCloseable, TaskExecutionListener {
val buildUuid: String = UUID.randomUUID().toString()
val label by lazy { CompilerSystemProperties.KOTLIN_STAT_LABEl_PROPERTY.value }
val hostName: String? by lazy {
try {