gotools

command module
v0.0.0-...-49d20ad Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2020 License: MIT Imports: 15 Imported by: 0

README

gotools

gotools is a way to manage $GOBIN using modules. It's able to handle more complicated cases, including forcing certain versions, build tags, or running arbitrary commands in the tool's module file.

A config file like ~/.config/gotools/config:

# Benchmarking utils
golang.org/x/tools/cmd/benchcmp
golang.org/x/perf/cmd/benchstat
github.com/cespare/prettybench

# Database
github.com/golang-migrate/migrate/v4/cmd/migrate
    tags postgres

golang.org/x/tools/cmd/godoc
golang.org/x/lint/golint
golang.org/x/tools/cmd/goimports
github.com/go-delve/delve/cmd/dlv
mvdan.cc/gofumpt
mvdan.cc/gofumpt/gofumports

github.com/golangci/golangci-lint/cmd/golangci-lint

golang.org/x/tools/gopls@master
    run go get -d golang.org/x/tools@master

Will populate $GOBIN with all of the above listed tools, pinning them using modules stored in ~/.config/gotools/mods.

Use gotools -update to delete all of the pinned versions and create them fresh.

By default, gotools will copy the replacements from the tool's go.mod. Pass -copyreplace=false to disable this behavior.

Disclaimer

This is still a WIP. It's not the fastest when updating.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

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