mirror of
				https://github.com/arcan1s/ahriman.git
				synced 2025-11-04 07:43:42 +00:00 
			
		
		
		
	replace script by makefile
This commit is contained in:
		
							
								
								
									
										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
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user