@echo "-------"
@echo "PHPUNIT"
@echo "-------"
- @mkdir -p sandbox
- @$(BIN)/phpunit tests
+ @mkdir -p sandbox coverage
+ @$(BIN)/phpunit --coverage-php coverage/main.cov --testsuite unit-tests
+
+locale_test_%:
+ @UT_LOCALE=$*.utf8 \
+ $(BIN)/phpunit \
+ --coverage-php coverage/$(firstword $(subst _, ,$*)).cov \
+ --bootstrap tests/languages/bootstrap.php \
+ --testsuite language-$(firstword $(subst _, ,$*))
+
+all_tests: test locale_test_de_DE locale_test_en_US locale_test_fr_FR
+ @$(BIN)/phpcov merge --html coverage coverage
+ @# --text doesn't work with phpunit 4.* (v5 requires PHP 5.6)
+ @#$(BIN)/phpcov merge --text coverage/txt coverage
##
# Custom release archive generation
# to ease deployment on shared hosting.
##
ARCHIVE_VERSION := shaarli-$$(git describe)-full
+ARCHIVE_PREFIX=Shaarli/
release_archive: release_tar release_zip
### generate a release tarball and include 3rd-party dependencies
release_tar: composer_dependencies
- git archive -o $(ARCHIVE_VERSION).tar HEAD
- tar rvf $(ARCHIVE_VERSION).tar vendor/
+ git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).tar HEAD
+ tar rvf $(ARCHIVE_VERSION).tar --transform "s|^vendor|$(ARCHIVE_PREFIX)vendor|" vendor/
+ gzip $(ARCHIVE_VERSION).tar
### generate a release zip and include 3rd-party dependencies
release_zip: composer_dependencies
- git archive -o $(ARCHIVE_VERSION).zip -9 HEAD
- zip -r $(ARCHIVE_VERSION).zip vendor/
+ git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).zip -9 HEAD
+ mkdir $(ARCHIVE_PREFIX)
+ rsync -a vendor/ $(ARCHIVE_PREFIX)vendor/
+ zip -r $(ARCHIVE_VERSION).zip $(ARCHIVE_PREFIX)vendor/
+ rm -rf $(ARCHIVE_PREFIX)
##
# Targets for repository and documentation maintenance
@git clean -df
@rm -rf sandbox
+### generate the AUTHORS file from Git commit information
+authors:
+ @cp .github/mailmap .mailmap
+ @git shortlog -sne > AUTHORS
+ @rm .mailmap
+
### generate Doxygen documentation
doxygen: clean
@rm -rf doxygen
-o doc/$$base.html $$file; \
done;
-htmldoc: doc htmlsidebar htmlpages
+htmldoc: authors doc htmlsidebar htmlpages