From 3d17c30d0f511ffa30fa4fee4985bae1da894b44 Mon Sep 17 00:00:00 2001 From: Dan Anglin Date: Thu, 23 May 2024 11:09:34 +0100 Subject: [PATCH] build: moved magefiles directory to project root Moved the magefiles directory back to the project's root directory and created a separate go.mod file to keep the dependencies separated. The idea was suggested here: https://github.com/magefile/mage/issues/502 --- README.asciidoc | 1 - internal/build/go.mod | 5 ---- mage | 8 ------- magefiles/go.mod | 5 ++++ {internal/build => magefiles}/go.sum | 0 .../build/magefiles => magefiles}/mage.go | 24 ------------------- .../build/magefiles => magefiles}/main.go | 0 7 files changed, 5 insertions(+), 38 deletions(-) delete mode 100644 internal/build/go.mod delete mode 100755 mage create mode 100644 magefiles/go.mod rename {internal/build => magefiles}/go.sum (100%) rename {internal/build/magefiles => magefiles}/mage.go (80%) rename {internal/build/magefiles => magefiles}/main.go (100%) diff --git a/README.asciidoc b/README.asciidoc index 82fb107..ad08255 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -47,7 +47,6 @@ You can install Enbas with Mage using the following commands: [source,console] ---- git clone https://github.com/dananglin/enbas.git -cd enbas/internal/build/ mage install ---- diff --git a/internal/build/go.mod b/internal/build/go.mod deleted file mode 100644 index e7bf3af..0000000 --- a/internal/build/go.mod +++ /dev/null @@ -1,5 +0,0 @@ -module enbas-build - -go 1.22.0 - -require github.com/magefile/mage v1.15.0 diff --git a/mage b/mage deleted file mode 100755 index 7364e02..0000000 --- a/mage +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -o errexit -set -o nounset -set -o pipefail - -cd ./internal/build -mage $@ diff --git a/magefiles/go.mod b/magefiles/go.mod new file mode 100644 index 0000000..56ed109 --- /dev/null +++ b/magefiles/go.mod @@ -0,0 +1,5 @@ +module codeflow.dananglin.me.uk/apollo/enbas/magefiles + +go 1.22.3 + +require github.com/magefile/mage v1.15.0 diff --git a/internal/build/go.sum b/magefiles/go.sum similarity index 100% rename from internal/build/go.sum rename to magefiles/go.sum diff --git a/internal/build/magefiles/mage.go b/magefiles/mage.go similarity index 80% rename from internal/build/magefiles/mage.go rename to magefiles/mage.go index 933cf27..f1f1fe8 100644 --- a/internal/build/magefiles/mage.go +++ b/magefiles/mage.go @@ -29,10 +29,6 @@ var Default = Build // To enable verbose mode set ENBAS_TEST_VERBOSE=1. // To enable coverage mode set ENBAS_TEST_COVER=1. func Test() error { - if err := changeToProjectRoot(); err != nil { - return fmt.Errorf("unable to change to the project's root directory; %w", err) - } - goTest := sh.RunCmd("go", "test") args := []string{"./..."} @@ -50,10 +46,6 @@ func Test() error { // Lint runs golangci-lint against the code. func Lint() error { - if err := changeToProjectRoot(); err != nil { - return fmt.Errorf("unable to change to the project's root directory; %w", err) - } - return sh.RunV("golangci-lint", "run", "--color", "always") } @@ -61,10 +53,6 @@ func Lint() error { // To rebuild packages that are already up-to-date set ENBAS_BUILD_REBUILD_ALL=1 // To enable verbose mode set ENBAS_BUILD_VERBOSE=1 func Build() error { - if err := changeToProjectRoot(); err != nil { - return fmt.Errorf("unable to change to the project's root directory; %w", err) - } - main := "./cmd/" + app binary := "./__build/" + app flags := ldflags() @@ -107,10 +95,6 @@ func Install() error { // Clean clean the workspace. func Clean() error { - if err := changeToProjectRoot(); err != nil { - return fmt.Errorf("unable to change to the project's root directory; %w", err) - } - if err := sh.Rm(app); err != nil { return err } @@ -122,14 +106,6 @@ func Clean() error { return nil } -func changeToProjectRoot() error { - if err := os.Chdir("../.."); err != nil { - return fmt.Errorf("unable to change directory; %w", err) - } - - return nil -} - // ldflags returns the build flags. func ldflags() string { ldflagsfmt := "-s -w -X main.binaryVersion=%s -X main.gitCommit=%s -X main.goVersion=%s -X main.buildTime=%s" diff --git a/internal/build/magefiles/main.go b/magefiles/main.go similarity index 100% rename from internal/build/magefiles/main.go rename to magefiles/main.go