diff options
| author | Shulhan <ms@kilabit.info> | 2019-06-18 14:49:16 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2019-06-18 14:49:16 +0700 |
| commit | 2c0156f2a03febd7d05518ef2d155a060b9b03e8 (patch) | |
| tree | 811f535c9c9fb4577e2d275d95f26db1f06dba76 | |
| parent | 560b26738f6632d1f59c80408e4eb0920f62cbb2 (diff) | |
| download | beku-2c0156f2a03febd7d05518ef2d155a060b9b03e8.tar.xz | |
all: update package share from v0.6.1 to v0.7.0
This update bring new change on how to use the ini package.
| -rw-r--r-- | beku.go | 7 | ||||
| -rw-r--r-- | env.go | 63 | ||||
| -rw-r--r-- | go.mod | 2 | ||||
| -rw-r--r-- | go.sum | 8 | ||||
| -rw-r--r-- | package.go | 51 | ||||
| -rw-r--r-- | package_test.go | 2 |
6 files changed, 54 insertions, 79 deletions
@@ -75,10 +75,9 @@ var ( // ErrPackageName define an error if package name is empty or invalid. ErrPackageName = errors.New("empty or invalid package name") - errDBPackageName = "missing package name, line %d at %s" - errDirNotEmpty = "directory %s is not empty" - errExcluded = "package '%s' is in excluded list\n" - errVCS = "unknown VCS mode %s" + errDirNotEmpty = "directory %s is not empty" + errExcluded = "package '%s' is in excluded list\n" + errVCS = "unknown VCS mode %s" ) var ( @@ -572,38 +572,24 @@ func (env *Env) Load(file string) (err error) { } func (env *Env) loadBeku() { - secBeku := env.db.GetSection(sectionBeku, "") - if secBeku == nil { - return - } + env.vendor = env.db.GetBool(sectionBeku, "", keyVendor, false) - for _, v := range secBeku.Vars { - if v.KeyLower == keyVendor { - if ini.IsValueBoolTrue(v.Value) { - env.vendor = true - _ = env.initVendor() - } - } - if v.KeyLower == keyExclude { - env.addExclude(v.Value) - } + for _, v := range env.db.Gets(sectionBeku, "", keyExclude) { + env.addExclude(v) } } func (env *Env) loadPackages() { - sections := env.db.GetSections(sectionPackage) + sections := env.db.Subs(sectionPackage) for _, sec := range sections { - if len(sec.Sub) == 0 { - fmt.Fprintln(os.Stderr, errDBPackageName, sec.LineNum, env.dbFile) - continue - } - if env.IsExcluded(sec.Sub) { + subName := sec.SubName() + if env.IsExcluded(subName) { continue } pkg := &Package{ - ImportPath: sec.Sub, - FullPath: filepath.Join(env.dirSrc, sec.Sub), + ImportPath: subName, + FullPath: filepath.Join(env.dirSrc, subName), state: packageStateLoad, } @@ -932,47 +918,36 @@ func (env *Env) Save(file string) (err error) { } func (env *Env) saveBeku() { - secBeku := ini.NewSection(sectionBeku, "") - if env.vendor { - secBeku.Set(keyVendor, "true") + env.db.Set(sectionBeku, "", keyVendor, "true") } else { - secBeku.Set(keyVendor, "false") + env.db.Set(sectionBeku, "", keyVendor, "false") } for _, exclude := range env.pkgsExclude { - secBeku.Add(keyExclude, exclude) + env.db.Set(sectionBeku, "", keyExclude, exclude) } - - secBeku.AddNewLine() - env.db.AddSection(secBeku) } func (env *Env) savePackages() { for _, pkg := range env.pkgs { - sec := ini.NewSection(sectionPackage, pkg.ImportPath) - - sec.Set(keyVCSMode, pkg.vcsMode) - sec.Set(keyRemoteName, pkg.RemoteName) - sec.Set(keyRemoteURL, pkg.RemoteURL) + env.db.Set(sectionPackage, pkg.ImportPath, keyVCSMode, pkg.vcsMode) + env.db.Set(sectionPackage, pkg.ImportPath, keyRemoteName, pkg.RemoteName) + env.db.Set(sectionPackage, pkg.ImportPath, keyRemoteURL, pkg.RemoteURL) if len(pkg.RemoteBranch) > 0 { - sec.Set(keyRemoteBranch, pkg.RemoteBranch) + env.db.Set(sectionPackage, pkg.ImportPath, keyRemoteBranch, pkg.RemoteBranch) } - sec.Set(keyVersion, pkg.Version) + env.db.Set(sectionPackage, pkg.ImportPath, keyVersion, pkg.Version) for _, dep := range pkg.Deps { - sec.Add(keyDeps, dep) + env.db.Set(sectionPackage, pkg.ImportPath, keyDeps, dep) } for _, req := range pkg.RequiredBy { - sec.Add(keyRequiredBy, req) + env.db.Set(sectionPackage, pkg.ImportPath, keyRequiredBy, req) } for _, mis := range pkg.DepsMissing { - sec.Add(keyDepsMissing, mis) + env.db.Set(sectionPackage, pkg.ImportPath, keyDepsMissing, mis) } - - sec.AddNewLine() - - env.db.AddSection(sec) } } @@ -1,7 +1,7 @@ module github.com/shuLhan/beku require ( - github.com/shuLhan/share v0.6.1 + github.com/shuLhan/share v0.7.1-0.20190618074053-d5b0a6ac0630 golang.org/x/tools v0.0.0-20190608022120-eacb66d2a7c3 ) @@ -1,13 +1,13 @@ -github.com/shuLhan/share v0.6.1 h1:oZndm+sroVxYfmRefuRopQ45tnPPFEtntQ5ioFyKcuU= -github.com/shuLhan/share v0.6.1/go.mod h1:8f/xkNviP0KcccNugzZh4XfmCzh0KBKt74NxuwJ5cpo= +github.com/shuLhan/share v0.7.1-0.20190618074053-d5b0a6ac0630 h1:8zCabMZjlza3FbBTYT6acqKe9UuRhTOlBu+xGOhEC7k= +github.com/shuLhan/share v0.7.1-0.20190618074053-d5b0a6ac0630/go.mod h1:p2/wsQ00pX/F1ysg+tXaix99ca2poS7iiWd6WWcVnuI= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507053917-2953c62de483/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190614084037-d442b75600c5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20190608022120-eacb66d2a7c3 h1:sU3tSV6wDhWsvf9NjL0FzRjgAmYnQL5NEhdmcN16UEg= golang.org/x/tools v0.0.0-20190608022120-eacb66d2a7c3/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -433,31 +433,32 @@ func (pkg *Package) addDep(env *Env, importPath string) bool { // load package metadata from database (INI Section). // func (pkg *Package) load(sec *ini.Section) { - for _, v := range sec.Vars { - switch v.KeyLower { - case keyVCSMode: - switch v.Value { - case VCSModeGit: - pkg.vcsMode = VCSModeGit - default: - pkg.vcsMode = VCSModeGit - } - case keyRemoteName: - pkg.RemoteName = v.Value - case keyRemoteURL: - pkg.RemoteURL = v.Value - case keyRemoteBranch: - pkg.RemoteBranch = v.Value - case keyVersion: - pkg.Version = v.Value - pkg.isTag = IsTagVersion(pkg.Version) - case keyDeps: - pkg.pushDep(v.Value) - case keyDepsMissing: - pkg.pushMissing(v.Value) - case keyRequiredBy: - pkg.pushRequiredBy(v.Value) - } + switch sec.Val(keyVCSMode) { + case VCSModeGit: + pkg.vcsMode = VCSModeGit + default: + pkg.vcsMode = VCSModeGit + } + + pkg.RemoteName = sec.Val(keyRemoteName) + pkg.RemoteURL = sec.Val(keyRemoteURL) + pkg.RemoteBranch = sec.Val(keyRemoteBranch) + pkg.Version = sec.Val(keyVersion) + pkg.isTag = IsTagVersion(pkg.Version) + + vals := sec.Vals(keyDeps) + for x := 0; x < len(vals); x++ { + pkg.pushDep(vals[x]) + } + + vals = sec.Vals(keyDepsMissing) + for x := 0; x < len(vals); x++ { + pkg.pushMissing(vals[x]) + } + + vals = sec.Vals(keyRequiredBy) + for x := 0; x < len(vals); x++ { + pkg.pushRequiredBy(vals[x]) } } diff --git a/package_test.go b/package_test.go index a9356ac..8b7a1b0 100644 --- a/package_test.go +++ b/package_test.go @@ -447,7 +447,7 @@ func TestPackageLoad(t *testing.T) { t.Log(c.desc) pkg := new(Package) - sec := cfg.GetSection(sectionPackage, c.pkgName) + sec := cfg.Section(sectionPackage, c.pkgName) pkg.load(sec) |
