runner

package
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2024 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InitCommand = &cobra.Command{
	Use:   "init",
	Short: "initialize a kl-config file",
	Long:  `use this command to initialize a kl-config file`,
	Run: func(cmd *cobra.Command, args []string) {

		fc, err := fileclient.New()
		if err != nil {
			fn.PrintError(err)
			return
		}
		apic, err := apiclient.New()
		if err != nil {
			fn.PrintError(err)
			return
		}

		if envclient.InsideBox() {
			fn.PrintError(fn.Error("cannot re-initialize workspace in dev box"))
			return
		}

		if _, err = fc.GetKlFile(""); err == nil {
			fn.Printf(text.Yellow("workspace is already initilized. Do you want to override? [y/N]: "))
			if !fn.Confirm("Y", "N") {
				return
			}
		} else if !errors.Is(err, confighandler.ErrKlFileNotExists) {
			fn.PrintError(err)
			return
		}

		selectedTeam, err := selectTeam(apic)
		if err != nil {
			fn.PrintError(err)
			return
		} else {
			if selectedEnv, err := selectEnv(apic, fc, *selectedTeam); err != nil {
				fn.PrintError(err)
			} else {
				newKlFile := fileclient.KLFileType{
					TeamName:   *selectedTeam,
					DefaultEnv: *selectedEnv,
					Version:    "v1",
					Packages:   []string{"neovim", "git"},
				}
				if err := fc.WriteKLFile(newKlFile); err != nil {
					fn.PrintError(err)
				} else {
					fn.Printf(text.Green("workspace initialized successfully.\n"))
				}
			}
		}

		dir, err := os.Getwd()
		if err != nil {
			fn.PrintError(err)
			return
		}

		if err := hashctrl.SyncBoxHash(apic, fc, dir); err != nil {
			fn.PrintError(err)
			return
		}

		c, err := boxpkg.NewClient(cmd, args)
		if err != nil {
			fn.PrintError(err)
			return
		}

		if err := c.ConfirmBoxRestart(); err != nil {
			fn.PrintError(err)
			return
		}

	},
}

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL