diff --git a/go.mod b/go.mod index b531f15..63787ca 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,7 @@ module gitlab.com/dananglin/pelican go 1.16 -require go.etcd.io/bbolt v1.3.6 +require ( + github.com/magefile/mage v1.11.0 + go.etcd.io/bbolt v1.3.6 +) diff --git a/go.sum b/go.sum index 3bc6bff..6fef076 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,5 @@ +github.com/magefile/mage v1.11.0 h1:C/55Ywp9BpgVVclD3lRnSYCwXTYxmSppIgLeDYlNuls= +github.com/magefile/mage v1.11.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d h1:L/IKR6COd7ubZrs2oTnTi73IhgqJ71c9s80WsQnh0Es= diff --git a/magefile.go b/magefile.go new file mode 100644 index 0000000..ad9b456 --- /dev/null +++ b/magefile.go @@ -0,0 +1,45 @@ +//+build mage + +package main + +import ( + "os" + "strings" + + "github.com/magefile/mage/sh" +) + +var Default = Build + +// Clean clean the workspace +func Clean() error { + if err := sh.Run("go", "clean", "./..."); err != nil { + return err + } + + testDBDir := "./test/databases" + + files, err := os.ReadDir(testDBDir) + if err != nil { + return err + } + + for _, f := range files { + filename := f.Name() + if strings.HasSuffix(filename, ".db") { + os.Remove(testDBDir + "/" + filename) + } + } + + return nil +} + +// Test run the go tests +func Test() error { + return sh.Run("go", "test", ".") +} + +// Build build the executable +func Build() error { + return sh.Run("go", "build", ".") +}