build binary in dedicated build directory
This commit is contained in:
parent
08df511506
commit
8d2426b041
3 changed files with 10 additions and 7 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -1,2 +1,4 @@
|
||||||
/environment/
|
/environment/
|
||||||
/enbas
|
/*.enbas
|
||||||
|
/__build/*
|
||||||
|
!__build/.gitkeep
|
||||||
|
|
0
__build/.gitkeep
Normal file
0
__build/.gitkeep
Normal file
|
@ -14,7 +14,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
binary = "enbas"
|
app = "enbas"
|
||||||
defaultInstallPrefix = "/usr/local"
|
defaultInstallPrefix = "/usr/local"
|
||||||
envInstallPrefix = "ENBAS_INSTALL_PREFIX"
|
envInstallPrefix = "ENBAS_INSTALL_PREFIX"
|
||||||
envTestVerbose = "ENBAS_TEST_VERBOSE"
|
envTestVerbose = "ENBAS_TEST_VERBOSE"
|
||||||
|
@ -65,7 +65,8 @@ func Build() error {
|
||||||
return fmt.Errorf("unable to change to the project's root directory; %w", err)
|
return fmt.Errorf("unable to change to the project's root directory; %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
main := "./cmd/" + binary
|
main := "./cmd/" + app
|
||||||
|
binary := "./__build/" + app
|
||||||
flags := ldflags()
|
flags := ldflags()
|
||||||
build := sh.RunCmd("go", "build")
|
build := sh.RunCmd("go", "build")
|
||||||
args := []string{"-ldflags=" + flags, "-o", binary}
|
args := []string{"-ldflags=" + flags, "-o", binary}
|
||||||
|
@ -93,13 +94,13 @@ func Install() error {
|
||||||
installPrefix = defaultInstallPrefix
|
installPrefix = defaultInstallPrefix
|
||||||
}
|
}
|
||||||
|
|
||||||
dest := filepath.Join(installPrefix, "bin", binary)
|
dest := filepath.Join(installPrefix, "bin", app)
|
||||||
|
|
||||||
if err := sh.Copy(dest, binary); err != nil {
|
if err := sh.Copy(dest, app); err != nil {
|
||||||
return fmt.Errorf("unable to install %s; %w", dest, err)
|
return fmt.Errorf("unable to install %s; %w", dest, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("%s successfully installed to %s\n", binary, dest)
|
fmt.Printf("%s successfully installed to %s\n", app, dest)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -110,7 +111,7 @@ func Clean() error {
|
||||||
return fmt.Errorf("unable to change to the project's root directory; %w", err)
|
return fmt.Errorf("unable to change to the project's root directory; %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := sh.Rm(binary); err != nil {
|
if err := sh.Rm(app); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue