Creates settings file when issueing the init command
This commit is contained in:
parent
0597ef878c
commit
8f54e99bf2
36
cmd/init.go
36
cmd/init.go
@ -15,13 +15,25 @@
|
|||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
log "github.com/Sirupsen/logrus"
|
log "github.com/Sirupsen/logrus"
|
||||||
"github.com/jjdekker/ponder/helpers"
|
"github.com/jjdekker/ponder/helpers"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
settingsFile = "ponder.json"
|
||||||
|
settingsTemplate = []byte(`{
|
||||||
|
"Name": "",
|
||||||
|
"IgnoreDirs": [".git"],
|
||||||
|
"LilypondIncludes": [],
|
||||||
|
"OutputDir": "out"
|
||||||
|
}`)
|
||||||
|
)
|
||||||
|
|
||||||
// initCmd represents the init command
|
// initCmd represents the init command
|
||||||
var initCmd = &cobra.Command{
|
var initCmd = &cobra.Command{
|
||||||
Use: "init [name]",
|
Use: "init [name]",
|
||||||
@ -51,17 +63,37 @@ Init will not use an existing directory with contents.`,
|
|||||||
|
|
||||||
func initializePath(path string) {
|
func initializePath(path string) {
|
||||||
b, err := helpers.Exists(path)
|
b, err := helpers.Exists(path)
|
||||||
helpers.Check(err, "Error while checking file")
|
if err != nil {
|
||||||
|
log.WithFields(log.Fields{"error": err, "path": path}).
|
||||||
|
Fatal("Unable to check path")
|
||||||
|
}
|
||||||
|
|
||||||
if !b {
|
if !b {
|
||||||
err := os.MkdirAll(path, os.ModePerm)
|
err := os.MkdirAll(path, os.ModePerm)
|
||||||
helpers.Check(err, "Could not create directory")
|
helpers.Check(err, "Could not create directory")
|
||||||
}
|
}
|
||||||
|
|
||||||
// createSettings()
|
createSettings(path)
|
||||||
// createGitIgnore()
|
// createGitIgnore()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func createSettings(path string) {
|
||||||
|
path = filepath.Join(path, settingsFile)
|
||||||
|
b, err := helpers.Exists(path)
|
||||||
|
if err != nil {
|
||||||
|
log.WithFields(log.Fields{"error": err, "path": path}).
|
||||||
|
Fatal("Unable to check path")
|
||||||
|
}
|
||||||
|
|
||||||
|
if !b {
|
||||||
|
err = ioutil.WriteFile(path, settingsTemplate, 0644)
|
||||||
|
if err != nil {
|
||||||
|
log.WithFields(log.Fields{"error": err, "path": path}).
|
||||||
|
Fatal("Unable to create settings file")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RootCmd.AddCommand(initCmd)
|
RootCmd.AddCommand(initCmd)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user