91 lines
3.3 KiB
Makefile
91 lines
3.3 KiB
Makefile
GITHASH := $(shell git rev-parse --short HEAD)$(shell git diff-index --quiet HEAD || echo "-dirty")
|
|
|
|
TARNAME := xl-imbus_$(GITHASH).tar.gz
|
|
DIRNAME := xl
|
|
|
|
MERMAID := java -jar java2umltext.jar --no-constructors --no-method-relationships --no-field-relationships MERMAID
|
|
|
|
UMLDIRNAME := xl_diagrams_$(GITHASH)
|
|
UMLTARNAME := $(UMLDIRNAME).tar.gz
|
|
|
|
run:
|
|
./gradlew run
|
|
|
|
watch:
|
|
./gradlew run --continuous
|
|
|
|
build:
|
|
./gradlew build
|
|
ls -lh app/build/libs/*.jar
|
|
|
|
clean:
|
|
./gradlew clean
|
|
rm -f *.tar.gz *.tar.gz.minisig *.zip *.jpg
|
|
rm -f *.jar *.mmd *.puml *.png *.svg
|
|
|
|
test:
|
|
./gradlew test
|
|
|
|
$(TARNAME):
|
|
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
|
|
|
|
$(TARNAME).minisig: $(TARNAME)
|
|
minisign -Sm $(TARNAME)
|
|
|
|
tar: $(TARNAME)
|
|
tar -tvf $(TARNAME)
|
|
tar -tvf $(TARNAME) | wc -l
|
|
|
|
sign: $(TARNAME).minisig
|
|
|
|
inherit:
|
|
nu -c 'rg -Ioi ".*class .* (extends|implements).*\\{" | sd " *\\{" "" | lines | sort | save -f inheritance.txt'
|
|
|
|
install-mermaid:
|
|
npm install -g @mermaid-js/mermaid-cli
|
|
|
|
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
|
|
rsync -avz $(TARNAME) server:/public/$(DIRNAME)/$(TARNAME)
|
|
ssh server ln -sf /public/$(DIRNAME)/$(TARNAME).minisig /public/$(DIRNAME)/xl-imbus-latest.tar.gz.minisig
|
|
ssh server ln -sf /public/$(DIRNAME)/$(TARNAME) /public/$(DIRNAME)/xl-imbus-latest.tar.gz
|
|
|
|
java2umltext.jar:
|
|
curl --progress-bar -L -o java2umltext.jar https://github.com/feitosa-daniel/java2umltext/releases/download/v0.1.0/java2umltext-0.1.0.jar
|
|
@echo -n "5d0368b1bebe7cee289d0febc0433d5a4c120762b7ca611948f828bc955c44f6 java2umltext.jar" | sha256sum -c || \
|
|
(echo "Checksum mismatch, something fishy is up"; rm -f java2umltext.jar; exit 1)
|
|
|
|
uml: java2umltext.jar
|
|
$(MERMAID) app/src/main/java/model > diagrams_model.mmd
|
|
$(MERMAID) app/src/main/java/expr > diagrams_expr.mmd
|
|
$(MERMAID) app/src/main/java/gui > diagrams_gui.mmd
|
|
$(MERMAID) app/src/main/java/menu > diagrams_menu.mmd
|
|
$(MERMAID) app/src/main/java/util > diagrams_util.mmd
|
|
|
|
mmdc -q -i diagrams_model.mmd -o diagrams_model.svg -t dark -b transparent
|
|
mmdc -q -i diagrams_expr.mmd -o diagrams_expr.svg -t dark -b transparent
|
|
mmdc -q -i diagrams_gui.mmd -o diagrams_gui.svg -t dark -b transparent
|
|
mmdc -q -i diagrams_menu.mmd -o diagrams_menu.svg -t dark -b transparent
|
|
mmdc -q -i diagrams_util.mmd -o diagrams_util.svg -t dark -b transparent
|
|
|
|
mmdc -q -i diagrams_model.mmd -o diagrams_model.png
|
|
mmdc -q -i diagrams_expr.mmd -o diagrams_expr.png
|
|
mmdc -q -i diagrams_gui.mmd -o diagrams_gui.png
|
|
mmdc -q -i diagrams_menu.mmd -o diagrams_menu.png
|
|
mmdc -q -i diagrams_util.mmd -o diagrams_util.png
|
|
|
|
@tar --transform 's,^,$(UMLDIRNAME)/,' -czf $(UMLTARNAME) diagrams_*.{mmd,png,svg}
|
|
tar -tvf $(UMLTARNAME)
|
|
@# java -jar java2umltext.jar PLANTUML app/src/main/java/model > diagrams.puml
|
|
@# Optionally stamp out to PNG with plantuml and mmdc cli tools here
|
|
|
|
umlpublish: $(UMLTARNAME)
|
|
ssh server mkdir -p /public/$(DIRNAME)/diagrams
|
|
rsync -avz $(UMLTARNAME) server:/public/$(DIRNAME)/diagrams/$(UMLTARNAME)
|
|
|
|
.PHONY: run watch build clean test archive sign publish uml umlpublish
|