a41f938cec
As we have seen, dependencies version can prevent the build. We should user lock versions on dependencies that we know work: * Packages are vendored * Add Godep support * Added addtional install step in readme * Fix travis build error
21 lignes
687 o
Go
21 lignes
687 o
Go
package resource
|
|
|
|
type Provider interface {
|
|
NewInstance(string) (Instance, error)
|
|
}
|
|
|
|
// TranslatedProvider manipulates resource locations, so as to allow
|
|
// sandboxing, or relative paths for example.
|
|
type TranslatedProvider struct {
|
|
// The underlying Provider.
|
|
BaseProvider Provider
|
|
// Some location used in calculating final locations.
|
|
BaseLocation string
|
|
// Function that takes BaseLocation, and the caller location and returns
|
|
// the location to be used with the BaseProvider.
|
|
JoinLocations func(base, rel string) string
|
|
}
|
|
|
|
func (me *TranslatedProvider) NewInstance(rel string) (Instance, error) {
|
|
return me.BaseProvider.NewInstance(me.JoinLocations(me.BaseLocation, rel))
|
|
}
|