Files
awesome-selfhosted-data/Makefile
2023-07-22 11:13:58 +02:00

54 lines
1.9 KiB
Makefile

SHELL := /bin/bash
.PHONY: install # install build tools in a virtualenv
install:
python3 -m venv .venv
source .venv/bin/activate && \
pip3 install wheel && \
pip3 install --force git+https://github.com/nodiscc/hecat.git@master
.PHONY: import # import data from original list at https://github.com/awesome-selfhosted/awesome-selfhosted
import: install
rm -rf awesome-selfhosted && git clone --depth=1 https://github.com/awesome-selfhosted/awesome-selfhosted
cp awesome-selfhosted/.github/.mailmap .mailmap
cp awesome-selfhosted/AUTHORS AUTHORS
rm -rf tags/ software/ platforms/
mkdir -p tags/ software/ platforms/
source .venv/bin/activate && \
hecat --config .hecat/import.yml
.PHONY: update_metadata # update metadata from project repositories/API
update_metadata: install
source .venv/bin/activate && \
hecat --config .hecat/update-metadata.yml
.PHONY: awesome_lint # check data against awesome-selfhosted guidelines
awesome_lint: install
source .venv/bin/activate && \
hecat --config .hecat/awesome-lint.yml
.PHONY: export # export markdown singlepage document from yaml data
export: install
rm -rf awesome-selfhosted && git clone https://github.com/awesome-selfhosted/awesome-selfhosted
source .venv/bin/activate && \
hecat --config .hecat/export.yml
cd awesome-selfhosted && git diff --color=always
.PHONY: url_check # check URLs for dead links or other connection problems
url_check: install
source .venv/bin/activate && \
hecat --config .hecat/url-check.yml
.PHONY: authors # update the AUTHORS file
authors:
printf "Commits|Author\n-------|---------------------------------------------------\n" > AUTHORS
git shortlog -sne >> AUTHORS
.PHONY: clean # clean files generated by automated tasks
clean:
rm -rf awesome-selfhosted
.PHONY: help # generate list of targets with descriptions
help:
@grep '^.PHONY: .* #' Makefile | sed 's/\.PHONY: \(.*\) # \(.*\)/\1 \2/' | expand -t20