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  }