X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=inline;f=Makefile;h=a3696ec987886657dfd2ecca1345575c4928c38c;hb=df8becac4fc810d78917a9896dc72a1f7b336fb9;hp=2064303afa379e5b4f40ed6fd04aea878f0afa08;hpb=f47aa40c12ec63a60d2edc959314a0a05f6fe610;p=github%2Fshaarli%2FShaarli.git diff --git a/Makefile b/Makefile index 2064303a..a3696ec9 100644 --- a/Makefile +++ b/Makefile @@ -18,6 +18,16 @@ PHP_COMMA_SOURCE = index.php,application,tests,plugins all: static_analysis_summary check_permissions test +## +# Docker test adapter +# +# Shaarli sources and vendored libraries are copied from a shared volume +# to a user-owned directory to enable running tests as a non-root user. +## +docker_%: + rsync -az /shaarli/ ~/shaarli/ + cd ~/shaarli && make $* + ## # Concise status of the project # These targets are non-blocking: || exit 0 @@ -155,19 +165,22 @@ release_archive: release_tar release_zip ### download 3rd-party PHP libraries composer_dependencies: clean - composer update --no-dev + composer install --no-dev --prefer-dist find vendor/ -name ".git" -type d -exec rm -rf {} + ### generate a release tarball and include 3rd-party dependencies -release_tar: composer_dependencies +release_tar: composer_dependencies htmldoc git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).tar HEAD tar rvf $(ARCHIVE_VERSION).tar --transform "s|^vendor|$(ARCHIVE_PREFIX)vendor|" vendor/ + tar rvf $(ARCHIVE_VERSION).tar --transform "s|^doc/html|$(ARCHIVE_PREFIX)doc/html|" doc/html/ gzip $(ARCHIVE_VERSION).tar ### generate a release zip and include 3rd-party dependencies -release_zip: composer_dependencies +release_zip: composer_dependencies htmldoc git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).zip -9 HEAD - mkdir $(ARCHIVE_PREFIX) + mkdir -p $(ARCHIVE_PREFIX)/{doc,vendor} + rsync -a doc/html/ $(ARCHIVE_PREFIX)doc/html/ + zip -r $(ARCHIVE_VERSION).zip $(ARCHIVE_PREFIX)doc/ rsync -a vendor/ $(ARCHIVE_PREFIX)vendor/ zip -r $(ARCHIVE_VERSION).zip $(ARCHIVE_PREFIX)vendor/ rm -rf $(ARCHIVE_PREFIX) @@ -192,24 +205,11 @@ doxygen: clean @rm -rf doxygen @( cat Doxyfile ; echo "PROJECT_NUMBER=`git describe`" ) | doxygen - -### Convert local markdown documentation to HTML -# -# For all pages: -# - convert GitHub-flavoured relative links to standard Markdown -# - generate html documentation with mkdocs -htmlpages: - # Rename local [[links]] to regular links. - @for file in `find doc/md/ -maxdepth 1 -name "*.md"`; do \ - sed -e "s/\[\[\(.*\)\]\]/[\1](\1)/g" "$$file" > doc/md/tmp.md; \ - mv doc/md/tmp.md $$file; \ - done - +### generate HTML documentation from Markdown pages with MkDocs +htmldoc: python3 -m venv venv/ bash -c 'source venv/bin/activate; \ pip install mkdocs; \ mkdocs build' find doc/html/ -type f -exec chmod a-x '{}' \; rm -r venv - -doc_html: authors htmlpages -