Add SINGLE_FILE statistic option
This commit is contained in:
+4
@@ -49,9 +49,13 @@ internal class PropertiesProvider private constructor(private val project: Proje
|
||||
}
|
||||
}
|
||||
|
||||
@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")?.let { File(it) }
|
||||
|
||||
val buildReportSingleFile: File?
|
||||
get() = property("kotlin.build.report.single_file")?.let { File(it) }
|
||||
|
||||
@Deprecated(message = "Please use kotlin.build.report.output instead ")
|
||||
val buildReportEnabled: Boolean
|
||||
get() {
|
||||
|
||||
+3
-6
@@ -134,10 +134,7 @@ abstract class BuildMetricsReporterService : BuildService<BuildMetricsReporterSe
|
||||
}
|
||||
|
||||
val reportingSettings = reportingSettings(project.rootProject)
|
||||
if (reportingSettings.buildReportOutputs.isEmpty()
|
||||
&& reportingSettings.fileReportSettings == null
|
||||
&& reportingSettings.metricsOutputFile == null
|
||||
) {
|
||||
if (reportingSettings.buildReportOutputs.isEmpty()) {
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -146,8 +143,8 @@ abstract class BuildMetricsReporterService : BuildService<BuildMetricsReporterSe
|
||||
reportingSettings.fileReportSettings?.let { fileReportSettings ->
|
||||
buildDataProcessors.add(PlainTextBuildReportWriterDataProcessor(fileReportSettings, project.rootProject.name))
|
||||
}
|
||||
reportingSettings.metricsOutputFile?.let { metricsOutputFile ->
|
||||
buildDataProcessors.add(MetricsWriter(metricsOutputFile.absoluteFile))
|
||||
reportingSettings.singleOutputFile?.let { singleOutputFile ->
|
||||
buildDataProcessors.add(MetricsWriter(singleOutputFile.absoluteFile))
|
||||
}
|
||||
|
||||
it.parameters.startParameters = getStartParameters(project)
|
||||
|
||||
+2
-1
@@ -10,7 +10,8 @@ import java.io.Serializable
|
||||
enum class BuildReportType : Serializable {
|
||||
FILE,
|
||||
HTTP,
|
||||
BUILD_SCAN;
|
||||
BUILD_SCAN,
|
||||
SINGLE_FILE;
|
||||
|
||||
companion object {
|
||||
const val serialVersionUID: Long = 0
|
||||
|
||||
+2
-2
@@ -9,12 +9,12 @@ import java.io.File
|
||||
import java.io.Serializable
|
||||
|
||||
data class ReportingSettings(
|
||||
val metricsOutputFile: File? = null,
|
||||
val buildReportOutputs: List<BuildReportType> = emptyList(),
|
||||
val buildReportMode: BuildReportMode = BuildReportMode.NONE,
|
||||
val buildReportLabel: String? = null,
|
||||
val fileReportSettings: FileReportSettings? = null,
|
||||
val httpReportSettings: HttpReportSettings? = null
|
||||
val httpReportSettings: HttpReportSettings? = null,
|
||||
val singleOutputFile: File? = null
|
||||
) : Serializable {
|
||||
companion object {
|
||||
const val serialVersionUID: Long = 1
|
||||
|
||||
+11
-4
@@ -13,7 +13,7 @@ internal fun reportingSettings(rootProject: Project): ReportingSettings {
|
||||
val buildReportOutputTypes = properties.buildReportOutputs.map {
|
||||
BuildReportType.values().firstOrNull { brt -> brt.name == it.trim().toUpperCase() }
|
||||
?: throw IllegalStateException("Unknown output type: $it")
|
||||
}
|
||||
}.toMutableList() //temporary solution. support old property
|
||||
val buildReportMode =
|
||||
when {
|
||||
buildReportOutputTypes.isEmpty() -> BuildReportMode.NONE
|
||||
@@ -36,14 +36,21 @@ internal fun reportingSettings(rootProject: Project): ReportingSettings {
|
||||
} else {
|
||||
null
|
||||
}
|
||||
val metricsOutputFile = properties.singleBuildMetricsFile
|
||||
|
||||
//temporary solution. support old property
|
||||
val oldSingleBuildMetric = properties.singleBuildMetricsFile?.also { buildReportOutputTypes.add(BuildReportType.SINGLE_FILE) }
|
||||
|
||||
val singleOutputFile = if (buildReportOutputTypes.contains(BuildReportType.SINGLE_FILE)) {
|
||||
properties.buildReportSingleFile ?: oldSingleBuildMetric
|
||||
} else null
|
||||
|
||||
return ReportingSettings(
|
||||
metricsOutputFile = metricsOutputFile,
|
||||
buildReportMode = buildReportMode,
|
||||
buildReportLabel = properties.buildReportLabel,
|
||||
fileReportSettings = fileReportSettings,
|
||||
httpReportSettings = httpReportSettings,
|
||||
buildReportOutputs = buildReportOutputTypes
|
||||
buildReportOutputs = buildReportOutputTypes,
|
||||
singleOutputFile = singleOutputFile,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user