Compare commits
2 commits
0676495d0f
...
e7596e41f7
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e7596e41f7 | ||
![]() |
b8913618f4 |
3 changed files with 55 additions and 15 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -4,3 +4,4 @@ rexserver
|
|||
*.tar.gz
|
||||
*.zip
|
||||
/rexforge_*
|
||||
VERSION.txt
|
||||
|
|
47
Makefile
47
Makefile
|
@ -1,21 +1,38 @@
|
|||
rev := $(shell git rev-parse --short HEAD)
|
||||
release_name := rexforge_$(rev)
|
||||
VERSION_FILE := VERSION.txt
|
||||
|
||||
release: $(release_name)
|
||||
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)
|
||||
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 ./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)
|
||||
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)
|
||||
|
||||
$(release_name):
|
||||
$(RELEASE_NAME):
|
||||
mkdir -p $@
|
||||
|
||||
container:
|
||||
|
@ -27,4 +44,4 @@ clean:
|
|||
rm -rf *.tar.gz
|
||||
rm -rf rexforge_*
|
||||
|
||||
.PHONY: release clean container
|
||||
.PHONY: release clean container help
|
||||
|
|
22
generate_version.sh
Normal file
22
generate_version.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "ERROR: No version file name provided. Usage: $0 <version_file>"
|
||||
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
|
Loading…
Add table
Reference in a new issue