Superficial updates to accomodate gps v0.8.1
diff --git a/action/create.go b/action/create.go
index 85b1677..e44e2fe 100644
--- a/action/create.go
+++ b/action/create.go
@@ -85,7 +85,7 @@
config := new(cfg.Config)
// Get the name of the top level package
- config.ProjectName = name
+ config.ProjectRoot = name
// Import by looking at other package managers and looking over the
// entire directory structure.
@@ -131,7 +131,7 @@
n := strings.TrimPrefix(pa, vpath)
root, subpkg := util.NormalizeName(n)
- if !config.Imports.Has(root) && root != config.ProjectName {
+ if !config.Imports.Has(root) && root != config.ProjectRoot {
msg.Info("--> Found reference to %s\n", n)
d := &cfg.Dependency{
Name: root,
@@ -156,9 +156,9 @@
n := strings.TrimPrefix(pa, vpath)
root, subpkg := util.NormalizeName(n)
- if config.Imports.Has(root) && root != config.ProjectName {
+ if config.Imports.Has(root) && root != config.ProjectRoot {
msg.Debug("--> Found test reference to %s already listed as an import", n)
- } else if !config.DevImports.Has(root) && root != config.ProjectName {
+ } else if !config.DevImports.Has(root) && root != config.ProjectRoot {
msg.Info("--> Found test reference to %s", n)
d := &cfg.Dependency{
Name: root,
diff --git a/action/ensure.go b/action/ensure.go
index 51c143f..43f2df9 100644
--- a/action/ensure.go
+++ b/action/ensure.go
@@ -48,8 +48,8 @@
b, err = filepath.Rel(b, cwd)
if err == nil {
name := buildContext.PackageName(b)
- if name != conf.ProjectName {
- msg.Warn("The name listed in the config file (%s) does not match the current location (%s)", conf.ProjectName, name)
+ if name != conf.ProjectRoot {
+ msg.Warn("The name listed in the config file (%s) does not match the current location (%s)", conf.ProjectRoot, name)
}
} else {
msg.Warn("Problem finding the config file path (%s) relative to the current directory (%s): %s", b, cwd, err)
diff --git a/action/get.go b/action/get.go
index 2e6a05d..d4e9a50 100644
--- a/action/get.go
+++ b/action/get.go
@@ -37,14 +37,11 @@
msg.Die("Could not find the vendor dir: %s", err)
}
- args := gps.SolveArgs{
- Name: gps.ProjectName(conf.ProjectName),
- Root: filepath.Dir(glidefile),
- Manifest: conf,
- Ignore: conf.Ignore,
- }
-
- opts := gps.SolveOpts{
+ params := gps.SolveParameters{
+ RootDir: filepath.Dir(glidefile),
+ ImportRoot: gps.ProjectRoot(conf.ProjectRoot),
+ Manifest: conf,
+ Ignore: conf.Ignore,
Trace: true,
TraceLogger: log.New(os.Stdout, "", 0),
}
@@ -53,7 +50,7 @@
// don't want a get to just update all deps without the user explictly
// making that choice.
if gpath.HasLock(base) {
- args.Lock, err = LoadLockfile(base, conf)
+ params.Lock, err = LoadLockfile(base, conf)
if err != nil {
msg.Err("Could not load lockfile; aborting get. Existing dependency versions cannot be safely preserved without a lock file. Error was: %s", err)
return
@@ -61,7 +58,7 @@
}
// Create the SourceManager for this run
- sm, err := gps.NewSourceManager(dependency.Analyzer{}, filepath.Join(installer.Home, "cache"), base, false)
+ sm, err := gps.NewSourceManager(dependency.Analyzer{}, filepath.Join(installer.Home, "cache"), false)
defer sm.Release()
if err != nil {
msg.Err(err.Error())
@@ -80,8 +77,8 @@
return
}
- // Prepare a solver. This validates our args and opts.
- s, err := gps.Prepare(args, opts, sm)
+ // Prepare a solver. This validates our params.
+ s, err := gps.Prepare(params, sm)
if err != nil {
msg.Err("Aborted get - could not set up solver to reconcile dependencies: %s", err)
return
@@ -99,7 +96,7 @@
gw := safeGroupWriter{
conf: conf,
- lock: args.Lock.(*cfg.Lockfile),
+ lock: params.Lock.(*cfg.Lockfile),
resultLock: r,
sm: sm,
glidefile: glidefile,
diff --git a/action/install.go b/action/install.go
index 9afb974..53599af 100644
--- a/action/install.go
+++ b/action/install.go
@@ -31,7 +31,7 @@
}
// Create the SourceManager for this run
- sm, err := gps.NewSourceManager(dependency.Analyzer{}, filepath.Join(installer.Home, "cache"), base, false)
+ sm, err := gps.NewSourceManager(dependency.Analyzer{}, filepath.Join(installer.Home, "cache"), false)
defer sm.Release()
if err != nil {
msg.Err(err.Error())
@@ -39,8 +39,8 @@
}
params := gps.SolveParameters{
- Name: gps.ProjectName(conf.ProjectName),
- Root: filepath.Dir(vend),
+ RootDir: filepath.Dir(vend),
+ ImportRoot: gps.ProjectRoot(conf.ProjectRoot),
Manifest: conf,
Ignore: conf.Ignore,
Trace: true,
@@ -55,7 +55,7 @@
return
}
- s, err = gps.Prepare(params, opts, sm)
+ s, err = gps.Prepare(params, sm)
if err != nil {
msg.Err("Could not set up solver: %s", err)
return
diff --git a/action/name.go b/action/name.go
index 4c6db0f..7a67b7c 100644
--- a/action/name.go
+++ b/action/name.go
@@ -7,5 +7,5 @@
// Name prints the name of the package, according to the glide.yaml file.
func Name() {
conf := EnsureConfig()
- msg.Puts(conf.ProjectName)
+ msg.Puts(conf.ProjectRoot)
}
diff --git a/action/project_info.go b/action/project_info.go
index 20e8f84..0662bbc 100644
--- a/action/project_info.go
+++ b/action/project_info.go
@@ -14,7 +14,7 @@
if varInit {
switch var_format {
case 'n':
- buffer.WriteString(conf.ProjectName)
+ buffer.WriteString(conf.ProjectRoot)
case 'd':
buffer.WriteString(conf.Description)
case 'h':
diff --git a/action/update.go b/action/update.go
index f792e03..33d616a 100644
--- a/action/update.go
+++ b/action/update.go
@@ -30,32 +30,29 @@
msg.Die("Could not find the vendor dir: %s", err)
}
- args := gps.SolveArgs{
- Name: gps.ProjectName(conf.ProjectName),
- Root: filepath.Dir(vend),
- Manifest: conf,
- Ignore: conf.Ignore,
- }
-
- opts := gps.SolveOpts{
+ params := gps.SolveParameters{
+ RootDir: filepath.Dir(vend),
+ ImportRoot: gps.ProjectRoot(conf.ProjectRoot),
+ Manifest: conf,
+ Ignore: conf.Ignore,
Trace: true,
TraceLogger: log.New(os.Stdout, "", 0),
}
if len(projs) == 0 {
- opts.ChangeAll = true
+ params.ChangeAll = true
} else {
- opts.ChangeAll = false
+ params.ChangeAll = false
for _, p := range projs {
if !conf.HasDependency(p) {
msg.Die("Cannot update %s, as it is not listed as dependency in glide.yaml.", p)
}
- opts.ToChange = append(opts.ToChange, gps.ProjectName(p))
+ params.ToChange = append(params.ToChange, gps.ProjectRoot(p))
}
}
if gpath.HasLock(base) {
- args.Lock, err = LoadLockfile(base, conf)
+ params.Lock, err = LoadLockfile(base, conf)
if err != nil {
msg.Err("Could not load lockfile, aborting: %s", err)
return
@@ -63,15 +60,15 @@
}
// Create the SourceManager for this run
- sm, err := gps.NewSourceManager(dependency.Analyzer{}, filepath.Join(installer.Home, "cache"), base, false)
+ sm, err := gps.NewSourceManager(dependency.Analyzer{}, filepath.Join(installer.Home, "cache"), false)
if err != nil {
msg.Err(err.Error())
return
}
defer sm.Release()
- // Prepare a solver. This validates our args and opts.
- s, err := gps.Prepare(args, opts, sm)
+ // Prepare a solver. This validates our params.
+ s, err := gps.Prepare(params, sm)
if err != nil {
msg.Err("Could not set up solver: %s", err)
return
@@ -85,7 +82,7 @@
}
gw := safeGroupWriter{
- lock: args.Lock.(*cfg.Lockfile),
+ lock: params.Lock.(*cfg.Lockfile),
resultLock: r,
sm: sm,
vendor: vend,
diff --git a/cfg/config.go b/cfg/config.go
index 6dc42a5..54e60be 100644
--- a/cfg/config.go
+++ b/cfg/config.go
@@ -18,7 +18,7 @@
type Config struct {
// Name is the name of the package or application.
- ProjectName string `yaml:"package"`
+ ProjectRoot string `yaml:"package"`
// Description is a short description for a package, application, or library.
// This description is similar but different to a Go package description as
@@ -104,7 +104,7 @@
if err := unmarshal(&newConfig); err != nil {
return err
}
- c.ProjectName = newConfig.Name
+ c.ProjectRoot = newConfig.Name
c.Description = newConfig.Description
c.Home = newConfig.Home
c.License = newConfig.License
@@ -123,7 +123,7 @@
// MarshalYAML is a hook for gopkg.in/yaml.v2 in the marshaling process
func (c *Config) MarshalYAML() (interface{}, error) {
newConfig := &cf{
- Name: c.ProjectName,
+ Name: c.ProjectRoot,
Description: c.Description,
Home: c.Home,
License: c.License,
@@ -164,18 +164,18 @@
// DependencyConstraints lists all the non-test dependency constraints
// described in a glide manifest in a way gps will understand.
-func (c *Config) DependencyConstraints() []gps.ProjectDep {
+func (c *Config) DependencyConstraints() []gps.ProjectConstraint {
return depsToVSolver(c.Imports)
}
// TestDependencyConstraints lists all the test dependency constraints described
// in a glide manifest in a way gps will understand.
-func (c *Config) TestDependencyConstraints() []gps.ProjectDep {
+func (c *Config) TestDependencyConstraints() []gps.ProjectConstraint {
return depsToVSolver(c.DevImports)
}
-func depsToVSolver(deps Dependencies) []gps.ProjectDep {
- cp := make([]gps.ProjectDep, len(deps))
+func depsToVSolver(deps Dependencies) []gps.ProjectConstraint {
+ cp := make([]gps.ProjectConstraint, len(deps))
for k, d := range deps {
var c gps.Constraint
var err error
@@ -202,11 +202,11 @@
}
id := gps.ProjectIdentifier{
- LocalName: gps.ProjectName(d.Name),
+ ProjectRoot: gps.ProjectRoot(d.Name),
NetworkName: d.Repository,
}
- cp[k] = gps.ProjectDep{
+ cp[k] = gps.ProjectConstraint{
Ident: id,
Constraint: c,
}
@@ -216,8 +216,8 @@
}
// Name returns the name of the project given in the manifest.
-func (c *Config) Name() gps.ProjectName {
- return gps.ProjectName(c.ProjectName)
+func (c *Config) Name() gps.ProjectRoot {
+ return gps.ProjectRoot(c.ProjectRoot)
}
// HasIgnore returns true if the given name is listed on the ignore list.
@@ -249,7 +249,7 @@
// Clone performs a deep clone of the Config instance
func (c *Config) Clone() *Config {
n := &Config{}
- n.ProjectName = c.ProjectName
+ n.ProjectRoot = c.ProjectRoot
n.Description = c.Description
n.Home = c.Home
n.License = c.License
@@ -290,7 +290,7 @@
// If the name on the config object is part of the imports remove it.
found := -1
for i, dep := range c.Imports {
- if dep.Name == c.ProjectName {
+ if dep.Name == c.ProjectRoot {
found = i
}
}
@@ -300,7 +300,7 @@
found = -1
for i, dep := range c.DevImports {
- if dep.Name == c.ProjectName {
+ if dep.Name == c.ProjectRoot {
found = i
}
}
@@ -440,16 +440,16 @@
// Dependency describes a package that the present package depends upon.
type Dependency struct {
- Name string `yaml:"package"`
+ Name string `yaml:"package"`
Constraint gps.Constraint `yaml:"-"` // TODO temporary, for experimenting; reconcile with other data
- Reference string `yaml:"version,omitempty"`
- Pin string `yaml:"-"`
- Repository string `yaml:"repo,omitempty"`
- VcsType string `yaml:"vcs,omitempty"`
- Subpackages []string `yaml:"subpackages,omitempty"`
- Arch []string `yaml:"arch,omitempty"`
- Os []string `yaml:"os,omitempty"`
- UpdateAsVendored bool `yaml:"-"`
+ Reference string `yaml:"version,omitempty"`
+ Pin string `yaml:"-"`
+ Repository string `yaml:"repo,omitempty"`
+ VcsType string `yaml:"vcs,omitempty"`
+ Subpackages []string `yaml:"subpackages,omitempty"`
+ Arch []string `yaml:"arch,omitempty"`
+ Os []string `yaml:"os,omitempty"`
+ UpdateAsVendored bool `yaml:"-"`
}
// A transitive representation of a dependency for importing and exploting to yaml.
diff --git a/cfg/config_test.go b/cfg/config_test.go
index c16f80b..bf6a190 100644
--- a/cfg/config_test.go
+++ b/cfg/config_test.go
@@ -48,8 +48,8 @@
t.Errorf("Unable to Unmarshal config yaml")
}
- if cfg.ProjectName != "fake/testing" {
- t.Errorf("Inaccurate name found %s", cfg.ProjectName)
+ if cfg.ProjectRoot != "fake/testing" {
+ t.Errorf("Inaccurate name found %s", cfg.ProjectRoot)
}
if cfg.Description != "foo bar baz" {
@@ -98,15 +98,15 @@
}
cfg2 := cfg.Clone()
- if cfg2.ProjectName != "fake/testing" {
+ if cfg2.ProjectRoot != "fake/testing" {
t.Error("Config cloning failed")
}
if cfg2.License != "MIT" {
t.Error("Config cloning failed to copy License")
}
- cfg.ProjectName = "foo"
+ cfg.ProjectRoot = "foo"
- if cfg.ProjectName == cfg2.ProjectName {
+ if cfg.ProjectRoot == cfg2.ProjectRoot {
t.Error("Cloning Config name failed")
}
}
@@ -117,7 +117,7 @@
t.Error("ConfigFromYaml failed to parse yaml")
}
- if c.ProjectName != "fake/testing" {
+ if c.ProjectRoot != "fake/testing" {
t.Error("ConfigFromYaml failed to properly parse yaml")
}
}
diff --git a/cfg/lock.go b/cfg/lock.go
index 11a15c9..0c798a6 100644
--- a/cfg/lock.go
+++ b/cfg/lock.go
@@ -37,7 +37,7 @@
for _, p := range r.Projects() {
pi := p.Ident()
l := &Lock{
- Name: string(pi.LocalName),
+ Name: string(pi.ProjectRoot),
VcsType: "", // TODO allow this to be extracted from sm
}
@@ -121,7 +121,7 @@
}
}
- lp[k] = gps.NewLockedProject(gps.ProjectName(l.Name), v, l.Repository, l.Name, nil)
+ lp[k] = gps.NewLockedProject(gps.ProjectRoot(l.Name), v, l.Repository, nil)
}
return lp
diff --git a/dependency/analyzer.go b/dependency/analyzer.go
index 36994b7..e4674fb 100644
--- a/dependency/analyzer.go
+++ b/dependency/analyzer.go
@@ -2,7 +2,6 @@
import (
"fmt"
- "go/build"
"io/ioutil"
"os"
"path/filepath"
@@ -27,11 +26,7 @@
// SourceManager on request.
type Analyzer struct{}
-func (a Analyzer) GetInfo(ctx build.Context, pn gps.ProjectName) (gps.Manifest, gps.Lock, error) {
- // For now, at least, we do not search above the root path provided by
- // the SourceManager.
- root := filepath.Join(ctx.GOPATH, "src", string(pn))
-
+func (a Analyzer) GetInfo(root string, pn gps.ProjectRoot) (gps.Manifest, gps.Lock, error) {
// this check should be unnecessary, but keeping it for now as a canary
if _, err := os.Lstat(root); err != nil {
return nil, nil, fmt.Errorf("No directory exists at %s; cannot produce ProjectInfo", root)
@@ -136,7 +131,7 @@
return nil, nil, err
}
- return &cfg.Config{ProjectName: root, Imports: d}, l, nil
+ return &cfg.Config{ProjectRoot: root, Imports: d}, l, nil
}
func (a Analyzer) lookForGPM(root string) (gps.Manifest, gps.Lock, error) {
@@ -149,7 +144,7 @@
return nil, nil, err
}
- return &cfg.Config{ProjectName: root, Imports: d}, l, nil
+ return &cfg.Config{ProjectRoot: root, Imports: d}, l, nil
}
func (a Analyzer) lookForGb(root string) (gps.Manifest, gps.Lock, error) {
@@ -162,7 +157,7 @@
return nil, nil, err
}
- return &cfg.Config{ProjectName: root, Imports: d}, l, nil
+ return &cfg.Config{ProjectRoot: root, Imports: d}, l, nil
}
func (a Analyzer) lookForGom(root string) (gps.Manifest, gps.Lock, error) {
diff --git a/gom/gom.go b/gom/gom.go
index 677b874..05785e6 100644
--- a/gom/gom.go
+++ b/gom/gom.go
@@ -104,9 +104,7 @@
}
var l gps.SimpleLock
- m := gps.SimpleManifest{
- N: gps.ProjectName(dir),
- }
+ m := gps.SimpleManifest{}
for _, gom := range goms {
// Do we need to skip this dependency?
@@ -130,9 +128,9 @@
pkg, _ := util.NormalizeName(gom.name)
- dep := gps.ProjectDep{
+ dep := gps.ProjectConstraint{
Ident: gps.ProjectIdentifier{
- LocalName: gps.ProjectName(pkg),
+ ProjectRoot: gps.ProjectRoot(pkg),
},
}
@@ -161,18 +159,18 @@
body := val.(string)
if v != nil {
v.Is(gps.Revision(body))
- l = append(l, gps.NewLockedProject(gps.ProjectName(dir), v, dir, dir, nil))
+ l = append(l, gps.NewLockedProject(gps.ProjectRoot(dir), v, dir, nil))
} else {
// As with the other third-party system integrations, we're
// going to choose not to put revisions into a manifest, even
// though gom has a lot more information than most and the
// argument could be made for it.
dep.Constraint = gps.Any()
- l = append(l, gps.NewLockedProject(gps.ProjectName(dir), gps.Revision(body), dir, dir, nil))
+ l = append(l, gps.NewLockedProject(gps.ProjectRoot(dir), gps.Revision(body), dir, nil))
}
} else if v != nil {
// This is kinda uncomfortable - lock w/no immut - but OK
- l = append(l, gps.NewLockedProject(gps.ProjectName(dir), v, dir, dir, nil))
+ l = append(l, gps.NewLockedProject(gps.ProjectRoot(dir), v, dir, nil))
}
// TODO We ignore GOOS, GOARCH for now
diff --git a/repo/installer.go b/repo/installer.go
index e8018ed..8004da5 100644
--- a/repo/installer.go
+++ b/repo/installer.go
@@ -89,7 +89,7 @@
// Create a config setup based on the Lockfile data to process with
// existing commands.
newConf := &cfg.Config{}
- newConf.ProjectName = conf.ProjectName
+ newConf.ProjectRoot = conf.ProjectRoot
newConf.Imports = make(cfg.Dependencies, len(lock.Imports))
for k, v := range lock.Imports {
@@ -421,7 +421,7 @@
func (m *MissingPackageHandler) NotFound(pkg string, addTest bool) (bool, error) {
root := util.GetRootFromPackage(pkg)
// Skip any references to the root package.
- if root == m.Config.ProjectName {
+ if root == m.Config.ProjectRoot {
return false, nil
}
@@ -488,7 +488,7 @@
root := util.GetRootFromPackage(pkg)
// Skip any references to the root package.
- if root == m.Config.ProjectName {
+ if root == m.Config.ProjectRoot {
return false, nil
}
@@ -518,7 +518,7 @@
func (m *MissingPackageHandler) InVendor(pkg string, addTest bool) error {
root := util.GetRootFromPackage(pkg)
// Skip any references to the root package.
- if root == m.Config.ProjectName {
+ if root == m.Config.ProjectRoot {
return nil
}
@@ -578,7 +578,7 @@
root := util.GetRootFromPackage(pkg)
// Skip any references to the root package.
- if root == d.Config.ProjectName {
+ if root == d.Config.ProjectRoot {
return nil
}
@@ -615,7 +615,7 @@
root := util.GetRootFromPackage(pkg)
// Skip any references to the root package.
- if root == d.Config.ProjectName {
+ if root == d.Config.ProjectRoot {
return nil
}