Skip to content

Commit fc05c01

Browse files
committed
better step vs repos for bar pogression management
1 parent 1dc9b79 commit fc05c01

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

analyze/analyze.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,8 @@ func (a *Analyzer) AnalyzeRepo(ctx context.Context, repoString string, ref strin
465465
return nil, err
466466
}
467467

468+
obs.OnStepCompleted("Generated package insights")
469+
468470
files, err := a.GitClient.ListFiles(repoKey, []string{".yml", ".yaml"})
469471
if err != nil {
470472
obs.OnRepoError(repoString, err)
@@ -487,6 +489,8 @@ func (a *Analyzer) AnalyzeRepo(ctx context.Context, repoString string, ref strin
487489
obs.OnRepoError(repoString, err)
488490
return nil, err
489491
}
492+
493+
obs.OnStepCompleted("Scanned repository")
490494
obs.OnRepoCompleted(repoString, scannedPackage)
491495

492496
obs.OnFinalizeStarted(1)

analyze/progress_bar_observer.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ import (
1111
// For org analysis it shows a repo-count bar (created on OnDiscoveryCompleted).
1212
// For single-repo analysis it shows a step-level bar (created on first OnStepCompleted).
1313
type ProgressBarObserver struct {
14-
bar *progressbar.ProgressBar
15-
quiet bool
14+
bar *progressbar.ProgressBar
15+
quiet bool
16+
stepMode bool // true when bar is step-driven (single-repo analysis)
1617
}
1718

1819
func NewProgressBarObserver(quiet bool) *ProgressBarObserver {
@@ -49,13 +50,13 @@ func (o *ProgressBarObserver) OnDiscoveryCompleted(_ string, totalCount int) {
4950
func (o *ProgressBarObserver) OnRepoStarted(_ string) {}
5051

5152
func (o *ProgressBarObserver) OnRepoCompleted(_ string, _ *models.PackageInsights) {
52-
if o.bar != nil {
53+
if o.bar != nil && !o.stepMode {
5354
_ = o.bar.Add(1)
5455
}
5556
}
5657

5758
func (o *ProgressBarObserver) OnRepoError(_ string, _ error) {
58-
if o.bar != nil {
59+
if o.bar != nil && !o.stepMode {
5960
_ = o.bar.Add(1)
6061
}
6162
}
@@ -69,6 +70,7 @@ func (o *ProgressBarObserver) OnRepoSkipped(_ string, _ string) {
6970
}
7071

7172
func (o *ProgressBarObserver) OnStepCompleted(description string) {
73+
o.stepMode = true
7274
if o.bar != nil && o.bar.GetMax64() == -1 {
7375
// Finish the spinner, then create a step bar.
7476
_ = o.bar.Finish()

0 commit comments

Comments
 (0)