mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-24 23:37:18 +00:00
replace script by makefile
This commit is contained in:
parent
47fc5bca57
commit
22d2057c3a
46
Makefile
Normal file
46
Makefile
Normal file
@ -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
|
@ -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
|
|
Loading…
Reference in New Issue
Block a user