| package path | 
 |  | 
 | import ( | 
 | 	"os" | 
 | 	"path/filepath" | 
 |  | 
 | 	"github.com/Masterminds/glide/godep/strip" | 
 | 	"github.com/Masterminds/glide/msg" | 
 | ) | 
 |  | 
 | // StripVendor removes nested vendor and Godeps/_workspace/ directories. | 
 | func StripVendor() error { | 
 | 	searchPath, _ := Vendor() | 
 | 	if _, err := os.Stat(searchPath); err != nil { | 
 | 		if os.IsNotExist(err) { | 
 | 			msg.Debug("Vendor directory does not exist.") | 
 | 		} | 
 |  | 
 | 		return err | 
 | 	} | 
 |  | 
 | 	err := filepath.Walk(searchPath, func(path string, info os.FileInfo, err error) error { | 
 | 		// Skip the base vendor directory | 
 | 		if path == searchPath { | 
 | 			return nil | 
 | 		} | 
 |  | 
 | 		name := info.Name() | 
 | 		if name == "vendor" { | 
 | 			if _, err := os.Stat(path); err == nil { | 
 | 				if info.IsDir() { | 
 | 					msg.Info("Removing: %s", path) | 
 | 					return os.RemoveAll(path) | 
 | 				} | 
 |  | 
 | 				msg.Debug("%s is not a directory. Skipping removal", path) | 
 | 				return nil | 
 | 			} | 
 | 		} | 
 | 		return nil | 
 | 	}) | 
 | 	if err != nil { | 
 | 		return err | 
 | 	} | 
 |  | 
 | 	return strip.GodepWorkspace(searchPath) | 
 | } |