32 lines
833 B
Go
32 lines
833 B
Go
package cmd
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
"github.com/spf13/viper"
|
|
"golang.org/x/exp/slog"
|
|
)
|
|
|
|
const longDesc = `Used to reset a project cache, forcing it to be rebuilt.
|
|
|
|
If --clearAliases is provided, will also reset aliases. Use with caution.`
|
|
|
|
var clearCmd = &cobra.Command{
|
|
Use: "clear",
|
|
Short: "Clear GitLab Project Cache",
|
|
PreRun: runCacheCmd,
|
|
PostRun: postCacheCmd,
|
|
Long: longDesc,
|
|
Run: clearCache,
|
|
}
|
|
|
|
func clearCache(cmd *cobra.Command, args []string) {
|
|
slog.Debug("Preparing to clear local cache")
|
|
projectCache.Clear(conf.Cache.Clear.ClearAliases)
|
|
}
|
|
|
|
func init() {
|
|
cacheCmd.AddCommand(clearCmd)
|
|
clearCmd.Flags().Bool("clearAliases", false, "Will also clear aliases from the cache, use with caution")
|
|
viper.BindPFlag("cache.clear.clearAliases", clearCmd.LocalFlags().Lookup("clearAliases"))
|
|
}
|