func Glide() (string, error) {
	cwd, err := os.Getwd()
	if err != nil {
		return "", err
	}
	yamldir, err := GlideWD(cwd)
	if err != nil {
		return cwd, err
	}
	gf := filepath.Join(yamldir, GlideFile)
	return gf, nil
}
Glide gets the path to the closest glide file.
package path
import (
	"fmt"
	"io"
	"os"
	"os/user"
	"path/filepath"
	"strings"
)
const DefaultGlideFile = "glide.yaml"
var VendorDir = "vendor"
var Tmp = ""
var homeDir = ""
var GlideFile = DefaultGlideFile
const LockFile = "glide.lock"
func Home() string {
	if homeDir != "" {
		return homeDir
	}
	u, err := user.Current()
	if err == nil && u.HomeDir != "" {
		homeDir = filepath.Join(u.HomeDir, ".glide")
	} else {
		cwd, err := os.Getwd()
		if err == nil {
			homeDir = filepath.Join(cwd, ".glide")
		} else {
			homeDir = ".glide"
		}
	}
	return homeDir
}
func SetHome(h string) {
	homeDir = h
}
func Vendor() (string, error) {
	cwd, err := os.Getwd()
	if err != nil {
		return "", err
	}
	yamldir, err := GlideWD(cwd)
	if err != nil {
		return cwd, err
	}
	gopath := filepath.Join(yamldir, VendorDir)
	info, err := os.Lstat(gopath)
	if err != nil {
		return gopath, nil
	}
	for i := 0; IsLink(info) && i < 255; i++ {
		p, err := os.Readlink(gopath)
		if err != nil {
			return gopath, nil
		}
		if filepath.IsAbs(p) {
			gopath = p
		} else {
			gopath = filepath.Join(filepath.Dir(gopath), p)
		}
		info, err = os.Lstat(gopath)
		if err != nil {
			return gopath, nil
		}
	}
	return gopath, nil
}