Move kotlin-build-statistic project to :compiler
This commit is contained in:
committed by
Space Team
parent
e34dd043da
commit
2a391f7330
@@ -74,7 +74,7 @@ dependencies {
|
||||
testImplementation(project(":kotlin-compiler-embeddable"))
|
||||
testImplementation(commonDependency("org.jetbrains.intellij.deps:jdom"))
|
||||
testImplementation(project(":compiler:cli-common"))
|
||||
testImplementation(project(":kotlin-build-statistic"))
|
||||
testImplementation(project(":compiler:build-tools:kotlin-build-statistics"))
|
||||
// testCompileOnly dependency on non-shaded artifacts is needed for IDE support
|
||||
// testRuntimeOnly on shaded artifact is needed for running tests with shaded compiler
|
||||
testCompileOnly(project(":kotlin-gradle-plugin-test-utils-embeddable"))
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ import io.ktor.server.netty.*
|
||||
import io.ktor.util.*
|
||||
import io.ktor.util.collections.*
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.kotlin.build.report.statistic.*
|
||||
import org.jetbrains.kotlin.build.report.statistics.*
|
||||
import org.jetbrains.kotlin.gradle.report.BuildReportType
|
||||
import org.jetbrains.kotlin.gradle.testbase.*
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
|
||||
@@ -52,12 +52,14 @@ dependencies {
|
||||
commonCompileOnly(intellijCore())
|
||||
commonCompileOnly(commonDependency("org.jetbrains.teamcity:serviceMessages"))
|
||||
commonCompileOnly("com.gradle:gradle-enterprise-gradle-plugin:3.12.4")
|
||||
commonCompileOnly(commonDependency("com.google.code.gson:gson"))
|
||||
commonCompileOnly(commonDependency("com.google.guava:guava"))
|
||||
commonCompileOnly("de.undercouch:gradle-download-task:4.1.1")
|
||||
commonCompileOnly("com.github.gundy:semver4j:0.16.4:nodeps") {
|
||||
exclude(group = "*")
|
||||
}
|
||||
commonCompileOnly(project(":kotlin-tooling-metadata"))
|
||||
commonCompileOnly(project(":compiler:build-tools:kotlin-build-statistics"))
|
||||
|
||||
|
||||
commonImplementation(project(":kotlin-gradle-plugin-idea"))
|
||||
@@ -66,7 +68,6 @@ dependencies {
|
||||
commonImplementation(project(":native:kotlin-klib-commonizer-api"))
|
||||
commonImplementation(project(":kotlin-project-model"))
|
||||
commonImplementation(project(":compiler:build-tools:kotlin-build-tools-api"))
|
||||
commonImplementation(project(":kotlin-build-statistic"))
|
||||
|
||||
commonRuntimeOnly(project(":kotlin-compiler-embeddable"))
|
||||
commonRuntimeOnly(project(":kotlin-annotation-processing-embeddable"))
|
||||
@@ -111,7 +112,6 @@ dependencies {
|
||||
testImplementation(commonDependency("junit:junit"))
|
||||
testImplementation(project(":kotlin-gradle-statistics"))
|
||||
testImplementation(project(":kotlin-tooling-metadata"))
|
||||
testImplementation(projectTests(":kotlin-build-statistic"))
|
||||
}
|
||||
|
||||
configurations.commonCompileClasspath.get().exclude("org.jetbrains.kotlinx", "kotlinx-coroutines-core")
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
import org.jetbrains.kotlin.gradle.logging.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.internal.state.TaskExecutionResults
|
||||
import org.jetbrains.kotlin.gradle.plugin.internal.state.TaskLoggers
|
||||
import org.jetbrains.kotlin.build.report.statistic.StatTag
|
||||
import org.jetbrains.kotlin.build.report.statistics.StatTag
|
||||
import org.jetbrains.kotlin.gradle.report.*
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilerExecutionStrategy
|
||||
import org.jetbrains.kotlin.gradle.tasks.cleanOutputsAndLocalState
|
||||
|
||||
+3
-3
@@ -13,8 +13,8 @@ internal class GradleKotlinLogger(private val log: Logger) : KotlinLogger {
|
||||
log.debug(msg)
|
||||
}
|
||||
|
||||
override fun error(msg: String) {
|
||||
log.error(msg)
|
||||
override fun error(msg: String, throwable: Throwable?) {
|
||||
log.error(msg, throwable)
|
||||
}
|
||||
|
||||
override fun info(msg: String) {
|
||||
@@ -25,7 +25,7 @@ internal class GradleKotlinLogger(private val log: Logger) : KotlinLogger {
|
||||
log.warn(msg)
|
||||
}
|
||||
|
||||
fun lifecycle(msg: String) {
|
||||
override fun lifecycle(msg: String) {
|
||||
log.lifecycle(msg)
|
||||
}
|
||||
|
||||
|
||||
+6
-2
@@ -13,8 +13,12 @@ internal class SL4JKotlinLogger(private val log: Logger) : KotlinLogger {
|
||||
log.debug(msg)
|
||||
}
|
||||
|
||||
override fun error(msg: String) {
|
||||
log.error(msg)
|
||||
override fun lifecycle(msg: String) {
|
||||
log.info(msg)
|
||||
}
|
||||
|
||||
override fun error(msg: String, throwable: Throwable?) {
|
||||
log.error(msg, throwable)
|
||||
}
|
||||
|
||||
override fun info(msg: String) {
|
||||
|
||||
+10
-6
@@ -26,13 +26,12 @@ import org.jetbrains.kotlin.build.report.metrics.BuildMetrics
|
||||
import org.jetbrains.kotlin.build.report.metrics.BuildMetricsReporter
|
||||
import org.jetbrains.kotlin.build.report.metrics.BuildPerformanceMetric
|
||||
import org.jetbrains.kotlin.build.report.metrics.BuildTime
|
||||
import org.jetbrains.kotlin.build.report.statistic.HttpReportService
|
||||
import org.jetbrains.kotlin.build.report.statistic.HttpReportServiceImpl
|
||||
import org.jetbrains.kotlin.build.report.statistics.HttpReportService
|
||||
import org.jetbrains.kotlin.gradle.plugin.BuildEventsListenerRegistryHolder
|
||||
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
|
||||
import org.jetbrains.kotlin.gradle.plugin.internal.state.TaskExecutionResults
|
||||
import org.jetbrains.kotlin.build.report.statistic.GradleBuildStartParameters
|
||||
import org.jetbrains.kotlin.build.report.statistic.StatTag
|
||||
import org.jetbrains.kotlin.build.report.statistics.BuildStartParameters
|
||||
import org.jetbrains.kotlin.build.report.statistics.StatTag
|
||||
import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService
|
||||
import org.jetbrains.kotlin.gradle.report.BuildReportsService.Companion.getStartParameters
|
||||
import org.jetbrains.kotlin.gradle.report.data.BuildOperationRecord
|
||||
@@ -45,6 +44,7 @@ import org.jetbrains.kotlin.statistics.metrics.NumericalMetrics
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
import java.util.concurrent.ConcurrentLinkedQueue
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
import java.lang.management.ManagementFactory
|
||||
|
||||
internal interface UsesBuildMetricsService : Task {
|
||||
@get:Internal
|
||||
@@ -55,7 +55,7 @@ abstract class BuildMetricsService : BuildService<BuildMetricsService.Parameters
|
||||
|
||||
//Part of BuildReportService
|
||||
interface Parameters : BuildServiceParameters {
|
||||
val startParameters: Property<GradleBuildStartParameters>
|
||||
val startParameters: Property<BuildStartParameters>
|
||||
val reportingSettings: Property<ReportingSettings>
|
||||
val httpService: Property<HttpReportService>
|
||||
|
||||
@@ -204,7 +204,7 @@ abstract class BuildMetricsService : BuildService<BuildMetricsService.Parameters
|
||||
it.parameters.reportingSettings.set(reportingSettings)
|
||||
reportingSettings.httpReportSettings?.let { httpSettings ->
|
||||
it.parameters.httpService.set(
|
||||
HttpReportServiceImpl(
|
||||
HttpReportService(
|
||||
httpSettings.url,
|
||||
httpSettings.user,
|
||||
httpSettings.password
|
||||
@@ -265,6 +265,10 @@ abstract class BuildMetricsService : BuildService<BuildMetricsService.Parameters
|
||||
if (gradle.startParameter.isBuildCacheEnabled) {
|
||||
additionalTags.add(StatTag.BUILD_CACHE)
|
||||
}
|
||||
val debugConfiguration = "-agentlib:"
|
||||
if (ManagementFactory.getRuntimeMXBean().inputArguments.firstOrNull { it.startsWith(debugConfiguration) } != null) {
|
||||
additionalTags.add(StatTag.GRADLE_DEBUG)
|
||||
}
|
||||
return additionalTags
|
||||
}
|
||||
}
|
||||
|
||||
+11
-16
@@ -9,18 +9,17 @@ import org.gradle.api.Project
|
||||
import org.gradle.api.logging.Logging
|
||||
import org.gradle.tooling.events.task.TaskFinishEvent
|
||||
import org.jetbrains.kotlin.build.report.metrics.ValueType
|
||||
import org.jetbrains.kotlin.build.report.statistic.HttpReportService
|
||||
import org.jetbrains.kotlin.build.report.statistic.file.FileReportService
|
||||
import org.jetbrains.kotlin.build.report.statistic.formatSize
|
||||
import org.jetbrains.kotlin.build.report.statistic.BuildFinishStatisticsData
|
||||
import org.jetbrains.kotlin.build.report.statistic.CompileStatisticsData
|
||||
import org.jetbrains.kotlin.build.report.statistic.GradleBuildStartParameters
|
||||
import org.jetbrains.kotlin.build.report.statistic.StatTag
|
||||
import org.jetbrains.kotlin.build.report.statistics.HttpReportService
|
||||
import org.jetbrains.kotlin.build.report.statistics.file.FileReportService
|
||||
import org.jetbrains.kotlin.build.report.statistics.formatSize
|
||||
import org.jetbrains.kotlin.build.report.statistics.BuildFinishStatisticsData
|
||||
import org.jetbrains.kotlin.build.report.statistics.CompileStatisticsData
|
||||
import org.jetbrains.kotlin.build.report.statistics.BuildStartParameters
|
||||
import org.jetbrains.kotlin.build.report.statistics.StatTag
|
||||
import org.jetbrains.kotlin.gradle.report.data.BuildExecutionData
|
||||
import org.jetbrains.kotlin.gradle.report.data.BuildOperationRecord
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.measureTimeMillisWithResult
|
||||
import java.io.File
|
||||
import java.lang.management.ManagementFactory
|
||||
import java.net.InetAddress
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
@@ -133,11 +132,11 @@ class BuildReportsService {
|
||||
parameters.httpService?.sendData(buildFinishData, loggerAdapter)
|
||||
}
|
||||
|
||||
private fun GradleBuildStartParameters.includeVerboseEnvironment(verboseEnvironment: Boolean): GradleBuildStartParameters {
|
||||
private fun BuildStartParameters.includeVerboseEnvironment(verboseEnvironment: Boolean): BuildStartParameters {
|
||||
return if (verboseEnvironment) {
|
||||
this
|
||||
} else {
|
||||
GradleBuildStartParameters(
|
||||
BuildStartParameters(
|
||||
tasks = this.tasks,
|
||||
excludedTasks = this.excludedTasks,
|
||||
currentDir = null,
|
||||
@@ -284,10 +283,6 @@ class BuildReportsService {
|
||||
label?.also {
|
||||
buildScan.buildScan.tag(it)
|
||||
}
|
||||
val debugConfiguration = "-agentlib:"
|
||||
if (ManagementFactory.getRuntimeMXBean().inputArguments.firstOrNull { it.startsWith(debugConfiguration) } != null) {
|
||||
buildScan.buildScan.tag(StatTag.GRADLE_DEBUG.readableString)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun addCollectedTags(buildScan: BuildScanExtensionHolder) {
|
||||
@@ -322,7 +317,7 @@ class BuildReportsService {
|
||||
private val DATE_FORMATTER = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss")
|
||||
|
||||
fun getStartParameters(project: Project) = project.gradle.startParameter.let {
|
||||
GradleBuildStartParameters(
|
||||
BuildStartParameters(
|
||||
tasks = it.taskRequests.flatMap { it.args },
|
||||
excludedTasks = it.excludedTaskNames,
|
||||
currentDir = it.currentDir.path,
|
||||
@@ -352,7 +347,7 @@ enum class TaskExecutionState {
|
||||
}
|
||||
|
||||
data class BuildReportParameters(
|
||||
val startParameters: GradleBuildStartParameters,
|
||||
val startParameters: BuildStartParameters,
|
||||
val reportingSettings: ReportingSettings,
|
||||
val httpService: HttpReportService?,
|
||||
|
||||
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.report
|
||||
|
||||
import org.gradle.api.logging.Logger
|
||||
|
||||
class GradleLoggerAdapter(private val log: Logger) : org.jetbrains.kotlin.util.Logger {
|
||||
override fun log(message: String) {
|
||||
log.info(message)
|
||||
}
|
||||
|
||||
override fun warning(message: String) {
|
||||
log.warn(message)
|
||||
}
|
||||
|
||||
override fun fatal(message: String): Nothing {
|
||||
log.error(message)
|
||||
kotlin.error(message)
|
||||
}
|
||||
|
||||
override fun error(message: String, throwable: Throwable?) {
|
||||
throwable?.let { log.error(message, throwable) } ?: log.error(message)
|
||||
}
|
||||
|
||||
override fun lifecycle(message: String) {
|
||||
log.lifecycle(message)
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.report
|
||||
|
||||
import org.gradle.api.logging.Logger
|
||||
import org.jetbrains.kotlin.compilerRunner.KotlinLogger
|
||||
|
||||
class GradleLoggerAdapter(private val log: Logger) : KotlinLogger {
|
||||
|
||||
override val isDebugEnabled: Boolean
|
||||
get() = log.isDebugEnabled
|
||||
override fun info(msg: String) {
|
||||
log.info(msg)
|
||||
}
|
||||
|
||||
override fun debug(msg: String) {
|
||||
log.debug(msg)
|
||||
}
|
||||
|
||||
override fun warn(msg: String) {
|
||||
log.warn(msg)
|
||||
}
|
||||
|
||||
override fun error(msg: String, throwable: Throwable?) {
|
||||
throwable?.let { log.error(msg, throwable) } ?: log.error(msg)
|
||||
}
|
||||
|
||||
override fun lifecycle(message: String) {
|
||||
log.lifecycle(message)
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.gradle.report
|
||||
|
||||
import org.jetbrains.kotlin.build.report.metrics.BuildMetrics
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
import org.jetbrains.kotlin.build.report.statistic.StatTag
|
||||
import org.jetbrains.kotlin.build.report.statistics.StatTag
|
||||
import org.jetbrains.kotlin.incremental.ChangedFiles
|
||||
|
||||
internal class TaskExecutionResult(
|
||||
|
||||
+2
-2
@@ -6,10 +6,10 @@
|
||||
package org.jetbrains.kotlin.gradle.report.data
|
||||
|
||||
import org.jetbrains.kotlin.build.report.metrics.BuildMetrics
|
||||
import org.jetbrains.kotlin.build.report.statistic.GradleBuildStartParameters
|
||||
import org.jetbrains.kotlin.build.report.statistics.BuildStartParameters
|
||||
|
||||
class BuildExecutionData(
|
||||
val startParameters: GradleBuildStartParameters,
|
||||
val startParameters: BuildStartParameters,
|
||||
val failureMessages: List<String?>,
|
||||
val buildOperationRecord: Collection<BuildOperationRecord>
|
||||
) {
|
||||
|
||||
+2
-2
@@ -10,8 +10,8 @@ import org.gradle.tooling.events.task.TaskFinishEvent
|
||||
import org.gradle.tooling.events.task.TaskSkippedResult
|
||||
import org.gradle.tooling.events.task.TaskSuccessResult
|
||||
import org.jetbrains.kotlin.build.report.metrics.*
|
||||
import org.jetbrains.kotlin.build.report.statistic.CompileStatisticsData
|
||||
import org.jetbrains.kotlin.build.report.statistic.StatTag
|
||||
import org.jetbrains.kotlin.build.report.statistics.CompileStatisticsData
|
||||
import org.jetbrains.kotlin.build.report.statistics.StatTag
|
||||
import org.jetbrains.kotlin.gradle.report.data.BuildOperationRecord
|
||||
import org.jetbrains.kotlin.incremental.ChangedFiles
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
+1
-2
@@ -115,9 +115,8 @@ internal fun getAllDependencies(dependency: ResolvedDependencyResult): Set<Resol
|
||||
internal class GradleLoggerAdapter(private val gradleLogger: Logger) : org.jetbrains.kotlin.util.Logger {
|
||||
override fun log(message: String) = gradleLogger.info(message)
|
||||
override fun warning(message: String) = gradleLogger.warn(message)
|
||||
override fun error(message: String, throwable: Throwable?) = kotlin.error(message)
|
||||
override fun error(message: String) = kotlin.error(message)
|
||||
override fun fatal(message: String): Nothing = kotlin.error(message)
|
||||
override fun lifecycle(message: String) = gradleLogger.lifecycle(message)
|
||||
}
|
||||
|
||||
private fun libraryFilter(artifact: ResolvedArtifactResult): Boolean = artifact.file.absolutePath.endsWith(".klib")
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import org.gradle.tooling.events.task.TaskFinishEvent
|
||||
import org.gradle.tooling.events.task.TaskOperationDescriptor
|
||||
import org.gradle.tooling.events.task.TaskOperationResult
|
||||
import org.jetbrains.kotlin.build.report.metrics.*
|
||||
import org.jetbrains.kotlin.build.report.statistic.StatTag
|
||||
import org.jetbrains.kotlin.build.report.statistics.StatTag
|
||||
import org.jetbrains.kotlin.gradle.report.TaskRecord
|
||||
import org.jetbrains.kotlin.gradle.report.prepareData
|
||||
import org.junit.Ignore
|
||||
|
||||
Reference in New Issue
Block a user