Skip to content
/ gex Public
forked from izumin5210/gex

The implementation of clarify best practice for tool dependencies.

License

Notifications You must be signed in to change notification settings

S-YOU/gex

 
 

Repository files navigation

gex

Build Status GoDoc Go project version Go Report Card License

The implementation of clarify best practice for tool dependencies.

See golang/go#25922 (comment)

Features

  • Manage versions of tools dependencies, and build them with specified version
  • Does not introduce new mechanisms to manage tool dependencies
  • Only 2 commands that you use: --add and --build

Usage

gex --add [packages...]

Add a new tool to dependencies:

$ gex --add github.com/golang/mock/mockgen

The tool will be managed in tools.go and its version will be managed by Modules or dep.

$ cat tools.go
// Code generated by github.com/izumin5210/gex. DO NOT EDIT.

// +build tools

package tools

// tool dependencies
import (
        _ "github.com/golang/mock/mockgen"
)

$ cat go.mod | grep mock
        github.com/golang/mock v1.1.1 // indirect

gex --build

Build executable binaries into $PWD/bin.

$ gex --build

gex [command] [args...]

Execute command that managed in tools.go and go.mod. gex will build the executable binary automatically if needed.

$ gex mockgen
# prints mockgen's help text...

Installation

To install gex, you can use go get.

$ go get github.com/izumin5210/gex/cmd/gex

Requirements

gex depends on dep or Modules to manage tool dependencies,

About

The implementation of clarify best practice for tool dependencies.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 94.6%
  • Shell 4.0%
  • Dockerfile 1.4%