You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.2 KiB
Go
29 lines
1.2 KiB
Go
8 years ago
|
package rice
|
||
|
|
||
|
// LocateMethod defines how a box is located.
|
||
|
type LocateMethod int
|
||
|
|
||
|
const (
|
||
|
LocateFS = LocateMethod(iota) // Locate on the filesystem according to package path.
|
||
|
LocateAppended // Locate boxes appended to the executable.
|
||
|
LocateEmbedded // Locate embedded boxes.
|
||
|
LocateWorkingDirectory // Locate on the binary working directory
|
||
|
)
|
||
|
|
||
|
// Config allows customizing the box lookup behavior.
|
||
|
type Config struct {
|
||
|
// LocateOrder defines the priority order that boxes are searched for. By
|
||
|
// default, the package global FindBox searches for embedded boxes first,
|
||
|
// then appended boxes, and then finally boxes on the filesystem. That
|
||
|
// search order may be customized by provided the ordered list here. Leaving
|
||
|
// out a particular method will omit that from the search space. For
|
||
|
// example, []LocateMethod{LocateEmbedded, LocateAppended} will never search
|
||
|
// the filesystem for boxes.
|
||
|
LocateOrder []LocateMethod
|
||
|
}
|
||
|
|
||
|
// FindBox searches for boxes using the LocateOrder of the config.
|
||
|
func (c *Config) FindBox(boxName string) (*Box, error) {
|
||
|
return findBox(boxName, c.LocateOrder)
|
||
|
}
|