gopkgs

package module
v2.0.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2018 License: MIT Imports: 11 Imported by: 0

README

Build Status GoDoc

gopkgs

Gopkgs is tools that provide list of available Go packages that can be imported.

This are alternative for go list all, it just faster.

Installation

$ go get -u github.com/uudashr/gopkgs/cmd/gopkgs

Usage

$ gopkgs -help
  -format string
    	custom output format (default "{{.ImportPath}}")
  -help
    	show this message
  -no-vendor
    	exclude vendor dependencies except under workDir (if specified)
  -workDir string
    	importable packages only for workDir


Use -format to custom the output using template syntax. The struct being passed to template is:
    type Pkg struct {
        Dir        string // directory containing package sources
        ImportPath string // import path of package in dir
        Name       string // package name
    }

Use -workDir={path} to speed up the package search. This will ignore any vendor package outside the workDir.
Example

Get package name along with the import path.

$ gopkgs -format "{{.Name}};{{.ImportPath}}"
testing;github.com/mattes/migrate/source/testing
http;github.com/stretchr/testify/http
ql;github.com/mattes/migrate/database/ql
pkgtree;github.com/golang/dep/internal/gps/pkgtree
sqlite3;github.com/mattes/migrate/database/sqlite3
gps;github.com/golang/dep/internal/gps
spanner;github.com/mattes/migrate/database/spanner
dep;github.com/golang/dep
shortener;github.com/uudashr/shortener
bindata;github.com/mattes/migrate/source/go-bindata
postgres;github.com/mattes/migrate/database/postgres
test;github.com/vektra/mockery/mockery/fixtures
awss3;github.com/mattes/migrate/source/aws-s3
Tips

Use -workDir={path} flag, it will speed up the package search by ignoring the exernal vendor.

This is based on https://github.com/haya14busa/gopkgs but taking slightly different path by simplifying its implementation.

Documentation

Overview

Package gopkgs is a utility to get list of golang packages.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func List

func List(opts Options) (map[string]Pkg, error)

List packages on workDir. workDir is required for module mode. If the workDir is not under module, then it will fallback to GOPATH mode.

Types

type Options added in v1.0.1

type Options struct {
	WorkDir  string // Will return importable package under WorkDir. Any vendor dependencies outside the WorkDir will be ignored.
	NoVendor bool   // Will not retrieve vendor dependencies, except inside WorkDir (if specified)
}

Options for retrieve packages.

type Pkg

type Pkg struct {
	Dir        string // directory containing package sources
	ImportPath string // import path of package in dir
	Name       string // package name
}

Pkg hold the information of the package.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL