Skip to content

Commit f95417f

Browse files
committed
Make builddir reporting beautiful
1 parent 3e46a85 commit f95417f

File tree

3 files changed

+23
-25
lines changed

3 files changed

+23
-25
lines changed

pkg/leeway/build.go

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -667,15 +667,6 @@ func (p *Package) build(buildctx *buildContext) (err error) {
667667
}
668668
pkgRep.phaseEnter[PackageBuildPhasePrep] = time.Now()
669669

670-
// Notify reporter that package build is starting
671-
buildctx.Reporter.PackageBuildStarted(p)
672-
673-
// Ensure we notify reporter when build finishes
674-
defer func() {
675-
pkgRep.Error = err
676-
buildctx.Reporter.PackageBuildFinished(p, pkgRep)
677-
}()
678-
679670
// Prepare build directory
680671
builddir, err := createBuildDir(buildctx, p)
681672
if err != nil {
@@ -687,7 +678,14 @@ func (p *Package) build(buildctx *buildContext) (err error) {
687678
os.RemoveAll(builddir)
688679
}()
689680

690-
log.WithField("package", p.FullName()).WithField("builddir", builddir).Info("using build directory")
681+
// Notify reporter that package build is starting
682+
buildctx.Reporter.PackageBuildStarted(p, builddir)
683+
684+
// Ensure we notify reporter when build finishes
685+
defer func() {
686+
pkgRep.Error = err
687+
buildctx.Reporter.PackageBuildFinished(p, pkgRep)
688+
}()
691689
if err := prepareDirectory(builddir); err != nil {
692690
return err
693691
}

pkg/leeway/reporter.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ type Reporter interface {
3636
// The root package will also be passed into PackageBuildFinished once it's been built.
3737
BuildFinished(pkg *Package, err error)
3838

39-
// PackageBuildStarted is called when a package build actually gets underway. At this point
39+
// PackageBuildStarted is called when a package build actually gets underway. At this point
4040
// all transitive dependencies of the package have been built.
41-
PackageBuildStarted(pkg *Package)
41+
PackageBuildStarted(pkg *Package, builddir string)
4242

4343
// PackageBuildLog is called during a package build whenever a build command produced some output.
4444
PackageBuildLog(pkg *Package, isErr bool, buf []byte)
@@ -188,7 +188,7 @@ func (r *ConsoleReporter) BuildFinished(pkg *Package, err error) {
188188
}
189189

190190
// PackageBuildStarted is called when a package build actually gets underway.
191-
func (r *ConsoleReporter) PackageBuildStarted(pkg *Package) {
191+
func (r *ConsoleReporter) PackageBuildStarted(pkg *Package, builddir string) {
192192
out := r.getWriter(pkg)
193193

194194
version, err := pkg.Version()
@@ -200,7 +200,7 @@ func (r *ConsoleReporter) PackageBuildStarted(pkg *Package) {
200200
r.times[pkg.FullName()] = r.now()
201201
r.mu.Unlock()
202202

203-
_, _ = io.WriteString(out, color.Sprintf("<fg=yellow>build started</> <gray>(version %s)</>\n", version))
203+
_, _ = io.WriteString(out, color.Sprintf("<fg=yellow>build started</> <gray>(version %s, builddir %s)</>\n", version, builddir))
204204
}
205205

206206
// PackageBuildLog is called during a package build whenever a build command produced some output.
@@ -403,7 +403,7 @@ func (r *HTMLReporter) BuildFinished(pkg *Package, err error) {
403403
r.Report()
404404
}
405405

406-
func (r *HTMLReporter) PackageBuildStarted(pkg *Package) {
406+
func (r *HTMLReporter) PackageBuildStarted(pkg *Package, builddir string) {
407407
rep := r.getReport(pkg)
408408
rep.start = time.Now()
409409
rep.status = PackageBuilding
@@ -529,9 +529,9 @@ func (cr CompositeReporter) PackageBuildLog(pkg *Package, isErr bool, buf []byte
529529
}
530530

531531
// PackageBuildStarted implements Reporter
532-
func (cr CompositeReporter) PackageBuildStarted(pkg *Package) {
532+
func (cr CompositeReporter) PackageBuildStarted(pkg *Package, builddir string) {
533533
for _, r := range cr {
534-
r.PackageBuildStarted(pkg)
534+
r.PackageBuildStarted(pkg, builddir)
535535
}
536536
}
537537

@@ -552,7 +552,7 @@ func (*NoopReporter) PackageBuildFinished(pkg *Package, rep *PackageBuildReport)
552552
func (*NoopReporter) PackageBuildLog(pkg *Package, isErr bool, buf []byte) {}
553553

554554
// PackageBuildStarted implements Reporter
555-
func (*NoopReporter) PackageBuildStarted(pkg *Package) {}
555+
func (*NoopReporter) PackageBuildStarted(pkg *Package, builddir string) {}
556556

557557
var _ Reporter = ((*NoopReporter)(nil))
558558

pkg/leeway/reporter_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ func TestConsoleReporter(t *testing.T) {
3333
Expect Expectation
3434
}{
3535
{
36-
Name: "all phases",
36+
Name: "all phases",
3737
Func: func(t *testing.T, r *ConsoleReporter) {
38-
r.PackageBuildStarted(pkg)
38+
r.PackageBuildStarted(pkg, "/tmp/build")
3939

4040
r.now = func() time.Time {
4141
return start.Add(5 * time.Second)
@@ -64,35 +64,35 @@ func TestConsoleReporter(t *testing.T) {
6464
})
6565
},
6666
Expect: Expectation{
67-
Output: `[test:test] build started (version unknown)
67+
Output: `[test:test] build started (version unknown, builddir /tmp/build)
6868
[test:test] package build succeeded (5.00s) [prep: 1.0s | pull: 1.0s | lint: 1.0s | test: 1.0s | build: 1.0s]
6969
`,
7070
},
7171
},
7272
{
7373
Name: "no phases",
7474
Func: func(t *testing.T, r *ConsoleReporter) {
75-
r.PackageBuildStarted(pkg)
75+
r.PackageBuildStarted(pkg, "/tmp/build")
7676
r.PackageBuildFinished(pkg, &PackageBuildReport{
7777
Phases: []PackageBuildPhase{},
7878
})
7979
},
8080
Expect: Expectation{
81-
Output: `[test:test] build started (version unknown)
81+
Output: `[test:test] build started (version unknown, builddir /tmp/build)
8282
[test:test] package build succeeded (0.00s)
8383
`,
8484
},
8585
},
8686
{
8787
Name: "failed build",
8888
Func: func(t *testing.T, r *ConsoleReporter) {
89-
r.PackageBuildStarted(pkg)
89+
r.PackageBuildStarted(pkg, "/tmp/build")
9090
r.PackageBuildFinished(pkg, &PackageBuildReport{
9191
Error: errors.New("failed"),
9292
})
9393
},
9494
Expect: Expectation{
95-
Output: `[test:test] build started (version unknown)
95+
Output: `[test:test] build started (version unknown, builddir /tmp/build)
9696
[test:test] package build failed while preping
9797
[test:test] Reason: failed
9898
`,

0 commit comments

Comments
 (0)