uwu-tools / magex

Helper methods for Magefiles
MIT License
3 stars 3 forks source link

Support running commands from strings #11

Open justaugustus opened 1 year ago

justaugustus commented 1 year ago

From https://github.com/carolynvs/magex/issues/26:

It would be nice to not have to specify the arguments as a string slice and instead pass a single space separated string.

shx.Run("go test ./...")

There is a library that can help with this, https://github.com/mattn/go-shellwords

You could extend this further and support newline separated commands

shx.Run(`
go build -o bin/stuff .
go test ./...
./bin/stuff --version
`)

If you were feeling really spicy, you could define a parser for a simplified Makefile syntax and then execute the Makefile in the same directory.

magefile.go
Makefile

magefile.go

//go:generate magic command to generate a magefile with extra targets based on the Makefile