From 13e857caaecfb5c0e1689a2054d29f94e245f216 Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 11:34:51 +0200 Subject: [PATCH 1/9] better console progress --- src/Terrabuild/Core/Configuration.fs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/Terrabuild/Core/Configuration.fs b/src/Terrabuild/Core/Configuration.fs index 488f125d..a068bff9 100644 --- a/src/Terrabuild/Core/Configuration.fs +++ b/src/Terrabuild/Core/Configuration.fs @@ -556,19 +556,18 @@ let private finalizeProject projectDir evaluationContext (projectDef: LoadedProj let read (options: ConfigOptions.Options) = - $"{Ansi.Emojis.box} Reading {options.Configuration} configuration" |> Terminal.writeLine + let warningConfig = [ + if options.Force then "force" + elif options.Retry then "retry" + if options.WhatIf then "whatif" ] |> String.join(" ") + if options.Configuration |> Option.isSome then + $"{Ansi.Emojis.info} Using configuration [{options.Configuration.Value}]" |> Terminal.writeLine + if warningConfig |> String.IsNullOrWhiteSpace |> not then + $"{Ansi.Emojis.warning} Build flags [{warningConfig}]" |> Terminal.writeLine - if options.Force then - $" {Ansi.Styles.yellow}{Ansi.Emojis.bang}{Ansi.Styles.reset} force build requested" |> Terminal.writeLine - else - if options.Retry then - $" {Ansi.Styles.yellow}{Ansi.Emojis.bang}{Ansi.Styles.reset} retry build requested" |> Terminal.writeLine - - if options.WhatIf then - $" {Ansi.Styles.yellow}{Ansi.Emojis.bang}{Ansi.Styles.reset} whatif mode requested" |> Terminal.writeLine options.Run - |> Option.iter (fun run -> $" {Ansi.Styles.green}{Ansi.Emojis.checkmark}{Ansi.Styles.reset} source control is {run.Name}" |> Terminal.writeLine) + |> Option.iter (fun run -> $"{Ansi.Styles.green}{Ansi.Emojis.checkmark}{Ansi.Styles.reset} source control is {run.Name}" |> Terminal.writeLine) let workspaceContent = FS.combinePath options.Workspace "WORKSPACE" |> File.ReadAllText let workspaceConfig = From 10af592df3c09b5b4f1f984cbc2b586863e949d6 Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 11:38:45 +0200 Subject: [PATCH 2/9] add missing file --- src/Terrabuild.Common/Ansi.fs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Terrabuild.Common/Ansi.fs b/src/Terrabuild.Common/Ansi.fs index 14d3362a..dbfee04d 100644 --- a/src/Terrabuild.Common/Ansi.fs +++ b/src/Terrabuild.Common/Ansi.fs @@ -11,6 +11,7 @@ let cursorHome = "\r" let csi (x: int) = $"{CSI}{x}m" module Emojis = + let info = "â„đïļ" let crossmark = "✘" let checkmark = "✔" let party = "🎉" From 514781dc6d31cdba1c2f87b32717f6d25acd856b Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 11:42:49 +0200 Subject: [PATCH 3/9] update icon for SCM --- src/Terrabuild.Common/Ansi.fs | 1 + src/Terrabuild/Core/Configuration.fs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Terrabuild.Common/Ansi.fs b/src/Terrabuild.Common/Ansi.fs index dbfee04d..93d91040 100644 --- a/src/Terrabuild.Common/Ansi.fs +++ b/src/Terrabuild.Common/Ansi.fs @@ -52,6 +52,7 @@ module Emojis = let coffee = "☕ïļ" let construction = "🚧" let tombstone = "ðŸŠĶ" + let octopus = "🐙" module Styles = let reset = csi 0 diff --git a/src/Terrabuild/Core/Configuration.fs b/src/Terrabuild/Core/Configuration.fs index a068bff9..181f5062 100644 --- a/src/Terrabuild/Core/Configuration.fs +++ b/src/Terrabuild/Core/Configuration.fs @@ -567,7 +567,7 @@ let read (options: ConfigOptions.Options) = options.Run - |> Option.iter (fun run -> $"{Ansi.Styles.green}{Ansi.Emojis.checkmark}{Ansi.Styles.reset} source control is {run.Name}" |> Terminal.writeLine) + |> Option.iter (fun run -> $"{Ansi.Emojis.octopus} Source control is {run.Name}" |> Terminal.writeLine) let workspaceContent = FS.combinePath options.Workspace "WORKSPACE" |> File.ReadAllText let workspaceConfig = From 5e47de4577e1b403e4373722cd6f4c7f0823e28b Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 12:00:13 +0200 Subject: [PATCH 4/9] enhance output --- src/Terrabuild.Common/Ansi.fs | 2 +- src/Terrabuild/Core/Builder.fs | 2 +- src/Terrabuild/Core/Configuration.fs | 22 +++++++++++++--------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/Terrabuild.Common/Ansi.fs b/src/Terrabuild.Common/Ansi.fs index 93d91040..fc528260 100644 --- a/src/Terrabuild.Common/Ansi.fs +++ b/src/Terrabuild.Common/Ansi.fs @@ -38,7 +38,7 @@ module Emojis = let bang = "!" let recycle = "â™ŧïļŽ" let log = "𝍌" - let rightarrow = "â–ķ" + let arrow = "â€Ģ" let brain = "🧠" let sun_cloud = "ðŸŒĪïļ" let think = "ðŸĪ”" diff --git a/src/Terrabuild/Core/Builder.fs b/src/Terrabuild/Core/Builder.fs index 58bf67c2..f101d329 100644 --- a/src/Terrabuild/Core/Builder.fs +++ b/src/Terrabuild/Core/Builder.fs @@ -162,7 +162,7 @@ let build (options: ConfigOptions.Options) (configuration: Configuration.Workspa let buildDuration = endedAt - startedAt Log.Debug("Graph Build: {duration}", buildDuration) - $" {Ansi.Styles.green}{Ansi.Emojis.checkmark}{Ansi.Styles.reset} {allNodes.Count} tasks" |> Terminal.writeLine + $" {Ansi.Styles.green}{Ansi.Emojis.arrow}{Ansi.Styles.reset} {allNodes.Count} tasks" |> Terminal.writeLine { Graph.Nodes = allNodes |> Map.ofDict Graph.RootNodes = rootNodes } diff --git a/src/Terrabuild/Core/Configuration.fs b/src/Terrabuild/Core/Configuration.fs index 181f5062..1701712d 100644 --- a/src/Terrabuild/Core/Configuration.fs +++ b/src/Terrabuild/Core/Configuration.fs @@ -556,15 +556,19 @@ let private finalizeProject projectDir evaluationContext (projectDef: LoadedProj let read (options: ConfigOptions.Options) = - let warningConfig = [ - if options.Force then "force" - elif options.Retry then "retry" - if options.WhatIf then "whatif" ] |> String.join(" ") - if options.Configuration |> Option.isSome then - $"{Ansi.Emojis.info} Using configuration [{options.Configuration.Value}]" |> Terminal.writeLine - if warningConfig |> String.IsNullOrWhiteSpace |> not then - $"{Ansi.Emojis.warning} Build flags [{warningConfig}]" |> Terminal.writeLine - + let configInfos = + let warningConfig = [ + if options.Force then "force" + elif options.Retry then "retry" + if options.WhatIf then "whatif" ] |> String.join(" ") + [ + if options.Configuration.IsSome then $"Configuration {options.Configuration.Value}" + if warningConfig |> String.IsNullOrWhiteSpace |> not then $"Build flags [{warningConfig}]" + if options.Run.IsSome then $"Source control {options.Run.Value.Name}" + ] + if configInfos <> [] then + $"{Ansi.Emojis.info} Informations" |> Terminal.writeLine + configInfos |> List.iter (fun configInfo -> $" {Ansi.Styles.green}{Ansi.Emojis.arrow}{Ansi.Styles.reset} {configInfo}" |> Terminal.writeLine) options.Run |> Option.iter (fun run -> $"{Ansi.Emojis.octopus} Source control is {run.Name}" |> Terminal.writeLine) From 39ac3476f67b3e21c1e8b9a5fa74deef76c6b813 Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 12:01:49 +0200 Subject: [PATCH 5/9] remove github --- src/Terrabuild/Core/Configuration.fs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Terrabuild/Core/Configuration.fs b/src/Terrabuild/Core/Configuration.fs index 1701712d..eeae2e1a 100644 --- a/src/Terrabuild/Core/Configuration.fs +++ b/src/Terrabuild/Core/Configuration.fs @@ -570,9 +570,6 @@ let read (options: ConfigOptions.Options) = $"{Ansi.Emojis.info} Informations" |> Terminal.writeLine configInfos |> List.iter (fun configInfo -> $" {Ansi.Styles.green}{Ansi.Emojis.arrow}{Ansi.Styles.reset} {configInfo}" |> Terminal.writeLine) - options.Run - |> Option.iter (fun run -> $"{Ansi.Emojis.octopus} Source control is {run.Name}" |> Terminal.writeLine) - let workspaceContent = FS.combinePath options.Workspace "WORKSPACE" |> File.ReadAllText let workspaceConfig = try From 85f4fca9f9793a4bd119da4e0a93fc5738c672f7 Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 12:12:48 +0200 Subject: [PATCH 6/9] update dump --- src/Terrabuild/Core/Build.fs | 5 +---- src/Terrabuild/Core/Configuration.fs | 6 +++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Terrabuild/Core/Build.fs b/src/Terrabuild/Core/Build.fs index 29bd04c2..5485e21e 100644 --- a/src/Terrabuild/Core/Build.fs +++ b/src/Terrabuild/Core/Build.fs @@ -151,10 +151,7 @@ type Restorable(action: unit -> unit, dependencies: Restorable list) = let run (options: ConfigOptions.Options) (cache: Cache.ICache) (api: Contracts.IApiClient option) (notification: IBuildNotification) (graph: GraphDef.Graph) = let startedAt = DateTime.UtcNow - let targets = options.Targets |> String.join " " - $"{Ansi.Emojis.rocket} Running targets [{targets}]" |> Terminal.writeLine - - $" {Ansi.Styles.green}{Ansi.Emojis.checkmark}{Ansi.Styles.reset} {graph.Nodes.Count} tasks to build" |> Terminal.writeLine + $"{Ansi.Emojis.rocket} Processing tasks" |> Terminal.writeLine notification.BuildStarted graph api |> Option.iter (fun api -> api.StartBuild()) diff --git a/src/Terrabuild/Core/Configuration.fs b/src/Terrabuild/Core/Configuration.fs index eeae2e1a..a60848d5 100644 --- a/src/Terrabuild/Core/Configuration.fs +++ b/src/Terrabuild/Core/Configuration.fs @@ -557,14 +557,18 @@ let private finalizeProject projectDir evaluationContext (projectDef: LoadedProj let read (options: ConfigOptions.Options) = let configInfos = + let targets = options.Targets |> String.join " " + let labels = options.Labels |> Option.map (fun labels -> labels |> String.join " ") let warningConfig = [ if options.Force then "force" elif options.Retry then "retry" if options.WhatIf then "whatif" ] |> String.join(" ") [ - if options.Configuration.IsSome then $"Configuration {options.Configuration.Value}" if warningConfig |> String.IsNullOrWhiteSpace |> not then $"Build flags [{warningConfig}]" if options.Run.IsSome then $"Source control {options.Run.Value.Name}" + if options.Configuration.IsSome then $"Configuration {options.Configuration.Value}" + $"Targets [{targets}]" + if labels.IsSome then $"Labels [{labels}]" ] if configInfos <> [] then $"{Ansi.Emojis.info} Informations" |> Terminal.writeLine From 64369d24a6c46fae49c79c42b434d16386061d73 Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 12:16:52 +0200 Subject: [PATCH 7/9] better tasks output --- src/Terrabuild/Core/Builder.fs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Terrabuild/Core/Builder.fs b/src/Terrabuild/Core/Builder.fs index f101d329..666f6d63 100644 --- a/src/Terrabuild/Core/Builder.fs +++ b/src/Terrabuild/Core/Builder.fs @@ -162,7 +162,8 @@ let build (options: ConfigOptions.Options) (configuration: Configuration.Workspa let buildDuration = endedAt - startedAt Log.Debug("Graph Build: {duration}", buildDuration) - $" {Ansi.Styles.green}{Ansi.Emojis.arrow}{Ansi.Styles.reset} {allNodes.Count} tasks" |> Terminal.writeLine + $" {Ansi.Styles.green}{Ansi.Emojis.arrow}{Ansi.Styles.reset} {allNodes.Count} nodes" |> Terminal.writeLine + $" {Ansi.Styles.green}{Ansi.Emojis.arrow}{Ansi.Styles.reset} {rootNodes.Count} root nodes" |> Terminal.writeLine { Graph.Nodes = allNodes |> Map.ofDict Graph.RootNodes = rootNodes } From 2e921e38fe7320f103dc7348352baefc7abb4dd4 Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 12:34:58 +0200 Subject: [PATCH 8/9] update log --- src/Terrabuild.Common/Ansi.fs | 4 ++-- src/Terrabuild/Core/Builder.fs | 2 +- src/Terrabuild/Core/Configuration.fs | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/Terrabuild.Common/Ansi.fs b/src/Terrabuild.Common/Ansi.fs index fc528260..1517c5cf 100644 --- a/src/Terrabuild.Common/Ansi.fs +++ b/src/Terrabuild.Common/Ansi.fs @@ -31,7 +31,7 @@ module Emojis = let poop = "ðŸ’Đ" let skull = "☠ïļ" let noentry = "⛔ïļ" - let cyclone = "🌀" + let cyclone = "" let prohibited = "ðŸšŦ" let gear = "⚙ïļ" let clockwise = "â†ŧ" @@ -52,7 +52,7 @@ module Emojis = let coffee = "☕ïļ" let construction = "🚧" let tombstone = "ðŸŠĶ" - let octopus = "🐙" + let unicorn = "ðŸĶ„" module Styles = let reset = csi 0 diff --git a/src/Terrabuild/Core/Builder.fs b/src/Terrabuild/Core/Builder.fs index 666f6d63..3eb2d658 100644 --- a/src/Terrabuild/Core/Builder.fs +++ b/src/Terrabuild/Core/Builder.fs @@ -14,7 +14,7 @@ let build (options: ConfigOptions.Options) (configuration: Configuration.Workspa let startedAt = DateTime.UtcNow Log.Debug("===== [Graph Build] =====") - $"{Ansi.Emojis.gear} Building graph" |> Terminal.writeLine + $"{Ansi.Emojis.unicorn} Building graph" |> Terminal.writeLine let processedNodes = ConcurrentDictionary() let allNodes = ConcurrentDictionary() diff --git a/src/Terrabuild/Core/Configuration.fs b/src/Terrabuild/Core/Configuration.fs index a60848d5..cf91d383 100644 --- a/src/Terrabuild/Core/Configuration.fs +++ b/src/Terrabuild/Core/Configuration.fs @@ -570,9 +570,8 @@ let read (options: ConfigOptions.Options) = $"Targets [{targets}]" if labels.IsSome then $"Labels [{labels}]" ] - if configInfos <> [] then - $"{Ansi.Emojis.info} Informations" |> Terminal.writeLine - configInfos |> List.iter (fun configInfo -> $" {Ansi.Styles.green}{Ansi.Emojis.arrow}{Ansi.Styles.reset} {configInfo}" |> Terminal.writeLine) + $"{Ansi.Emojis.gear} Settings" |> Terminal.writeLine + configInfos |> List.iter (fun configInfo -> $" {Ansi.Styles.green}{Ansi.Emojis.arrow}{Ansi.Styles.reset} {configInfo}" |> Terminal.writeLine) let workspaceContent = FS.combinePath options.Workspace "WORKSPACE" |> File.ReadAllText let workspaceConfig = From 241c0120d7c9996fbe03cba327892a2bc8ea9a9a Mon Sep 17 00:00:00 2001 From: Pierre Chalamet Date: Sun, 8 Jun 2025 12:38:31 +0200 Subject: [PATCH 9/9] update label --- src/Terrabuild/Core/Builder.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Terrabuild/Core/Builder.fs b/src/Terrabuild/Core/Builder.fs index 3eb2d658..d9d7a381 100644 --- a/src/Terrabuild/Core/Builder.fs +++ b/src/Terrabuild/Core/Builder.fs @@ -14,7 +14,7 @@ let build (options: ConfigOptions.Options) (configuration: Configuration.Workspa let startedAt = DateTime.UtcNow Log.Debug("===== [Graph Build] =====") - $"{Ansi.Emojis.unicorn} Building graph" |> Terminal.writeLine + $"{Ansi.Emojis.construction} Constructing graph" |> Terminal.writeLine let processedNodes = ConcurrentDictionary() let allNodes = ConcurrentDictionary()