mirror of
https://github.com/vbatts/tar-split.git
synced 2025-07-14 11:49:11 +00:00
*: mage, drop go1.1{5,6}, module updates, drop vendor
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
parent
16d1376be9
commit
075c33cadf
415 changed files with 180 additions and 214680 deletions
116
magefile.go
Normal file
116
magefile.go
Normal file
|
@ -0,0 +1,116 @@
|
|||
//go:build mage
|
||||
// +build mage
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
|
||||
"github.com/magefile/mage/mg" // mg contains helpful utility functions, like Deps
|
||||
)
|
||||
|
||||
var (
|
||||
// Default target to run when none is specified
|
||||
// If not set, running mage will list available targets
|
||||
Default = Build
|
||||
app string = "tar-split"
|
||||
Stdout = ourStdout
|
||||
Stderr = ourStderr
|
||||
|
||||
golangcilintVersion = "v1.51.2"
|
||||
)
|
||||
|
||||
// Run all-the-things
|
||||
func All() error {
|
||||
mg.Deps(Vet)
|
||||
mg.Deps(Test)
|
||||
mg.Deps(Build)
|
||||
mg.Deps(Lint)
|
||||
return nil
|
||||
}
|
||||
|
||||
// A build step that requires additional params, or platform specific steps for example
|
||||
func Build() error {
|
||||
mg.Deps(InstallDeps)
|
||||
fmt.Println("Building...")
|
||||
cmd := exec.Command("go", "build", "-v", "-o", app, "./cmd/tar-split")
|
||||
cmd.Stdout = Stdout
|
||||
cmd.Stderr = Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// Vet the codes
|
||||
func Vet() error {
|
||||
fmt.Println("go vet...")
|
||||
cmd := exec.Command("go", "vet", "./...")
|
||||
cmd.Stdout = Stdout
|
||||
cmd.Stderr = Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// Run the Linters
|
||||
func Lint() error {
|
||||
mg.Deps(InstallToolsLint)
|
||||
fmt.Println("Linting...")
|
||||
cmd := exec.Command("golangci-lint", "run")
|
||||
cmd.Stdout = Stdout
|
||||
cmd.Stderr = Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// Run the tests available
|
||||
func Test() error {
|
||||
fmt.Println("Testing...")
|
||||
cmd := exec.Command("go", "test", "-v", "./...")
|
||||
cmd.Stdout = Stdout
|
||||
cmd.Stderr = Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// A custom install step if you need your bin someplace other than go/bin
|
||||
func Install() error {
|
||||
mg.Deps(Build)
|
||||
fmt.Println("Installing...")
|
||||
return os.Rename(app, "/usr/local/bin/"+app)
|
||||
}
|
||||
|
||||
// Manage your deps, or running package managers.
|
||||
func InstallDeps() error {
|
||||
mg.Deps(Tidy)
|
||||
fmt.Println("Installing Deps...")
|
||||
cmd := exec.Command("go", "get", "./...")
|
||||
cmd.Stdout = Stdout
|
||||
cmd.Stderr = Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// Tools used during build/dev/test
|
||||
func InstallTools() error {
|
||||
mg.Deps(InstallToolsLint)
|
||||
return nil
|
||||
}
|
||||
|
||||
func InstallToolsLint() error {
|
||||
fmt.Println("Installing Deps...")
|
||||
cmd := exec.Command("go", "install", "github.com/golangci/golangci-lint/cmd/golangci-lint@"+golangcilintVersion)
|
||||
cmd.Stdout = Stdout
|
||||
cmd.Stderr = Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// Tidy go modules
|
||||
func Tidy() error {
|
||||
fmt.Println("Tidy up...")
|
||||
cmd := exec.Command("go", "mod", "tidy")
|
||||
cmd.Stdout = Stdout
|
||||
cmd.Stderr = Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
// Clean up after yourself
|
||||
func Clean() {
|
||||
fmt.Println("Cleaning...")
|
||||
os.RemoveAll(app)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue