github.com/golang/dep@v0.5.4/internal/importers/importers.go (about) 1 // Copyright 2017 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package importers 6 7 import ( 8 "log" 9 10 "github.com/golang/dep" 11 "github.com/golang/dep/gps" 12 "github.com/golang/dep/internal/importers/glide" 13 "github.com/golang/dep/internal/importers/glock" 14 "github.com/golang/dep/internal/importers/godep" 15 "github.com/golang/dep/internal/importers/govend" 16 "github.com/golang/dep/internal/importers/govendor" 17 "github.com/golang/dep/internal/importers/gvt" 18 "github.com/golang/dep/internal/importers/vndr" 19 ) 20 21 // Importer handles importing configuration from other dependency managers into 22 // the dep configuration format. 23 type Importer interface { 24 // Name of the importer. 25 Name() string 26 27 // Import the config found in the directory. 28 Import(path string, pr gps.ProjectRoot) (*dep.Manifest, *dep.Lock, error) 29 30 // HasDepMetadata checks if a directory contains config that the importer can handle. 31 HasDepMetadata(dir string) bool 32 } 33 34 // BuildAll returns a slice of all the importers. 35 func BuildAll(logger *log.Logger, verbose bool, sm gps.SourceManager) []Importer { 36 return []Importer{ 37 glide.NewImporter(logger, verbose, sm), 38 godep.NewImporter(logger, verbose, sm), 39 vndr.NewImporter(logger, verbose, sm), 40 govend.NewImporter(logger, verbose, sm), 41 gvt.NewImporter(logger, verbose, sm), 42 govendor.NewImporter(logger, verbose, sm), 43 glock.NewImporter(logger, verbose, sm), 44 } 45 }