diff --git a/.gitignore b/.gitignore index d430455b6..c90d2b2b9 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,5 @@ tmp/** scratch/** main config.yaml -ente-cli.db \ No newline at end of file +ente-cli.db +bin/** \ No newline at end of file diff --git a/main.go b/main.go index 418167072..27d9428ed 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,3 @@ -/* -Copyright © 2023 NAME HERE -*/ package main import ( diff --git a/release.sh b/release.sh new file mode 100755 index 000000000..883aa4d87 --- /dev/null +++ b/release.sh @@ -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."