diff --git a/src/main/kotlin/com/smplio/gradle/build/insights/GradleInsightsPlugin.kt b/src/main/kotlin/com/smplio/gradle/build/insights/GradleInsightsPlugin.kt index 2cf8b5f..9221f56 100644 --- a/src/main/kotlin/com/smplio/gradle/build/insights/GradleInsightsPlugin.kt +++ b/src/main/kotlin/com/smplio/gradle/build/insights/GradleInsightsPlugin.kt @@ -57,6 +57,25 @@ class GradleInsightsPlugin @Inject constructor(private val registry: BuildEvents systemLoadModule.getSystemLoadReportProvider()?.let { buildServiceSpec.parameters.systemLoadReportService.set(it) } + + val startParameter = project.gradle.startParameter + val parts = mutableListOf() + startParameter.projectDir?.let { projectDir -> + val rootPath = project.rootProject.rootDir.toPath() + val projectPath = projectDir.toPath() + val p = try { + val rel = rootPath.relativize(projectPath).toString() + rel.ifEmpty { "." } + } catch (e: IllegalArgumentException) { + // Fallback if paths are on different roots (e.g., different drives) + projectPath.toString() + } + parts.add("-p $p") + } + if (startParameter.taskNames.isNotEmpty()) { + parts.add(startParameter.taskNames.joinToString(" ")) + } + buildServiceSpec.parameters.startParameters.set(parts.joinToString(" ")) } registry.onTaskCompletion(compositeReportBuildService) diff --git a/src/main/kotlin/com/smplio/gradle/build/insights/modules/timing/models/BuildInfo.kt b/src/main/kotlin/com/smplio/gradle/build/insights/modules/timing/models/BuildInfo.kt index e57ff19..b24c521 100644 --- a/src/main/kotlin/com/smplio/gradle/build/insights/modules/timing/models/BuildInfo.kt +++ b/src/main/kotlin/com/smplio/gradle/build/insights/modules/timing/models/BuildInfo.kt @@ -2,18 +2,19 @@ package com.smplio.gradle.build.insights.modules.timing.models import java.io.Serializable -data class BuildInfo( - val status: ExecutionStatus, -): Serializable { - sealed class ExecutionStatus { - class Success : ExecutionStatus() - class Failed : ExecutionStatus() + data class BuildInfo( + val status: ExecutionStatus, + val startParameters: String = "", + ): Serializable { + sealed class ExecutionStatus { + class Success : ExecutionStatus() + class Failed : ExecutionStatus() - override fun toString(): String { - return when (this) { - is Success -> "SUCCESS" - is Failed -> "FAILED" - } - } - } -} + override fun toString(): String { + return when (this) { + is Success -> "SUCCESS" + is Failed -> "FAILED" + } + } + } + } diff --git a/src/main/kotlin/com/smplio/gradle/build/insights/report/CompositeReportBuildService.kt b/src/main/kotlin/com/smplio/gradle/build/insights/report/CompositeReportBuildService.kt index 7e96143..277aa6b 100644 --- a/src/main/kotlin/com/smplio/gradle/build/insights/report/CompositeReportBuildService.kt +++ b/src/main/kotlin/com/smplio/gradle/build/insights/report/CompositeReportBuildService.kt @@ -31,6 +31,7 @@ abstract class CompositeReportBuildService : BuildService val configurationTimeReportService: Property val executionTimeReportService: Property + val startParameters: Property } override fun close() { @@ -67,7 +68,8 @@ abstract class CompositeReportBuildService : BuildService +

%s

diff --git a/src/main/resources/style.css b/src/main/resources/style.css index e0b091f..6129152 100644 --- a/src/main/resources/style.css +++ b/src/main/resources/style.css @@ -1,5 +1,6 @@ body { font-family: Arial, sans-serif; + margin: 0; } .overflow-container { @@ -152,4 +153,18 @@ body { /* Show the tooltip text when you mouse over the tooltip container */ .tooltip:hover .tooltiptext { visibility: visible; +} + +/* Header bar */ +.header { + width: 100%; + background: #ffffff; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); + padding: 12px 16px; +} + +.header h2 { + margin: 0 0 6px 0; + font-size: 16px; + color: #333; } \ No newline at end of file