mirror of
https://github.com/Luzifer/update-gotools.git
synced 2024-12-22 21:01:20 +00:00
Add homdir expansion for paths
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
b70c30eee7
commit
9da6796158
2 changed files with 28 additions and 9 deletions
10
main.go
10
main.go
|
@ -2,12 +2,9 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
yaml "gopkg.in/yaml.v2"
|
|
||||||
|
|
||||||
"github.com/Luzifer/rconfig"
|
"github.com/Luzifer/rconfig"
|
||||||
homedir "github.com/mitchellh/go-homedir"
|
homedir "github.com/mitchellh/go-homedir"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
|
@ -55,12 +52,7 @@ func main() {
|
||||||
log.WithError(err).Fatal("Unable to create default config")
|
log.WithError(err).Fatal("Unable to create default config")
|
||||||
}
|
}
|
||||||
|
|
||||||
cfgFileRaw, err := ioutil.ReadFile(cfg.Config)
|
if err := cfgFile.LoadFromPath(cfg.Config); err != nil {
|
||||||
if err != nil {
|
|
||||||
log.WithError(err).Fatal("Unable to read config")
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := yaml.Unmarshal(cfgFileRaw, cfgFile); err != nil {
|
|
||||||
log.WithError(err).Fatal("Unable to parse config file")
|
log.WithError(err).Fatal("Unable to parse config file")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
27
types.go
27
types.go
|
@ -3,6 +3,11 @@ package main
|
||||||
import (
|
import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
homedir "github.com/mitchellh/go-homedir"
|
||||||
|
|
||||||
|
yaml "gopkg.in/yaml.v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
type pkgCfg struct {
|
type pkgCfg struct {
|
||||||
|
@ -20,6 +25,28 @@ type configFile struct {
|
||||||
PostCommands [][]string `yaml:"post_commands"`
|
PostCommands [][]string `yaml:"post_commands"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *configFile) LoadFromPath(filepath string) error {
|
||||||
|
r, err := os.Open(filepath)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer r.Close()
|
||||||
|
|
||||||
|
if err := yaml.NewDecoder(r).Decode(cfgFile); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.Cwd, err = homedir.Expand(c.Cwd); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.GoPath, err = homedir.Expand(c.GoPath); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (p *pkgCfg) Version() (string, error) {
|
func (p *pkgCfg) Version() (string, error) {
|
||||||
if p.Ver != "" {
|
if p.Ver != "" {
|
||||||
return p.Ver, nil
|
return p.Ver, nil
|
||||||
|
|
Loading…
Reference in a new issue