Skip to content
Snippets Groups Projects
Unverified Commit 78b35a14 authored by Benjamin Bollen's avatar Benjamin Bollen
Browse files

Merge remote-tracking branch 'origin/develop' into feature-434-genesis-make

parents e0848e71 b7ab174d
No related branches found
No related tags found
No related merge requests found
......@@ -4,9 +4,10 @@
package config
import (
"github.com/stretchr/testify/assert"
"io/ioutil"
"testing"
"github.com/stretchr/testify/assert"
)
// This is a little convenience for getting a config file dump. Just run:
......
......@@ -2,6 +2,7 @@ package config
import (
"fmt"
"github.com/spf13/viper"
)
......
......@@ -2,9 +2,10 @@ package event
import (
"fmt"
"github.com/eris-ltd/eris-db/txs"
"sync"
"time"
"github.com/eris-ltd/eris-db/txs"
)
var (
......
hell 0 → 100644
#!/usr/bin/env bash
go run ./util/hell/cmd/hell/main.go "$@"
\ No newline at end of file
......@@ -19,6 +19,7 @@ package keys
import (
"encoding/hex"
"fmt"
"github.com/eris-ltd/eris-db/logging"
"github.com/eris-ltd/eris-db/logging/loggers"
)
......
......@@ -4,6 +4,7 @@ import (
"testing"
"fmt"
"github.com/stretchr/testify/assert"
)
......
package client
import (
"github.com/stretchr/testify/assert"
"testing"
"github.com/stretchr/testify/assert"
)
func TestMapsAndValues(t *testing.T) {
......
> Hell is other people's packages
While we wait for working package management in go we need a way to make
maintaining the glide.lock by hand less painful.
\ No newline at end of file
maintaining the glide.lock by hand less painful.
To interactively add a package run from the root:
```bash
go run ./util/hell/cmd/hell/main.go get --interactive github.com/tendermint/tendermint
```
......@@ -3,9 +3,10 @@ package main
import (
"fmt"
"os"
"path/filepath"
"github.com/eris-ltd/eris-db/util/hell"
"github.com/Masterminds/glide/action"
"github.com/Masterminds/glide/cache"
"github.com/Masterminds/glide/cfg"
......@@ -13,7 +14,6 @@ import (
"github.com/Masterminds/glide/path"
"github.com/Masterminds/glide/repo"
"github.com/Masterminds/glide/util"
"github.com/eris-ltd/eris-db/util/hell"
"github.com/spf13/cobra"
)
......@@ -74,37 +74,52 @@ func main() {
}
rootPackage, _ := util.NormalizeName(args[0])
// Add dependency to glide
action.Get(args, repo.NewInstaller(), false, true, false, !interactive, false)
installer := repo.NewInstaller()
action.Get(args, installer, false, true, false, !interactive, false)
// Now hunt down the repo cache
dep := action.EnsureConfig().Imports.Get(rootPackage)
key, err := cache.Key(dep.Remote())
if err != nil {
msg.Die("%s requires a single argument of the remote dependency\n", cmd.Name())
}
cacheDir := filepath.Join(cache.Location(), "src", key)
repos, err := dep.GetRepo(cacheDir)
if err != nil {
msg.Die("Could not get repo: %s", err)
}
version, err := repos.Version()
if err != nil {
msg.Die("Could not get version: %s", err)
}
dep.Pin = version
lockPath := filepath.Join(".", path.LockFile)
baseLockFile, err := cfg.ReadLockFile(lockPath)
if err != nil {
msg.Die("Could not read base lock file: %s", err)
}
overrideLockFile := &cfg.Lockfile{}
if path.HasLock(cacheDir) {
msg.Info("Found dependency lock file, merging into project lock file")
lockPath := filepath.Join(".", path.LockFile)
baseLockFile, err := cfg.ReadLockFile(lockPath)
if err != nil {
msg.Die("Could not read base lock file: %s", err)
}
overrideLockFile, err := cfg.ReadLockFile(filepath.Join(cacheDir, path.LockFile))
msg.Info("Found dependency lock file so merging into project lock file")
overrideLockFile, err = cfg.ReadLockFile(filepath.Join(cacheDir, path.LockFile))
if err != nil {
msg.Die("Could not read dependency lock file: %s", err)
}
mergedLockFile, err := hell.MergeGlideLockFiles(baseLockFile, overrideLockFile)
if err != nil {
msg.Die("Could not merge lock files: %s\n", err)
}
err = mergedLockFile.WriteFile(lockPath)
if err != nil {
msg.Die("Could not write merged lock file: %s", err)
}
} else {
msg.Info("Did not find dependency lock file, so nothing merged intoo project lock file")
}
// Add the package to glide lock too!
overrideLockFile.Imports = append(overrideLockFile.Imports, cfg.LockFromDependency(dep))
mergedLockFile, err := hell.MergeGlideLockFiles(baseLockFile, overrideLockFile)
fmt.Printf("%#v\n", mergedLockFile.Imports)
if err != nil {
msg.Die("Could not merge lock files: %s\n", err)
}
err = mergedLockFile.WriteFile(lockPath)
if err != nil {
msg.Die("Could not write merged lock file: %s", err)
}
action.Install(installer, false)
},
}
......
......@@ -3,7 +3,6 @@ package hell
import (
"crypto/sha256"
"fmt"
"sort"
"github.com/Masterminds/glide/cfg"
......
package hell
import (
"testing"
"strings"
"testing"
"github.com/Masterminds/glide/cfg"
"github.com/stretchr/testify/assert"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment