Add script to create binary

This commit is contained in:
Neeraj Gupta 2023-09-14 12:24:09 +05:30
parent 1bc363ac8d
commit eaf73c2f3f
3 changed files with 43 additions and 4 deletions

3
.gitignore vendored
View file

@ -8,4 +8,5 @@ tmp/**
scratch/**
main
config.yaml
ente-cli.db
ente-cli.db
bin/**

View file

@ -1,6 +1,3 @@
/*
Copyright © 2023 NAME HERE <EMAIL ADDRESS>
*/
package main
import (

41
release.sh Executable file
View file

@ -0,0 +1,41 @@
#!/bin/bash
# Create a "bin" directory if it doesn't exist
mkdir -p bin
# List of target operating systems
OS_TARGETS=("windows" "linux" "darwin")
# Loop through each OS target
for OS in "${OS_TARGETS[@]}"
do
# Set the GOOS environment variable for the current target OS
export GOOS="$OS"
# Set the output binary name to "ente-cli" for the current OS
BINARY_NAME="ente-cli"
# Add .exe extension for Windows
if [ "$OS" == "windows" ]; then
BINARY_NAME="ente-cli.exe"
fi
# Add .exe extension for Windows
if [ "$OS" == "darwin" ]; then
BINARY_NAME="ente-cli-mac"
fi
# Build the binary and place it in the "bin" directory
go build -o "bin/$BINARY_NAME" main.go
# Print a message indicating the build is complete for the current OS
echo "Built for $OS as bin/$BINARY_NAME"
done
# Clean up any environment variables
unset GOOS
# Print a message indicating the build process is complete
echo "Build process completed for all platforms. Binaries are in the 'bin' directory."