package recipe import ( "coopcloud.tech/abra/cli/internal" "coopcloud.tech/abra/pkg/autocomplete" "coopcloud.tech/abra/pkg/recipe" "github.com/sirupsen/logrus" "github.com/urfave/cli" ) var recipeFetchCommand = cli.Command{ Name: "fetch", Usage: "Fetch recipe local copies", Aliases: []string{"f"}, ArgsUsage: "[]", Description: "Fetchs all recipes without arguments.", Flags: []cli.Flag{ internal.DebugFlag, }, Before: internal.SubCommandBefore, BashComplete: autocomplete.RecipeNameComplete, Action: func(c *cli.Context) error { recipeName := c.Args().First() if recipeName != "" { internal.ValidateRecipe(c) return nil // ValidateRecipe ensures latest checkout } repos, err := recipe.ReadReposMetadata() if err != nil { logrus.Fatal(err) } if err := recipe.UpdateRepositories(repos, recipeName); err != nil { logrus.Fatal(err) } return nil }, }