// GuessDeps tries to get the dependencies for the current directory. // // Params // - dirname (string): Directory to use as the base. Default: "." func GuessDeps(c cookoo.Context, p *cookoo.Params) (interface{}, cookoo.Interrupt) { buildContext, err := GetBuildContext() if err != nil { return nil, err } base := p.Get("dirname", ".").(string) deps := make(map[string]bool) err = findDeps(buildContext, deps, base, "") deps = compactDeps(deps) delete(deps, base) if err != nil { return nil, err } config := new(yaml.Config) // Get the name of the top level package config.Name = guessPackageName(buildContext, base) config.Imports = make([]*yaml.Dependency, len(deps)) i := 0 for pa := range deps { Info("Found reference to %s\n", pa) d := &yaml.Dependency{ Name: pa, } config.Imports[i] = d i++ } return config, nil }
func exportFlattenedDeps(conf *yaml.Config, in map[string]*yaml.Dependency) { out := make([]*yaml.Dependency, len(in)) i := 0 for _, v := range in { out[i] = v i++ } conf.Imports = out }