xl-project/makefile

46 lines
1.2 KiB
Makefile
Raw Normal View History

2024-05-11 12:50:12 +02:00
GITHASH := $(shell git rev-parse --short HEAD)$(shell git diff-index --quiet HEAD || echo "-dirty")
2024-05-11 14:53:05 +02:00
TARNAME := xl-imbus_$(GITHASH).tar.gz
DIRNAME := xl
2024-05-11 12:50:12 +02:00
2024-05-11 12:39:04 +02:00
run:
./gradlew run
watch:
./gradlew run --continuous
build:
./gradlew build
2024-05-11 14:07:16 +02:00
ls -lh app/build/libs/*.jar
2024-05-11 12:39:04 +02:00
clean:
./gradlew clean
2024-05-11 12:50:12 +02:00
rm -f *.tar.gz *.tar.gz.minisig *.zip *.jpg
2024-05-11 12:39:04 +02:00
test:
./gradlew test
2024-05-11 12:50:12 +02:00
$(TARNAME):
2024-05-11 15:27:46 +02:00
git archive --format=tar --prefix=$(DIRNAME)/ HEAD > intermediate.tar
tar -f intermediate.tar --delete $(DIRNAME)/doc
gzip -9 -c intermediate.tar > $(TARNAME)
rm intermediate.tar
2024-05-11 12:50:12 +02:00
$(TARNAME).minisig: $(TARNAME)
minisign -Sm $(TARNAME)
2024-05-11 12:55:35 +02:00
tar: $(TARNAME)
tar -tvf $(TARNAME)
2024-05-11 12:50:12 +02:00
sign: $(TARNAME).minisig
publish: $(TARNAME) $(TARNAME).minisig
@git diff-index --quiet HEAD || (echo "git is dirty, commit changes first"; exit 1)
ssh server mkdir -p /public/$(DIRNAME)
rsync -avz $(TARNAME).minisig server:/public/$(DIRNAME)/$(TARNAME).minisig
2024-05-11 14:53:05 +02:00
rsync -avz $(TARNAME) server:/public/$(DIRNAME)/$(TARNAME)
ssh server ln -sf /public/$(DIRNAME)/$(TARNAME).minisig /public/$(DIRNAME)/latest.tar.gz.minisig
ssh server ln -sf /public/$(DIRNAME)/$(TARNAME) /public/$(DIRNAME)/latest.tar.gz
2024-05-11 12:39:04 +02:00
2024-05-11 12:55:35 +02:00
.PHONY: run watch build clean test archive sign publish