Skip to content
This repository was archived by the owner on Sep 9, 2020. It is now read-only.

Commit b37bbc8

Browse files
committed
Remove Loggers injection and use Loggers from Ctx
- Removes Loggers injection from all the functions that required loggers and use Ctx.Loggers instead.
1 parent 3466871 commit b37bbc8

File tree

10 files changed

+55
-53
lines changed

10 files changed

+55
-53
lines changed

cmd/dep/ensure.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@ type ensureCommand struct {
101101
overrides stringSlice
102102
}
103103

104-
func (cmd *ensureCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) error {
104+
func (cmd *ensureCommand) Run(ctx *dep.Ctx, args []string) error {
105105
if cmd.examples {
106-
loggers.Err.Println(strings.TrimSpace(ensureExamples))
106+
ctx.Loggers.Err.Println(strings.TrimSpace(ensureExamples))
107107
return nil
108108
}
109109

@@ -120,8 +120,8 @@ func (cmd *ensureCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string)
120120
defer sm.Release()
121121

122122
params := p.MakeParams()
123-
if loggers.Verbose {
124-
params.TraceLogger = loggers.Err
123+
if ctx.Loggers.Verbose {
124+
params.TraceLogger = ctx.Loggers.Err
125125
}
126126
params.RootPackageTree, err = pkgtree.ListPackages(p.AbsRoot, string(p.ImportRoot))
127127
if err != nil {
@@ -135,7 +135,7 @@ func (cmd *ensureCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string)
135135
if cmd.update {
136136
applyUpdateArgs(args, &params)
137137
} else {
138-
err := applyEnsureArgs(loggers.Err, args, cmd.overrides, p, sm, &params)
138+
err := applyEnsureArgs(ctx.Loggers.Err, args, cmd.overrides, p, sm, &params)
139139
if err != nil {
140140
return err
141141
}
@@ -168,7 +168,7 @@ func (cmd *ensureCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string)
168168
return err
169169
}
170170
if cmd.dryRun {
171-
return sw.PrintPreparedActions(loggers.Out)
171+
return sw.PrintPreparedActions(ctx.Loggers.Out)
172172
}
173173

174174
return errors.Wrap(sw.Write(p.AbsRoot, sm, true), "grouped write of manifest, lock and vendor")

cmd/dep/hash_in.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func (cmd *hashinCommand) Register(fs *flag.FlagSet) {}
2323

2424
type hashinCommand struct{}
2525

26-
func (hashinCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) error {
26+
func (hashinCommand) Run(ctx *dep.Ctx, args []string) error {
2727
p, err := ctx.LoadProject("")
2828
if err != nil {
2929
return err
@@ -51,6 +51,6 @@ func (hashinCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) erro
5151
if err != nil {
5252
return errors.Wrap(err, "prepare solver")
5353
}
54-
loggers.Out.Println(gps.HashingInputsAsString(s))
54+
ctx.Loggers.Out.Println(gps.HashingInputsAsString(s))
5555
return nil
5656
}

cmd/dep/init.go

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func trimPathPrefix(p1, p2 string) string {
5858
return p1
5959
}
6060

61-
func (cmd *initCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) error {
61+
func (cmd *initCommand) Run(ctx *dep.Ctx, args []string) error {
6262
if len(args) > 1 {
6363
return errors.Errorf("too many args (%d)", len(args))
6464
}
@@ -94,15 +94,15 @@ func (cmd *initCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) e
9494
if err != nil {
9595
return errors.Wrap(err, "determineProjectRoot")
9696
}
97-
if loggers.Verbose {
98-
loggers.Err.Printf("dep: Finding dependencies for %q...\n", cpr)
97+
if ctx.Loggers.Verbose {
98+
ctx.Loggers.Err.Printf("dep: Finding dependencies for %q...\n", cpr)
9999
}
100100
pkgT, err := pkgtree.ListPackages(root, cpr)
101101
if err != nil {
102102
return errors.Wrap(err, "gps.ListPackages")
103103
}
104-
if loggers.Verbose {
105-
loggers.Err.Printf("dep: Found %d dependencies.\n", len(pkgT.Packages))
104+
if ctx.Loggers.Verbose {
105+
ctx.Loggers.Err.Printf("dep: Found %d dependencies.\n", len(pkgT.Packages))
106106
}
107107
sm, err := ctx.SourceManager()
108108
if err != nil {
@@ -111,7 +111,7 @@ func (cmd *initCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) e
111111
sm.UseDefaultSignalHandling()
112112
defer sm.Release()
113113

114-
pd, err := getProjectData(ctx, loggers, pkgT, cpr, sm)
114+
pd, err := getProjectData(ctx, pkgT, cpr, sm)
115115
if err != nil {
116116
return err
117117
}
@@ -144,8 +144,8 @@ func (cmd *initCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) e
144144
}
145145

146146
// Run solver with project versions found on disk
147-
if loggers.Verbose {
148-
loggers.Err.Println("dep: Solving...")
147+
if ctx.Loggers.Verbose {
148+
ctx.Loggers.Err.Println("dep: Solving...")
149149
}
150150
params := gps.SolveParameters{
151151
RootDir: root,
@@ -155,8 +155,8 @@ func (cmd *initCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) e
155155
ProjectAnalyzer: dep.Analyzer{},
156156
}
157157

158-
if loggers.Verbose {
159-
params.TraceLogger = loggers.Err
158+
if ctx.Loggers.Verbose {
159+
params.TraceLogger = ctx.Loggers.Err
160160
}
161161

162162
s, err := gps.Prepare(params, sm)
@@ -190,8 +190,8 @@ func (cmd *initCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) e
190190

191191
l.Memo = s.HashInputs()
192192

193-
if loggers.Verbose {
194-
loggers.Err.Println("dep: Writing manifest and lock files.")
193+
if ctx.Loggers.Verbose {
194+
ctx.Loggers.Err.Println("dep: Writing manifest and lock files.")
195195
}
196196

197197
sw, err := dep.NewSafeWriter(m, nil, l, dep.VendorAlways)
@@ -277,7 +277,7 @@ type projectData struct {
277277
ondisk map[gps.ProjectRoot]gps.Version // projects that were found on disk
278278
}
279279

280-
func getProjectData(ctx *dep.Ctx, loggers *dep.Loggers, pkgT pkgtree.PackageTree, cpr string, sm gps.SourceManager) (projectData, error) {
280+
func getProjectData(ctx *dep.Ctx, pkgT pkgtree.PackageTree, cpr string, sm gps.SourceManager) (projectData, error) {
281281
constraints := make(gps.ProjectConstraints)
282282
dependencies := make(map[gps.ProjectRoot][]string)
283283
packages := make(map[string]bool)
@@ -290,7 +290,7 @@ func getProjectData(ctx *dep.Ctx, loggers *dep.Loggers, pkgT pkgtree.PackageTree
290290
if err := sm.SyncSourceFor(gps.ProjectIdentifier{ProjectRoot: pr}); err != nil {
291291
message = "Unable to cache"
292292
}
293-
loggers.Err.Printf("%s %s\n", message, pr)
293+
ctx.Loggers.Err.Printf("%s %s\n", message, pr)
294294
syncDepGroup.Done()
295295
}
296296

@@ -299,8 +299,8 @@ func getProjectData(ctx *dep.Ctx, loggers *dep.Loggers, pkgT pkgtree.PackageTree
299299
return projectData{}, nil
300300
}
301301

302-
if loggers.Verbose {
303-
loggers.Err.Println("dep: Building dependency graph...")
302+
if ctx.Loggers.Verbose {
303+
ctx.Loggers.Err.Println("dep: Building dependency graph...")
304304
}
305305
// Exclude stdlib imports from the list returned from Flatten().
306306
const omitStdlib = false
@@ -318,16 +318,16 @@ func getProjectData(ctx *dep.Ctx, loggers *dep.Loggers, pkgT pkgtree.PackageTree
318318
syncDepGroup.Add(1)
319319
go syncDep(pr, sm)
320320

321-
if loggers.Verbose {
322-
loggers.Err.Printf("dep: Found import of %q, analyzing...\n", ip)
321+
if ctx.Loggers.Verbose {
322+
ctx.Loggers.Err.Printf("dep: Found import of %q, analyzing...\n", ip)
323323
}
324324

325325
dependencies[pr] = []string{ip}
326326
v, err := ctx.VersionInWorkspace(pr)
327327
if err != nil {
328328
notondisk[pr] = true
329-
if loggers.Verbose {
330-
loggers.Err.Printf("dep: Could not determine version for %q, omitting from generated manifest\n", pr)
329+
if ctx.Loggers.Verbose {
330+
ctx.Loggers.Err.Printf("dep: Could not determine version for %q, omitting from generated manifest\n", pr)
331331
}
332332
continue
333333
}
@@ -336,8 +336,8 @@ func getProjectData(ctx *dep.Ctx, loggers *dep.Loggers, pkgT pkgtree.PackageTree
336336
constraints[pr] = getProjectPropertiesFromVersion(v)
337337
}
338338

339-
if loggers.Verbose {
340-
loggers.Err.Printf("dep: Analyzing transitive imports...\n")
339+
if ctx.Loggers.Verbose {
340+
ctx.Loggers.Err.Printf("dep: Analyzing transitive imports...\n")
341341
}
342342
// Explore the packages we've found for transitive deps, either
343343
// completing the lock or identifying (more) missing projects that we'll
@@ -357,8 +357,8 @@ func getProjectData(ctx *dep.Ctx, loggers *dep.Loggers, pkgT pkgtree.PackageTree
357357
dft = func(pkg string) error {
358358
switch colors[pkg] {
359359
case white:
360-
if loggers.Verbose {
361-
loggers.Err.Printf("dep: Analyzing %q...\n", pkg)
360+
if ctx.Loggers.Verbose {
361+
ctx.Loggers.Err.Printf("dep: Analyzing %q...\n", pkg)
362362
}
363363
colors[pkg] = grey
364364

cmd/dep/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ type command interface {
2525
LongHelp() string // "Foo the first bar meeting the following conditions..."
2626
Register(*flag.FlagSet) // command-specific flags
2727
Hidden() bool // indicates whether the command should be hidden from help output
28-
Run(*dep.Ctx, *dep.Loggers, []string) error
28+
Run(*dep.Ctx, []string) error
2929
}
3030

3131
func main() {
@@ -148,15 +148,15 @@ func (c *Config) Run() (exitCode int) {
148148
}
149149

150150
// Set up the dep context.
151-
ctx, err := dep.NewContext(c.WorkingDir, c.Env)
151+
ctx, err := dep.NewContext(c.WorkingDir, c.Env, loggers)
152152
if err != nil {
153153
loggers.Err.Println(err)
154154
exitCode = 1
155155
return
156156
}
157157

158158
// Run the command with the post-flag-processing args.
159-
if err := cmd.Run(ctx, loggers, fs.Args()); err != nil {
159+
if err := cmd.Run(ctx, fs.Args()); err != nil {
160160
errLogger.Printf("%v\n", err)
161161
exitCode = 1
162162
return

cmd/dep/prune.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func (cmd *pruneCommand) Hidden() bool { return false }
3636
func (cmd *pruneCommand) Register(fs *flag.FlagSet) {
3737
}
3838

39-
func (cmd *pruneCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) error {
39+
func (cmd *pruneCommand) Run(ctx *dep.Ctx, args []string) error {
4040
p, err := ctx.LoadProject("")
4141
if err != nil {
4242
return err
@@ -60,8 +60,8 @@ func (cmd *pruneCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string)
6060
params := p.MakeParams()
6161
params.RootPackageTree = ptree
6262

63-
if loggers.Verbose {
64-
params.TraceLogger = loggers.Err
63+
if ctx.Loggers.Verbose {
64+
params.TraceLogger = ctx.Loggers.Err
6565
}
6666

6767
s, err := gps.Prepare(params, sm)

cmd/dep/remove.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ type removeCommand struct {
4141
keepSource bool
4242
}
4343

44-
func (cmd *removeCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) error {
44+
func (cmd *removeCommand) Run(ctx *dep.Ctx, args []string) error {
4545
p, err := ctx.LoadProject("")
4646
if err != nil {
4747
return err
@@ -89,7 +89,7 @@ func (cmd *removeCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string)
8989
// not being able to detect the root for an import path that's
9090
// actually in the import list is a deeper problem. However,
9191
// it's not our direct concern here, so we just warn.
92-
loggers.Err.Printf("dep: could not infer root for %q\n", pr)
92+
ctx.Loggers.Err.Printf("dep: could not infer root for %q\n", pr)
9393
continue
9494
}
9595
otherroots[pr] = true
@@ -104,7 +104,7 @@ func (cmd *removeCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string)
104104
}
105105

106106
if len(rm) == 0 {
107-
loggers.Err.Println("dep: nothing to do")
107+
ctx.Loggers.Err.Println("dep: nothing to do")
108108
return nil
109109
}
110110
} else {
@@ -162,8 +162,8 @@ func (cmd *removeCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string)
162162
params := p.MakeParams()
163163
params.RootPackageTree = pkgT
164164

165-
if loggers.Verbose {
166-
params.TraceLogger = loggers.Err
165+
if ctx.Loggers.Verbose {
166+
params.TraceLogger = ctx.Loggers.Err
167167
}
168168
s, err := gps.Prepare(params, sm)
169169
if err != nil {

cmd/dep/status.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ func (out *dotOutput) MissingHeader() {}
181181
func (out *dotOutput) MissingLine(ms *MissingStatus) {}
182182
func (out *dotOutput) MissingFooter() {}
183183

184-
func (cmd *statusCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string) error {
184+
func (cmd *statusCommand) Run(ctx *dep.Ctx, args []string) error {
185185
p, err := ctx.LoadProject("")
186186
if err != nil {
187187
return err
@@ -200,20 +200,20 @@ func (cmd *statusCommand) Run(ctx *dep.Ctx, loggers *dep.Loggers, args []string)
200200
return errors.Errorf("not implemented")
201201
case cmd.json:
202202
out = &jsonOutput{
203-
w: &logWriter{Logger: loggers.Out},
203+
w: &logWriter{Logger: ctx.Loggers.Out},
204204
}
205205
case cmd.dot:
206206
out = &dotOutput{
207207
p: p,
208208
o: cmd.output,
209-
w: &logWriter{Logger: loggers.Out},
209+
w: &logWriter{Logger: ctx.Loggers.Out},
210210
}
211211
default:
212212
out = &tableOutput{
213-
w: tabwriter.NewWriter(&logWriter{Logger: loggers.Out}, 0, 4, 2, ' ', 0),
213+
w: tabwriter.NewWriter(&logWriter{Logger: ctx.Loggers.Out}, 0, 4, 2, ' ', 0),
214214
}
215215
}
216-
return runStatusAll(loggers, out, p, sm)
216+
return runStatusAll(ctx.Loggers, out, p, sm)
217217
}
218218

219219
// A logWriter adapts a log.Logger to the io.Writer interface.

context.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ type Ctx struct {
2121
GOPATH string // Selected Go path
2222
GOPATHS []string // Other Go paths
2323
WorkingDir string
24+
Loggers *Loggers
2425
}
2526

2627
// NewContext creates a struct with the project's GOPATH. It assumes
2728
// that of your "GOPATH"'s we want the one we are currently in.
28-
func NewContext(wd string, env []string) (*Ctx, error) {
29-
ctx := &Ctx{WorkingDir: wd}
29+
func NewContext(wd string, env []string, loggers *Loggers) (*Ctx, error) {
30+
ctx := &Ctx{WorkingDir: wd, Loggers: loggers}
3031

3132
GOPATH := getEnv(env, "GOPATH")
3233
if GOPATH == "" {

context_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func TestNewContextNoGOPATH(t *testing.T) {
2828
t.Fatal("failed to get work directory:", err)
2929
}
3030

31-
c, err := NewContext(wd, os.Environ())
31+
c, err := NewContext(wd, os.Environ(), &Loggers{})
3232
if err == nil {
3333
t.Fatal("error should not have been nil")
3434
}

project_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,16 @@ func TestSlashedGOPATH(t *testing.T) {
9090
t.Fatal("failed to get work directory:", err)
9191
}
9292
env := os.Environ()
93+
loggers := &Loggers{}
9394

9495
h.Setenv("GOPATH", filepath.ToSlash(h.Path(".")))
95-
_, err = NewContext(wd, env)
96+
_, err = NewContext(wd, env, loggers)
9697
if err != nil {
9798
t.Fatal(err)
9899
}
99100

100101
h.Setenv("GOPATH", filepath.FromSlash(h.Path(".")))
101-
_, err = NewContext(wd, env)
102+
_, err = NewContext(wd, env, loggers)
102103
if err != nil {
103104
t.Fatal(err)
104105
}

0 commit comments

Comments
 (0)