Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: deploytool/cmd/luci_deploy/staging.go

Issue 2963503003: [errors] Greatly simplify common/errors package. (Closed)
Patch Set: fix nits Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « deploytool/cmd/luci_deploy/path.go ('k') | deploytool/cmd/luci_deploy/title.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The LUCI Authors. All rights reserved. 1 // Copyright 2016 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package main 5 package main
6 6
7 import ( 7 import (
8 "strings" 8 "strings"
9 9
10 "github.com/luci/luci-go/common/errors" 10 "github.com/luci/luci-go/common/errors"
(...skipping 18 matching lines...) Expand all
29 dirs := make(map[string]struct{}) 29 dirs := make(map[string]struct{})
30 build := make(map[string]string) 30 build := make(map[string]string)
31 for _, src := range comp.sources { 31 for _, src := range comp.sources {
32 if src.InitResult == nil { 32 if src.InitResult == nil {
33 continue 33 continue
34 } 34 }
35 35
36 for _, gopath := range src.InitResult.GoPath { 36 for _, gopath := range src.InitResult.GoPath {
37 // Make sure our Go package isn't a directory. 37 // Make sure our Go package isn't a directory.
38 if _, ok := dirs[gopath.GoPackage]; ok { 38 if _, ok := dirs[gopath.GoPackage]; ok {
39 » » » » return errors.Reason("GOPATH %(package)q is both a package and directory"). 39 » » » » return errors.Reason("GOPATH %q is both a packag e and directory", gopath.GoPackage).Err()
40 » » » » » D("package", gopath.GoPackage).Err()
41 } 40 }
42 41
43 // Check intermediate paths to make sure there isn't a d eployment 42 // Check intermediate paths to make sure there isn't a d eployment
44 // conflict. 43 // conflict.
45 pkgParts := splitGoPackage(gopath.GoPackage) 44 pkgParts := splitGoPackage(gopath.GoPackage)
46 for _, parentPkg := range pkgParts[:len(pkgParts)-1] { 45 for _, parentPkg := range pkgParts[:len(pkgParts)-1] {
47 if _, ok := build[parentPkg]; ok { 46 if _, ok := build[parentPkg]; ok {
48 » » » » » return errors.Reason("GOPATH %(package)q is both a package and directory"). 47 » » » » » return errors.Reason("GOPATH %q is both a package and directory", parentPkg).Err()
49 » » » » » » D("package", parentPkg).Err()
50 } 48 }
51 dirs[parentPkg] = struct{}{} 49 dirs[parentPkg] = struct{}{}
52 } 50 }
53 51
54 // Everything checks out, add this link. 52 // Everything checks out, add this link.
55 build[gopath.GoPackage] = src.pathTo(gopath.Path, "") 53 build[gopath.GoPackage] = src.pathTo(gopath.Path, "")
56 } 54 }
57 } 55 }
58 56
59 srcDir, err := root.EnsureDirectory("src") 57 srcDir, err := root.EnsureDirectory("src")
60 if err != nil { 58 if err != nil {
61 return err 59 return err
62 } 60 }
63 61
64 for pkg, src := range build { 62 for pkg, src := range build {
65 var ( 63 var (
66 pkgComponents = strings.Split(pkg, "/") 64 pkgComponents = strings.Split(pkg, "/")
67 d = srcDir 65 d = srcDir
68 ) 66 )
69 for _, comp := range pkgComponents[:len(pkgComponents)-1] { 67 for _, comp := range pkgComponents[:len(pkgComponents)-1] {
70 var err error 68 var err error
71 d, err = d.EnsureDirectory(comp) 69 d, err = d.EnsureDirectory(comp)
72 if err != nil { 70 if err != nil {
73 » » » » return errors.Annotate(err).Reason("could not cr eate GOPATH parent directory [%(path)s]"). 71 » » » » return errors.Annotate(err, "could not create GO PATH parent directory [%s]", d).Err()
74 » » » » » D("path", d).Err()
75 } 72 }
76 } 73 }
77 link := d.File(pkgComponents[len(pkgComponents)-1]) 74 link := d.File(pkgComponents[len(pkgComponents)-1])
78 if err := link.SymlinkFrom(src, true); err != nil { 75 if err := link.SymlinkFrom(src, true); err != nil {
79 » » » return errors.Annotate(err).Reason("failed to create GOP ATH link").Err() 76 » » » return errors.Annotate(err, "failed to create GOPATH lin k").Err()
80 } 77 }
81 } 78 }
82 return nil 79 return nil
83 } 80 }
OLDNEW
« no previous file with comments | « deploytool/cmd/luci_deploy/path.go ('k') | deploytool/cmd/luci_deploy/title.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698