diff --git a/.gitignore b/.gitignore index f8d205a..dfdf588 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,3 @@ rexserver *.tar.gz *.zip /rexforge_* -VERSION.txt diff --git a/Makefile b/Makefile index 9d4657d..417f50a 100644 --- a/Makefile +++ b/Makefile @@ -1,38 +1,21 @@ -VERSION_FILE := VERSION.txt +rev := $(shell git rev-parse --short HEAD) +release_name := rexforge_$(rev) -ifeq ($(wildcard $(VERSION_FILE)),) - $(shell bash ./generate_version.sh $VERSION_FILE) -endif - -REX_VERSION := $(shell cat $(VERSION_FILE)) -RELEASE_NAME := rexforge_$(REX_VERSION) -export REX_VERSION - -help: - @echo -e "Makefile for $(RELEASE_NAME)\n" - @echo "Available targets:" - @echo " release - Create a release version and package" - @echo " clean - Clean up build files" - @echo " container - Build an OCI container (requires podman)" - @echo " help - Show this help message" - -release: $(RELEASE_NAME) +release: $(release_name) make -C ./rex_client make -C ./rex_server - mv ./rex_client/rexclient $(RELEASE_NAME) - mv ./rex_server/rexserver $(RELEASE_NAME) - cp ./LICENSE.txt $(RELEASE_NAME) - cp ./VERSION.txt $(RELEASE_NAME) - cp ./README.md $(RELEASE_NAME) - mkdir -p $(RELEASE_NAME)/source - cp ./VERSION.txt $(RELEASE_NAME)/source - git ls-files | xargs -I{} cp --parents {} $(RELEASE_NAME)/source - date -I > $(RELEASE_NAME)/VERSION.txt - echo $(rev) >> $(RELEASE_NAME)/VERSION.txt - go version >> $(RELEASE_NAME)/VERSION.txt - tar cvzf $(RELEASE_NAME).tar.gz $(RELEASE_NAME) + mv ./rex_client/rexclient $(release_name) + mv ./rex_server/rexserver $(release_name) + cp ./LICENSE.txt $(release_name) + cp ./README.md $(release_name) + mkdir -p $(release_name)/source + git ls-files | xargs -I{} cp --parents {} $(release_name)/source + date -I > $(release_name)/VERSION.txt + echo $(rev) >> $(release_name)/VERSION.txt + go version >> $(release_name)/VERSION.txt + tar cvzf $(release_name).tar.gz $(release_name) -$(RELEASE_NAME): +$(release_name): mkdir -p $@ container: @@ -44,4 +27,4 @@ clean: rm -rf *.tar.gz rm -rf rexforge_* -.PHONY: release clean container help +.PHONY: release clean container diff --git a/generate_version.sh b/generate_version.sh deleted file mode 100644 index 2832dc8..0000000 --- a/generate_version.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -if [ -z "$1" ]; then - echo "ERROR: No version file name provided. Usage: $0 " - exit 1 -fi - -VERSION_FILE="$1" - -if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then - VERSION=$(git describe 2>/dev/null || git rev-parse --short HEAD || echo "v0.0.0-unknown") - DIRTY=$(git diff-index --quiet HEAD -- || echo "-dirty") - FULL_VERSION="${VERSION}${DIRTY}" - echo "$FULL_VERSION" >"$VERSION_FILE" -else - if [ -f "$VERSION_FILE" ]; then - echo "INFO: $VERSION_FILE already exists. Please update it manually if needed." - else - echo "ERROR: Not in a Git repository, and $VERSION_FILE does not exist. Unable to generate version!" - exit 1 - fi -fi