jolheiser
afe09ba524
Signed-off-by: jolheiser <john.olheiser@gmail.com> |
||
---|---|---|
cmd | ||
modules/config | ||
.gitignore | ||
Makefile | ||
README.md | ||
go.mod | ||
go.sum | ||
main.go |
README.md
GPM
Go Package Mapping
Motivation
I personally use a lot of nice libraries in Go, but every time I start a new project I have to go hunting for import paths again!
Enter GPM, a glorified mapping of simple names to go-get imports.
For example, I use urfave/cli for all of my CLI projects. I've used it enough times to remember the import path, but let's say I didn't.
Using either a GPM server or local config, I can instead gpm get cli
which finds cli
in my map and runs go get github.com/urfave/cli/v2
.
Commands
add
- Add a local packageremove
- Remove a local packagelist
- List local packagesconfig
- Change local configuration (GPM server)export
- Export local packages to JSONimport
- Import JSON to local packages
Server
If GPM doesn't find a package locally, it can call out to a configurable gpm server to find a package there.
This makes it much simpler to have a central library of packages rather than exporting and importing between environments.
The import
and export
commands should work between the CLI and server for easy transitions.