Files
go-semantic-release/internal/storage/storage.go

44 lines
922 B
Go
Raw Normal View History

2019-05-14 20:19:36 +02:00
// Package storage helper for saving/reading version file
package storage
import (
"io/ioutil"
"gopkg.in/yaml.v2"
)
// VersionFileContent struct
type VersionFileContent struct {
Version string `yaml:"version"`
NextVersion string `yaml:"nextVersion"`
Commit string `yaml:"commit"`
Branch string `yaml:"branch"`
}
// Write version into .version
func Write(versionFileContent VersionFileContent) error {
data, err := yaml.Marshal(&versionFileContent)
if err != nil {
return err
}
return ioutil.WriteFile(".version", data, 0644)
}
// Read version into .version
func Read() (*VersionFileContent, error) {
content, err := ioutil.ReadFile(".version")
if err != nil {
return &VersionFileContent{}, err
}
var versionFileContent VersionFileContent
err = yaml.Unmarshal(content, &versionFileContent)
if err != nil {
return &VersionFileContent{}, err
}
return &versionFileContent, nil
}