binstubs

command module
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2022 License: BSD-3-Clause Imports: 6 Imported by: 0

README

binstubs

Automatically generate binstubs using tools.go

Binstubs is a nearly zero-configuration way to generate binstubs to execute the version of a go command tracked in go.mod.

So instead of running go run tool@version which is verbose and causes difficulty when upgrading versions, or go run tool, which might use the wrong version of a tool, you just run bin/tool.

  1. Create a tools.go in the root of your project that looks like this, pointing to the executable program path for each dependency:

    package main
    
    import (
    	_ "github.com/brasic/binstubs"
    	_ "github.com/path/to/dep/cmd/something"
    	_ "github.com/golang-migrate/migrate/v4/cmd/migrate"
    )
    
  2. Run go run github.com/brasic/binstubs to create corresponding shell scripts in bin/. You can also add a go:generate comment to the top of tools.go instead.

  3. If you need to import a tool that you don't want a binstub for, add an inline binstub:ignore comment after the import.

  4. If you need extra flags passed to go run, add an inline binstub:args="ARGS" comment after the import.

Documentation

Overview

Binstubs is a nearly zero-configuration way to generate project binstubs that run the correct version of a go command tracked in go.mod.

  1. Create a `tools.go` in the root of your project that looks like this, pointing to the executable program path for each dependency:

    package main

    import ( _ "github.com/brasic/binstubs" _ "github.com/path/to/dep/cmd/something" _ "github.com/golang-migrate/migrate/v4/cmd/migrate" )

  2. Run `go run github.com/brasic/binstubs` to create corresponding shell scripts in `bin/`. You can also add a `go:generate` comment to the top of tools.go instead.

  3. If you need to import a tool that you don't want a binstub for, add an inline `binstub:ignore` comment after the import.

  4. If you need extra flags passed to `go run`, add an inline `binstub:args="ARGS"` comment after the import.

Jump to

Keyboard shortcuts

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