diff --git a/Sources/SwiftBuildSupport/SwiftBuildSystem.swift b/Sources/SwiftBuildSupport/SwiftBuildSystem.swift index f53ece010ce..fc585aced91 100644 --- a/Sources/SwiftBuildSupport/SwiftBuildSystem.swift +++ b/Sources/SwiftBuildSupport/SwiftBuildSystem.swift @@ -677,7 +677,6 @@ public final class SwiftBuildSystem: SPMBuildCore.BuildSystem { switch operation.state { case .succeeded: guard !self.logLevel.isQuiet else { return } - buildMessageHandler.progressAnimation.update(step: 100, total: 100, text: "") buildMessageHandler.progressAnimation.complete(success: true) let duration = ContinuousClock.Instant.now - buildStartTime let formattedDuration = duration.formatted(.units(allowed: [.seconds], fractionalPart: .show(length: 2, rounded: .up))) diff --git a/Sources/SwiftBuildSupport/SwiftBuildSystemMessageHandler.swift b/Sources/SwiftBuildSupport/SwiftBuildSystemMessageHandler.swift index 5c9247f7696..ddcac03da4c 100644 --- a/Sources/SwiftBuildSupport/SwiftBuildSystemMessageHandler.swift +++ b/Sources/SwiftBuildSupport/SwiftBuildSystemMessageHandler.swift @@ -242,17 +242,15 @@ public final class SwiftBuildSystemMessageHandler { } } case .didUpdateProgress(let progressInfo): - let step = Int(progressInfo.percentComplete) let message = if let targetName = progressInfo.targetName { - "\(targetName) \(progressInfo.message)" + "[\(progressInfo.message)] \(targetName)" } else { - "\(progressInfo.message)" + "[\(progressInfo.message)]" } // Skip if message doesn't contain anything useful to display. - // TODO: To file an issue for SwiftBuild here. - if message.contains(where: \.isLetter) { - progressAnimation.update(step: step, total: 100, text: message) + if !message.isEmpty { + progressAnimation.update(step: -1, total: 100, text: message) } callback = { [weak self] buildSystem in diff --git a/Tests/SwiftBuildSupportTests/SwiftBuildSystemMessageHandlerTests.swift b/Tests/SwiftBuildSupportTests/SwiftBuildSystemMessageHandlerTests.swift index 7a32aac40a2..0cfdd461464 100644 --- a/Tests/SwiftBuildSupportTests/SwiftBuildSystemMessageHandlerTests.swift +++ b/Tests/SwiftBuildSupportTests/SwiftBuildSystemMessageHandlerTests.swift @@ -480,10 +480,10 @@ struct SwiftBuildSystemMessageHandlerTests { #expect(self.observability.diagnostics.count == 0) let output = self.outputStream.bytes.description - #expect(output.contains("Weird percent")) - #expect(!output.contains("12 / 32")) - #expect(output.contains("Something useful")) - #expect(output.contains("Complete")) + #expect(output.contains("[Weird percent]")) + #expect(output.contains("[12 / 32]")) + #expect(output.contains("[Something useful]")) + #expect(output.contains("[Complete]")) } }