Version: v0.6.0 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2016 License: MIT Imports: 18 Imported by: 0




View Source
const CfgFileName = ".gxrc"
View Source
const GxVersion = "0.6.0"
View Source
const PkgFileName = "package.json"


View Source
var ErrNotFound = errors.New("cache miss")
View Source
var ErrUnrecognizedName = fmt.Errorf("unrecognized package name")
View Source
var UsingGateway bool


func CheckCacheFile

func CheckCacheFile(name string) (string, bool, error)

func CheckForHelperTools

func CheckForHelperTools(lang string)

func FindPackageInDir

func FindPackageInDir(pkg interface{}, dir string) error

func InstallPath

func InstallPath(env, relpath string, global bool) (string, error)

func IsErrAlreadyInstalled

func IsErrAlreadyInstalled(err error) bool

func IsHash

func IsHash(s string) bool

func LoadPackage

func LoadPackage(out interface{}, env, hash string) error

func LoadPackageFile

func LoadPackageFile(pkg interface{}, fname string) error

func LocalPackageByName

func LocalPackageByName(dir, name string, out interface{}) error

func NewShell

func NewShell() *sh.Shell

func PackageNameInDir

func PackageNameInDir(dir string) (string, error)

func SavePackageFile

func SavePackageFile(pkg interface{}, fname string) error

func TryRunHook

func TryRunHook(hook, env string, args ...string) error

func WriteConfig

func WriteConfig(cfg *Config, file string) error


type BugsObj added in v0.6.0

type BugsObj struct {
	Url string `json:"url,omitempty"`

type Config

type Config struct {
	Repos      map[string]string `json:"repos,omitempty"`
	ExtraRepos map[string]string `json:"extra_repos,omitempty"`
	User       User              `json:"user,omitempty"`

func LoadConfig

func LoadConfig() (*Config, error)

func LoadConfigFrom

func LoadConfigFrom(paths ...string) (*Config, error)

func (*Config) GetRepos

func (c *Config) GetRepos() map[string]string

type Dependency

type Dependency struct {
	Author  string `json:"author,omitempty"`
	Name    string `json:"name,omitempty"`
	Hash    string `json:"hash"`
	Version string `json:"version,omitempty"`

Dependency represents a dependency of a package

type ErrAlreadyInstalled

type ErrAlreadyInstalled struct {
	// contains filtered or unexported fields

func (ErrAlreadyInstalled) Error

func (eai ErrAlreadyInstalled) Error() string

type PM

type PM struct {
	// contains filtered or unexported fields

func NewPM

func NewPM(cfg *Config) (*PM, error)

func (*PM) EnumerateDependencies

func (pm *PM) EnumerateDependencies(pkg *Package) (map[string]struct{}, error)

func (*PM) FetchRepo

func (pm *PM) FetchRepo(rpath string, usecache bool) (map[string]string, error)

func (*PM) GetPackageTo

func (pm *PM) GetPackageTo(hash, out string) (*Package, error)

func (*PM) ImportPackage

func (pm *PM) ImportPackage(dir, dephash string) (*Dependency, error)

ImportPackage downloads the package specified by dephash into the package in the directory 'dir'

func (*PM) InitPkg

func (pm *PM) InitPkg(dir, name, lang string, setup func(*Package)) error

func (*PM) InstallDeps

func (pm *PM) InstallDeps(pkg *Package, location string) error

InstallDeps recursively installs all dependencies for the given package

func (*PM) InstallPackage

func (pm *PM) InstallPackage(hash, ipath string) (*Package, error)

func (*PM) PublishPackage

func (pm *PM) PublishPackage(dir string, pkg *PackageBase) (string, error)

func (*PM) QueryRepos

func (pm *PM) QueryRepos(query string) (map[string]string, error)

func (*PM) ResolveDepName

func (pm *PM) ResolveDepName(name string) (string, error)

ResolveDepName resolves a given package name to a hash using configured repos as a mapping.

func (*PM) ResolveName

func (pm *PM) ResolveName(name string, usecache bool) (string, error)

TODO: once on ipfs 0.4.0, use the files api

func (*PM) SetGlobal added in v0.6.0

func (pm *PM) SetGlobal(g bool)

func (*PM) Shell

func (pm *PM) Shell() *sh.Shell

type Package

type Package struct {

	Gx json.RawMessage `json:"gx,omitempty"`

type PackageBase

type PackageBase struct {
	Name         string        `json:"name,omitempty"`
	Author       string        `json:"author,omitempty"`
	Description  string        `json:"description,omitempty"`
	Keywords     []string      `json:"keywords,omitempty"`
	Version      string        `json:"version,omitempty"`
	Dependencies []*Dependency `json:"gxDependencies,omitempty"`
	Bin          string        `json:"bin,omitempty"`
	Build        string        `json:"build,omitempty"`
	Test         string        `json:"test,omitempty"`
	Language     string        `json:"language,omitempty"`
	License      string        `json:"license"`
	Bugs         BugsObj       `json:"bugs"`
	GxVersion    string        `json:"gxVersion"`

func (*PackageBase) FindDep

func (pkg *PackageBase) FindDep(ref string) *Dependency

FindDep returns a reference to the named dependency in this package file

func (*PackageBase) ForEachDep

func (pkg *PackageBase) ForEachDep(cb func(dep *Dependency, pkg *Package) error) error

type User

type User struct {
	Name  string `json:"name,omitempty"`
	Email string `json:"email,omitempty"`

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL