gouick/cmd/generateMakefile.go
Matthieu 'JP' DERASSE cda86019bb
All checks were successful
continuous-integration/drone/push Build is passing
feat(go-swagger): Allow generate launcher makefile and readme. Refactoring
2022-09-20 21:49:37 +00:00

48 lines
1.1 KiB
Go

/*
Copyright © 2022 Matthieu Derasse <git@derasse.fr>
*/
package cmd
import (
"git.home.m-and-m.ovh/mderasse/gouick/helpers/api_types"
"github.com/spf13/cobra"
log "github.com/sirupsen/logrus"
)
// makefileCmd represents the makefile command.
var makefileCmd = &cobra.Command{
Use: "makefile",
Short: "Generate Makefile",
Run: runGenerateMakefileAction,
}
func init() {
generateCmd.AddCommand(makefileCmd)
}
// runGenerateMakefileAction will generate the Makefile for the current project.
func runGenerateMakefileAction(cmd *cobra.Command, args []string) {
log.Debugf("Starting command GenerateMakefile")
currentPath, config, err := loadProjectAndConfig()
if err != nil {
return
}
apiType, err := api_types.GetAPIType(config.ProjectType)
if err != nil {
log.Error("Impossible to load that API Type generator")
return
}
// Generate Makefile
log.Info("Generating Makefile")
err = apiType.GenerateMakefile(currentPath, config)
if err != nil {
log.Errorf("Fail to generate Makefile. The following error happen: %s", err.Error())
return
}
}