コード例 #1
0
ファイル: project.go プロジェクト: hopkinsth/lambda-phage
// cobra command for creating project
func createProjectCmd(c *cobra.Command, args []string) error {
	if len(args) == 0 || args[0] == "" {
		return fmt.Errorf("You didn't give us a project name! Please give us one.")
	}
	pName := args[0]
	pCfg, err := getProject(pName)

	if err != nil {
		fmt.Printf("Error creating or opening project:\n%s\n", err)
		return nil
	}

	// add the current function to the project
	if cfg != nil {
		pCfg.addFunction(cfg)
		cfg.addProject(pName)
		err = cfg.writeToFile(cfg.fName)

		if err != nil {
			fmt.Printf("Error updating config with project:\n%s\n", err)
			return nil
		}
	}

	err = pCfg.writeToFile()
	if err != nil {
		fmt.Printf("Error saving project:\n%s\n", err)
		return nil
	}

	var action string

	switch c.Name() {
	case "add":
		action = fmt.Sprintf("added %s to", *cfg.Name)
	default:
		action = "created"
	}

	fmt.Printf("%s project %s\n", action, pName)

	return nil
}