Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var PROJFILE = ".go.yaml"
Functions ¶
func FindProjRoot ¶
FindProjRoot returns the directory name of the parent that contains the .go.yaml file
func IsProjRoot ¶
IsProjRoot returns whether or not a particular directory is the project root for a goat project (aka, whether or not it has a goat file)
Types ¶
type GoatEnv ¶
type GoatEnv struct { // ProjRoot is the absolute path to the project root in the current // environment ProjRoot string // Path is the path that the project will be using for its own internal // import statements, and consequently what other projects depending on this // one will use as well. Path string `yaml:"path"` // Dependencies are the dependencies listed in the project's project file Dependencies []Dependency `yaml:"deps"` }
func NewGoatEnv ¶
NewGoatEnv takes in the directory where a goat project file can be found, creates the GoatEnv struct based on that file, and returns it
func (*GoatEnv) AbsDepDir ¶
AbsDepDir is the absolute path to the dependency directory inside the goat data directory
func (*GoatEnv) AbsGoatDir ¶
AbsGoatDir is the absolute path to the goat data directory
func (*GoatEnv) AbsProjFile ¶
AbsProjFile is the absolute path to the goat project file for this environment
func (*GoatEnv) FetchDependencies ¶
FetchDependencies goes and retrieves the dependencies for the GoatEnv. If the dependencies have any goat project files in them, this will fetch the dependencies listed therein as well. All dependencies are placed in the root project's lib directory, INCLUDING any sub-dependencies. This is done on purpose!