diff --git a/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/reportSettings.kt b/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/reportSettings.kt index 112e29e20ce..adb630e63b1 100644 --- a/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/reportSettings.kt +++ b/compiler/build-tools/kotlin-build-statistics/src/org/jetbrains/kotlin/build/report/reportSettings.kt @@ -10,10 +10,11 @@ import java.io.Serializable data class FileReportSettings( val buildReportDir: File, + val changedFileListPerLimit: Int? = null, val includeMetricsInReport: Boolean = false, ) : Serializable { companion object { - const val serialVersionUID: Long = 0 + const val serialVersionUID: Long = 1 } } diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/statistic/JpsFileReportService.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/statistic/JpsFileReportService.kt index fd76d107518..7a3eea3dec6 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/statistic/JpsFileReportService.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/statistic/JpsFileReportService.kt @@ -11,15 +11,20 @@ import org.jetbrains.kotlin.build.report.statistics.CompileStatisticsData import org.jetbrains.kotlin.build.report.statistics.file.FileReportService import org.jetbrains.kotlin.compilerRunner.JpsKotlinLogger import java.io.File +import kotlin.math.min internal class JpsFileReportService( buildReportDir: File, projectName: String, printMetrics: Boolean, logger: JpsKotlinLogger, + private val changedFileListPerLimit: Int? ) : FileReportService(buildReportDir, projectName, printMetrics, logger) { override fun printCustomTaskMetrics(statisticsData: CompileStatisticsData) { - p.print("Changed files: ${statisticsData.getChanges().sorted()}") - p.print("Execution result: ${statisticsData.getTaskResult()}") + val changedFiles = statisticsData.getChanges().let { changes -> + changedFileListPerLimit?.let { changes.subList(0, min(it, changes.size)) } ?: changes + } + p.println("Changed files: ${changedFiles.sorted()}") + p.println("Execution result: ${statisticsData.getTaskResult()}") } } \ No newline at end of file diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/statistic/JpsStatisticsReportService.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/statistic/JpsStatisticsReportService.kt index fb06d4828ae..5d72a35b98f 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/statistic/JpsStatisticsReportService.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/statistic/JpsStatisticsReportService.kt @@ -17,7 +17,6 @@ import org.jetbrains.kotlin.build.report.metrics.* import org.jetbrains.kotlin.build.report.statistics.* import org.jetbrains.kotlin.compilerRunner.JpsKotlinLogger import org.jetbrains.kotlin.jps.build.KotlinChunk -import org.jetbrains.kotlin.jps.build.KotlinCompileContext import org.jetbrains.kotlin.jps.build.KotlinDirtySourceFilesHolder import java.io.File import java.util.concurrent.ConcurrentHashMap @@ -30,6 +29,8 @@ internal val statisticsReportServiceKey = GlobalContextKey