Skip to content

Commit 0913be1

Browse files
committed
fix: suppress wait messages and progress bars in quiet mode (#37)
Signed-off-by: Fnuworsu <nuworsufelix49@gmail.com>
1 parent 56d3bb4 commit 0913be1

6 files changed

Lines changed: 35 additions & 6 deletions

File tree

internal/app/azldev/app.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ func (a *App) Execute(args []string) int {
248248
//
249249
stdioLogger := a.initStdioLogging()
250250

251-
if err := setEventListener(stdioLogger, envOptions); err != nil {
251+
if err := setEventListener(stdioLogger, a.quiet, envOptions); err != nil {
252252
slog.Error("Error setting event listener.", "err", err)
253253

254254
return 1
@@ -357,7 +357,7 @@ func (a *App) reInitLoggingWithLogFile(envOptions *EnvOptions) error {
357357
return fmt.Errorf("error re-initializing file logging:\n%w", err)
358358
}
359359

360-
err = setEventListener(logger, envOptions)
360+
err = setEventListener(logger, a.quiet, envOptions)
361361
if err != nil {
362362
return fmt.Errorf("error re-setting event listener:\n%w", err)
363363
}
@@ -421,8 +421,8 @@ func (a *App) handlePostInitCallbacks(env *Env) error {
421421
return nil
422422
}
423423

424-
func setEventListener(stdioLogger *slog.Logger, envOptions *EnvOptions) error {
425-
eventListener, err := NewEventListener(stdioLogger)
424+
func setEventListener(stdioLogger *slog.Logger, quiet bool, envOptions *EnvOptions) error {
425+
eventListener, err := NewEventListener(stdioLogger, quiet)
426426
if err != nil {
427427
return fmt.Errorf("error initializing event listener:\n%w", err)
428428
}

internal/app/azldev/core/testutils/testenv.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ func setUpEventListener(t *testing.T, testEnv *TestEnv) {
9797

9898
testLogHandler := slogassert.New(t, slog.LevelDebug, nil)
9999
testEventLogger := slog.New(testLogHandler)
100-
testEventListener, err := azldev.NewEventListener(testEventLogger)
100+
testEventListener, err := azldev.NewEventListener(testEventLogger, false)
101101
require.NoError(t, err)
102102

103103
testEnv.EventListener = testEventListener

internal/app/azldev/event.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ type event struct {
1818
parentEventListener *appEventListener
1919
name string
2020
spinner *spinner.Spinner
21+
quiet bool
2122

2223
lastReportedCompletionRatio float64
2324

@@ -49,6 +50,10 @@ func (e *event) End() {
4950
}
5051

5152
func (e *event) SetLongRunning(longRunningText string) {
53+
if e.quiet {
54+
return
55+
}
56+
5257
const percent = 100
5358

5459
// Start an indeterminate spinner to indicate to the user that *something* is happening.
@@ -60,6 +65,10 @@ func (e *event) SetLongRunning(longRunningText string) {
6065
}
6166

6267
func (e *event) SetProgress(unitsComplete int64, totalUnits int64) {
68+
if e.quiet {
69+
return
70+
}
71+
6372
// For now, only update progress visually when the completion ratio has increased by at least 1%
6473
// since progress was last rendered.
6574
const minRatioIncreaseForUpdate = 0.01

internal/app/azldev/eventlistener.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,22 @@ import (
1616
type appEventListener struct {
1717
eventLevel int
1818
eventLogger *slog.Logger
19+
quiet bool
1920
}
2021

2122
// Ensure [appEventListener] implements [opctx.EventListener].
2223
var _ opctx.EventListener = &appEventListener{}
2324

2425
// NewEventListener creates a new event listener for the environment.
25-
func NewEventListener(eventLogger *slog.Logger) (*appEventListener, error) {
26+
func NewEventListener(eventLogger *slog.Logger, quiet bool) (*appEventListener, error) {
2627
if eventLogger == nil {
2728
return nil, errors.New("event logger cannot be nil")
2829
}
2930

3031
return &appEventListener{
3132
eventLevel: 0,
3233
eventLogger: eventLogger,
34+
quiet: quiet,
3335
}, nil
3436
}
3537

@@ -51,6 +53,7 @@ func (el *appEventListener) StartEvent(name string, args ...any) opctx.Event {
5153
return &event{
5254
parentEventListener: el,
5355
name: name,
56+
quiet: el.quiet,
5457
}
5558
}
5659

testproj/.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Ignore build log and work dirs
2+
build/
3+
4+
# Ignore build output
5+
out/

testproj/azldev.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'$schema' = 'https://raw.githubusercontent.com/microsoft/azure-linux-dev-tools/refs/heads/main/schemas/azldev.schema.json'
2+
3+
[project]
4+
description = 'testproj'
5+
log-dir = 'build/logs'
6+
work-dir = 'build/work'
7+
output-dir = 'out'
8+
9+
[component-groups]
10+
[component-groups.default]
11+
specs = ['**/*.spec']
12+
excluded-paths = ['build/**', 'out/**']

0 commit comments

Comments
 (0)