X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=Makefile;h=c2d5594605943f87e16da7dee295acfff5e074ab;hb=b14d34d2c7b7a7360adcc823472a43f64b579e1c;hp=1ddd60f8a602766771405fada0f845e063594550;hpb=53ed6d7d1e678d7486337ce67a2f17b30bac21ac;p=github%2Fshaarli%2FShaarli.git diff --git a/Makefile b/Makefile index 1ddd60f8..c2d55946 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 @@ -105,7 +115,7 @@ check_permissions: @echo "----------------------" @echo "Check file permissions" @echo "----------------------" - @for file in `git ls-files`; do \ + @for file in `git ls-files | grep -v docker`; do \ if [ -x $$file ]; then \ errors=true; \ echo "$${file} is executable"; \ @@ -120,12 +130,12 @@ check_permissions: # See phpunit.xml for configuration # https://phpunit.de/manual/current/en/appendixes.configuration.html ## -test: +test: translate @echo "-------" @echo "PHPUNIT" @echo "-------" @mkdir -p sandbox coverage - @$(BIN)/phpunit --coverage-php coverage/main.cov --testsuite unit-tests + @$(BIN)/phpunit --coverage-php coverage/main.cov --bootstrap tests/bootstrap.php --testsuite unit-tests locale_test_%: @UT_LOCALE=$*.utf8 \ @@ -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 +### generate a release tarball and include 3rd-party dependencies and translations +release_tar: composer_dependencies htmldoc translate 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 +### generate a release zip and include 3rd-party dependencies and translations +release_zip: composer_dependencies htmldoc translate 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,25 +205,8 @@ doxygen: clean @rm -rf doxygen @( cat Doxyfile ; echo "PROJECT_NUMBER=`git describe`" ) | doxygen - -### update the local copy of the documentation -doc: clean - @rm -rf doc/md/ - @git clone https://github.com/shaarli/Shaarli.wiki.git doc/md - mv doc/md/Home.md doc/md/index.md - @rm -rf doc/md/.git - -### 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; \ @@ -218,4 +214,7 @@ htmlpages: find doc/html/ -type f -exec chmod a-x '{}' \; rm -r venv -doc_html: authors doc htmlpages + +### Generate Shaarli's translation compiled file (.mo) +translate: + @find inc/languages/ -name shaarli.po -execdir msgfmt shaarli.po -o shaarli.mo \; \ No newline at end of file