From 22d2057c3a000985d530a6af79cf0ac6c6581696 Mon Sep 17 00:00:00 2001 From: Evgeniy Alekseev Date: Wed, 17 Mar 2021 03:32:27 +0300 Subject: [PATCH] replace script by makefile --- Makefile | 46 ++++++++++++++++++++++++++++++++++++++++++++++ make_release.sh | 35 ----------------------------------- 2 files changed, 46 insertions(+), 35 deletions(-) create mode 100644 Makefile delete mode 100755 make_release.sh diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..d019b2a2 --- /dev/null +++ b/Makefile @@ -0,0 +1,46 @@ +.PHONY: archive archive_directory archlinux clean directory push version +.DEFAULT_GOAL := archlinux + +PROJECT := ahriman + +FILES := COPYING CONFIGURING.md README.md package src setup.py +TARGET_FILES := $(addprefix $(PROJECT)/, $(FILES)) +IGNORE_FILES := package/archlinux src/.mypy_cache + +ifndef VERSION +$(error VERSION is not set) +endif + +$(TARGET_FILES) : $(addprefix $(PROJECT), %) : $(addprefix ., %) directory version + @cp -rp $< $@ + +archive: archive_directory + tar cJf "$(PROJECT)-$(VERSION)-src.tar.xz" "$(PROJECT)" + rm -rf "$(PROJECT)" + +archive_directory: $(TARGET_FILES) + rm -fr $(addprefix $(PROJECT)/, $(IGNORE_FILES)) + find $(PROJECT) -type f -name '*.pyc' -delete + find $(PROJECT) -depth -type d -name '__pycache__' -execdir rm -rf {} + + find $(PROJECT) -depth -type d -name '*.egg-info' -execdir rm -rf {} + + +archlinux: archive + sed -i "/sha512sums=('[0-9A-Fa-f]*/s/[^'][^)]*/sha512sums=('$$(sha512sum $(PROJECT)-$(VERSION)-src.tar.xz | awk '{print $$1}')'/" package/archlinux/PKGBUILD + sed -i "s/pkgver=[0-9.]*/pkgver=$(VERSION)/" package/archlinux/PKGBUILD + +clean: + find . -type f -name '$(PROJECT)-*-src.tar.xz' -delete + rm -rf "$(PROJECT)" + +directory: clean + mkdir "$(PROJECT)" + +push: archlinux + git add package/archlinux/PKGBUILD src/ahriman/version.py + git commit -m "Release $(VERSION)" + git push + git tag "$(VERSION)" + git push --tags + +version: + sed -i "/__version__ = '[0-9.]*/s/[^'][^)]*/__version__ = '$(VERSION)'/" src/ahriman/version.py diff --git a/make_release.sh b/make_release.sh deleted file mode 100755 index 9e759b0f..00000000 --- a/make_release.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -set -e - -VERSION="$1" -ARCHIVE="ahriman" -FILES="COPYING CONFIGURING.md README.md package src setup.py" -IGNORELIST="build .idea package/archlinux package/*src.tar.xz" - -# set version -sed -i "/__version__ = '[0-9.]*/s/[^'][^)]*/__version__ = '$VERSION'/" src/ahriman/version.py - -# create archive -[[ -e $ARCHIVE-$VERSION-src.tar.xz ]] && rm -f "$ARCHIVE-$VERSION-src.tar.xz" -[[ -d $ARCHIVE ]] && rm -rf "$ARCHIVE" -mkdir "$ARCHIVE" -for FILE in ${FILES[*]}; do cp -r "$FILE" "$ARCHIVE"; done -for FILE in ${IGNORELIST[*]}; do rm -rf "$ARCHIVE/$FILE"; done -tar cJf "$ARCHIVE-$VERSION-src.tar.xz" "$ARCHIVE" -rm -rf "$ARCHIVE" - -# update checksums -SHA512SUMS=$(sha512sum $ARCHIVE-$VERSION-src.tar.xz | awk '{print $1}') -sed -i "/sha512sums=('[0-9A-Fa-f]*/s/[^'][^)]*/sha512sums=('$SHA512SUMS'/" package/archlinux/PKGBUILD -sed -i "s/pkgver=[0-9.]*/pkgver=$VERSION/" package/archlinux/PKGBUILD - -# clear -find . -type f -name '*src.tar.xz' -not -name "*$VERSION-src.tar.xz" -exec rm -f {} \; - -read -p "Publish release? [Ny] " -n 1 -r -if [[ $REPLY =~ ^[Yy]$ ]]; then - git add package/archlinux/PKGBUILD src/ahriman/version.py - git commit -m "Release $VERSION" && git push - git tag "$VERSION" && git push --tags -fi