diff --git a/analyzer.go b/analyzer.go new file mode 100644 index 0000000000..326f01df0a --- /dev/null +++ b/analyzer.go @@ -0,0 +1,22 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import ( + "github.com/Masterminds/semver" + "github.com/sdboyer/gps" +) + +type analyzer struct{} + +func (a analyzer) DeriveManifestAndLock(path string, n gps.ProjectRoot) (gps.Manifest, gps.Lock, error) { + // TODO initial impl would just be looking for our own manifest and lock + return nil, nil, nil +} + +func (a analyzer) Info() (name string, version *semver.Version) { + v, _ := semver.NewVersion("v0.0.1") + return "example-analyzer", v +} diff --git a/sm.go b/sm.go new file mode 100644 index 0000000000..ae4218f5e7 --- /dev/null +++ b/sm.go @@ -0,0 +1,24 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import ( + "fmt" + "os" + "path/filepath" + + "github.com/sdboyer/gps" +) + +func getSourceManager() (*gps.SourceMgr, error) { + gopath := os.Getenv("GOPATH") + if gopath == "" { + return nil, fmt.Errorf("GOPATH is not set") + } + // Use the first entry in GOPATH for the depcache + first := filepath.SplitList(gopath)[0] + + return gps.NewSourceManager(analyzer{}, filepath.Join(first, "depcache")) +}