Home

Awesome

gpm plugins for Homebrew

This repo contains homebrew formulae for gpm plugins.

In order to install these plugins you need to tap this repository into homebrew using brew tap:

$ brew tap pote/gpm_plugins

Remember that in order for plugins to work you need to be running gpm v1.1.1 or later, updating should be a breeze if you're on homebrew though.

Finally: yes, the name of this repo makes my OCD run wild too but due to homebrew tap's naming rules there's pretty much nothing I can do about that.

Plugins

gpm plugins are basically just executables named in the pattern gpm-<name of the plugin>, whenever an unknown command is passed to the gpm call it will look for an appropriately named plugin and run it with any additional arguments included in the original call. Thus the command gpm bootstrap version will call the version action in the gpm-bootstrap executable.

This allows for a lot of flexibility for anyone who wants to write a plugin for gpm: they can be Go binaries, bash scripts like gpm, ruby gems, python packages, you name it. gpm wants to make it easy for you to extend it. :)

gpm bootstrap

gpm-bootstrap is a plugin that provides a simple way to get started with dependency versioning tracking on your Go projects by creating a Godeps file with all your dependencies set to their latest versions.

Installation

brew install gpm-bootstrap

Example Usage

gpm bootstrap

Plugin Commands

Once installed, gpm-bootstrap adds the following commands to gpm:

$ gpm bootstrap           # Downloads all external top-level packages required by
                          # your application and generates a Godeps file with their
                          # latest tags or revisions.
$ gpm bootstrap version   # Prints version information for the plugin.
$ gpm bootstrap help      # Prints a help message.

gpm git

gpm-git is a plugin that adds support for direct Git management of directories inside of a gpm-managed $GOPATH.

The project lives in: https://github.com/technosophos/gpm-git

Installation

brew install gpm-git

Plugin Commands

Once installed, gpm-git adds the following commands to gpm:

$ gpm git             # Same as 'install'.
$ gpm git version     # Outputs version information
$ gpm git help        # Prints this message

Use Cases

Using this plugin, you can use gpm to...

Documentation

Further docs can be found in the gpm-git repository

gpm link

gpm-link's goal is to encapsulate any project dependency within the .godeps folder. Even the current project.

It allows removing all the local import paths but mantaining control of the $GOPATH and having everything encapsulated in the .godeps folder.

The project lives in: https://github.com/elcuervo/gpm-link

Installation

brew install gpm-link

Plugin Commands

Once installed, gpm-git adds the following commands to gpm:

$ gpm link add alias_name [path]  # This will make a symbolic link in the .godeps
                                  # folder with the given alias name to a given
                                  # path being "." the default one.
                                  # Eg: gpm link add github.com/elcuervo/minimalweather .
$ gpm link del alias_name         # Removes a current link
$ gpm link version                # Current gpm link version
$ gpm link help                   # Help message and usage

Documentation

Further docs can be found in the gpm-link repository

gpm local

This plugin makes it possible for go tools to find subpackages in the present package by fully qualified package name.

The project lives in: https://github.com/technosophos/gpm-local

Installation

brew install gpm-local

Plugin Commands

Once installed, gpm-git adds the following commands to gpm:

$ gpm local name bitbucket.org/foo/bar  # Set the local repo name
                                        # to bitbucket.org/foo/bar
$ gpm local version                     # Outputs version information
$ gpm local help                        # Prints this message

Documentation

Further docs can be found in the gpm-local repository

gpm prebuild

This plugin runs a go build on all of your dependencies in the $GOPATH. If you are using a per-project $GOPATH (the standard way of using gvp then prebuilding is a simple way of improving performance.

The project lives in: https://github.com/technosophos/gpm-prebuild

Installation

brew install gpm-prebuild

Plugin Commands

Once installed, gpm-prebuild adds the following commands to gpm:

$ gpm prebuild             # Pre-build everything in Godeps, alias of build
$ gpm prebuild build       # Pre-build everything in Godeps
$ gpm prebuild build-git   # Pre-build everything in Godeps-Git
$ gpm prebuild git         # Alias of build-git
$ gpm prebuild version     # Outputs version information
$ gpm prebuild help        # Prints this message
$ gpm prebuild clean       # Deletes existing prebuilds only from
                           # the first path on GOPATH.

Documentation

Further docs can be found in the gpm-prebuild repository

gpm all

gpm-all is a gpm plugin that runs all Godeps files in the current directory, this is done so developers can have a Godeps, Godeps.dev, or any other kind of separation they choose in their dependencies.

The project lives in: https://github.com/pote/gpm-all

Installation

brew install gpm-all

Plugin Commands

Once installed, gpm-all adds the following commands to gpm:

$ gpm all           # Downloads all external top-level packages required by
                    # your application and generates a Godeps file with their
                    # latest tags or revisions.
$ gpm all version   # Prints version information for the plugin.
$ gpm all help      # Prints this message.

Documentation

Further docs can be found in the gpm-all repository