forked from toolshed/abra
@ -13,6 +13,7 @@ import (
|
||||
"coopcloud.tech/abra/pkg/config"
|
||||
"coopcloud.tech/abra/pkg/formatter"
|
||||
gitPkg "coopcloud.tech/abra/pkg/git"
|
||||
"coopcloud.tech/abra/pkg/i18n"
|
||||
"coopcloud.tech/abra/pkg/log"
|
||||
"coopcloud.tech/abra/pkg/recipe"
|
||||
"github.com/go-git/go-git/v5"
|
||||
@ -20,10 +21,10 @@ import (
|
||||
)
|
||||
|
||||
var CatalogueGenerateCommand = &cobra.Command{
|
||||
Use: "generate [recipe] [flags]",
|
||||
Aliases: []string{"g"},
|
||||
Short: "Generate the recipe catalogue",
|
||||
Long: `Generate a new copy of the recipe catalogue.
|
||||
Use: i18n.G("generate [recipe] [flags]"),
|
||||
Aliases: []string{i18n.G("g")},
|
||||
Short: i18n.G("Generate the recipe catalogue"),
|
||||
Long: i18n.G(`Generate a new copy of the recipe catalogue.
|
||||
|
||||
N.B. this command **will** wipe local unstaged changes from your local recipes
|
||||
if present. "--chaos/-C" on this command refers to the catalogue repository
|
||||
@ -39,7 +40,7 @@ use those details.
|
||||
|
||||
Push your new release to git.coopcloud.tech with "--publish/-p". This requires
|
||||
that you have permission to git push to these repositories and have your SSH
|
||||
keys configured on your account.`,
|
||||
keys configured on your account.`),
|
||||
Args: cobra.RangeArgs(0, 1),
|
||||
ValidArgsFunction: func(
|
||||
cmd *cobra.Command,
|
||||
@ -85,7 +86,7 @@ keys configured on your account.`,
|
||||
|
||||
var warnings []string
|
||||
catl := make(recipe.RecipeCatalogue)
|
||||
catlBar := formatter.CreateProgressbar(barLength, "collecting catalogue metadata")
|
||||
catlBar := formatter.CreateProgressbar(barLength, i18n.G("collecting catalogue metadata"))
|
||||
for _, recipeMeta := range repos {
|
||||
if recipeName != "" && recipeName != recipeMeta.Name {
|
||||
if !internal.Debug {
|
||||
@ -171,7 +172,7 @@ keys configured on your account.`,
|
||||
}
|
||||
}
|
||||
|
||||
log.Infof("generated recipe catalogue: %s", config.RECIPES_JSON)
|
||||
log.Info(i18n.G("generated recipe catalogue: %s", config.RECIPES_JSON))
|
||||
|
||||
cataloguePath := path.Join(config.ABRA_DIR, "catalogue")
|
||||
if publishChanges {
|
||||
@ -183,11 +184,11 @@ keys configured on your account.`,
|
||||
|
||||
if isClean {
|
||||
if !internal.Dry {
|
||||
log.Fatalf("no changes discovered in %s, nothing to publish?", cataloguePath)
|
||||
log.Fatal(i18n.G("no changes discovered in %s, nothing to publish?", cataloguePath))
|
||||
}
|
||||
}
|
||||
|
||||
msg := "chore: publish new catalogue release changes"
|
||||
msg := i18n.G("chore: publish new catalogue release changes")
|
||||
if err := gitPkg.Commit(cataloguePath, msg, internal.Dry); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
@ -219,19 +220,19 @@ keys configured on your account.`,
|
||||
|
||||
if !internal.Dry && publishChanges {
|
||||
url := fmt.Sprintf("%s/%s/commit/%s", config.REPOS_BASE_URL, config.CATALOGUE_JSON_REPO_NAME, head.Hash())
|
||||
log.Infof("new changes published: %s", url)
|
||||
log.Info(i18n.G("new changes published: %s", url))
|
||||
}
|
||||
|
||||
if internal.Dry {
|
||||
log.Info("dry run: no changes published")
|
||||
log.Info(i18n.G("dry run: no changes published"))
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
// CatalogueCommand defines the `abra catalogue` command and sub-commands.
|
||||
var CatalogueCommand = &cobra.Command{
|
||||
Use: "catalogue [cmd] [args] [flags]",
|
||||
Short: "Manage the recipe catalogue",
|
||||
Use: i18n.G("catalogue [cmd] [args] [flags]"),
|
||||
Short: i18n.G("Manage the recipe catalogue"),
|
||||
Aliases: []string{"c"},
|
||||
}
|
||||
|
||||
@ -243,33 +244,33 @@ var (
|
||||
func init() {
|
||||
CatalogueGenerateCommand.Flags().BoolVarP(
|
||||
&publishChanges,
|
||||
"publish",
|
||||
"p",
|
||||
i18n.G("publish"),
|
||||
i18n.G("p"),
|
||||
false,
|
||||
"publish changes to git.coopcloud.tech",
|
||||
i18n.G("publish changes to git.coopcloud.tech"),
|
||||
)
|
||||
|
||||
CatalogueGenerateCommand.Flags().BoolVarP(
|
||||
&internal.Dry,
|
||||
"dry-run",
|
||||
"r",
|
||||
i18n.G("dry-run"),
|
||||
i18n.G("r"),
|
||||
false,
|
||||
"report changes that would be made",
|
||||
i18n.G("report changes that would be made"),
|
||||
)
|
||||
|
||||
CatalogueGenerateCommand.Flags().BoolVarP(
|
||||
&skipUpdates,
|
||||
"skip-updates",
|
||||
"s",
|
||||
i18n.G("skip-updates"),
|
||||
i18n.G("s"),
|
||||
false,
|
||||
"skip updating recipe repositories",
|
||||
i18n.G("skip updating recipe repositories"),
|
||||
)
|
||||
|
||||
CatalogueGenerateCommand.Flags().BoolVarP(
|
||||
&internal.Chaos,
|
||||
"chaos",
|
||||
"C",
|
||||
i18n.G("chaos"),
|
||||
i18n.G("C"),
|
||||
false,
|
||||
"ignore uncommitted recipes changes",
|
||||
i18n.G("ignore uncommitted recipes changes"),
|
||||
)
|
||||
}
|
||||
|
Reference in New Issue
Block a user