github.imxd.top/gopinath-langote/1build@v1.2.0/cmd/config/io.go (about) 1 package config 2 3 import ( 4 "errors" 5 "gopkg.in/yaml.v3" 6 "io/ioutil" 7 "os" 8 ) 9 10 func ReadFile() (string, error) { 11 if _, err := os.Stat(OneBuildConfigFileName); os.IsNotExist(err) { 12 return "", errors.New("no '" + OneBuildConfigFileName + "' file found in current directory") 13 } 14 yamlFile, err := ioutil.ReadFile(OneBuildConfigFileName) 15 if err != nil { 16 return "", errors.New("error in reading '" + OneBuildConfigFileName + "' configuration file") 17 } 18 return string(yamlFile), nil 19 } 20 21 func IsConfigFilePresent() bool { 22 if _, err := os.Stat(OneBuildConfigFileName); err == nil { 23 return true 24 } else if os.IsNotExist(err) { 25 return false 26 } else { 27 return true 28 } 29 } 30 31 func WriteConfigFile(configuration OneBuildConfiguration) error { 32 yamlData, _ := yaml.Marshal(&configuration) 33 content := string(yamlData) 34 return ioutil.WriteFile(OneBuildConfigFileName, []byte(content), 0777) 35 }