Skip to content
This repository has been archived by the owner on Sep 14, 2019. It is now read-only.
/ gopathexec Public archive

gopathexec executes program with arguments, while expanding $GOPATH with multiple workspaces into multiple arguments.

Notifications You must be signed in to change notification settings

sourcegraph/gopathexec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

gopathexec Build Status GoDoc

Command gopathexec executes program with arguments, while expanding $GOPATH with multiple workspaces into multiple arguments.

Usage: gopathexec program [args]

It is helpful for writing go generate directives for programs that do not understand import paths, but you need to specify include paths that are other Go package folders.

For example, consider a go generate directive like this:

//go:generate protoc -I$GOPATH/src/github.com/gogo/protobuf/protobuf --go_out=. sample.proto

That will only work if your GOPATH env var happens to contain one workspace. By prepending the above command with gopathexec:

//go:generate gopathexec protoc -I$GOPATH/src/github.com/gogo/protobuf/protobuf --go_out=. sample.proto

It will effectively execute:

protoc -I/workspace1/src/github.com/gogo/protobuf/protobuf -I/workspace2/src/github.com/gogo/protobuf/protobuf --go_out=. sample.proto

If you have 1 or no GOPATH workspaces, gopathexec executes the given program and arguments without modification.

Installation

go get -u sourcegraph.com/sourcegraph/gopathexec

License

About

gopathexec executes program with arguments, while expanding $GOPATH with multiple workspaces into multiple arguments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages