X-Git-Url: https://git.immae.eu/?p=github%2Fshaarli%2FShaarli.git;a=blobdiff_plain;f=Makefile;h=286d2c904f711d2a04c9e15da59d1067b6ca0b4a;hp=28740690754f86355f5022ce1d2593778d622049;hb=HEAD;hpb=37c9c6b4e62ba25f889ebb6486fe5c442acc9095 diff --git a/Makefile b/Makefile index 28740690..181b61c4 100644 --- a/Makefile +++ b/Makefile @@ -2,9 +2,8 @@ # Makefile for PHP code analysis & testing, documentation and release generation BIN = vendor/bin -PHP_SOURCE = index.php application tests plugins -all: static_analysis_summary check_permissions test +all: check_permissions test ## # Docker test adapter @@ -23,23 +22,22 @@ docker_%: # - http://pear.php.net/manual/en/package.php.php-codesniffer.usage.php # - http://pear.php.net/manual/en/package.php.php-codesniffer.reporting.php ## -code_sniffer: code_sniffer_full +PHPCS := $(BIN)/phpcs -### - errors filtered by coding standard: PEAR, PSR1, PSR2, Zend... -PHPCS_%: - @$(BIN)/phpcs $(PHP_SOURCE) --report-full --report-width=200 --standard=$* +code_sniffer: + @$(PHPCS) ### - errors by Git author code_sniffer_blame: - @$(BIN)/phpcs $(PHP_SOURCE) --report-gitblame + @$(PHPCS) --report-gitblame ### - all errors/warnings code_sniffer_full: - @$(BIN)/phpcs $(PHP_SOURCE) --report-full --report-width=200 + @$(PHPCS) --report-full --report-width=200 ### - errors grouped by kind code_sniffer_source: - @$(BIN)/phpcs $(PHP_SOURCE) --report-source || exit 0 + @$(PHPCS) --report-source || exit 0 ## # Checks source file & script permissions @@ -78,10 +76,15 @@ locale_test_%: --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 + @# --The current version is not compatible with PHP 7.2 + @#$(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 +### download 3rd-party PHP libraries, including dev dependencies +composer_dependencies_dev: clean + composer install --prefer-dist + ## # Custom release archive generation # @@ -120,7 +123,8 @@ release_tar: composer_dependencies htmldoc translate build_frontend ### generate a release zip and include 3rd-party dependencies and translations release_zip: composer_dependencies htmldoc translate build_frontend git archive --prefix=$(ARCHIVE_PREFIX) -o $(ARCHIVE_VERSION).zip -9 HEAD - mkdir -p $(ARCHIVE_PREFIX)/{doc,vendor} + mkdir -p $(ARCHIVE_PREFIX)/doc + mkdir -p $(ARCHIVE_PREFIX)/vendor rsync -a doc/html/ $(ARCHIVE_PREFIX)doc/html/ zip -r $(ARCHIVE_VERSION).zip $(ARCHIVE_PREFIX)doc/ rsync -a vendor/ $(ARCHIVE_PREFIX)vendor/ @@ -144,15 +148,15 @@ authors: @git shortlog -sne > AUTHORS @rm .mailmap -### generate Doxygen documentation -doxygen: clean - @rm -rf doxygen - @doxygen Doxyfile +### generate phpDocumentor documentation +phpdoc: clean + @docker run --rm -v $(PWD):/data -u `id -u`:`id -g` phpdoc/phpdoc ### generate HTML documentation from Markdown pages with MkDocs htmldoc: python3 -m venv venv/ bash -c 'source venv/bin/activate; \ + pip install wheel; \ pip install mkdocs; \ mkdocs build --clean' find doc/html/ -type f -exec chmod a-x '{}' \; @@ -167,7 +171,8 @@ translate: eslint: @yarn run eslint -c .dev/.eslintrc.js assets/vintage/js/ @yarn run eslint -c .dev/.eslintrc.js assets/default/js/ + @yarn run eslint -c .dev/.eslintrc.js assets/common/js/ ### Run CSSLint check against Shaarli's SCSS files sasslint: - @yarn run sass-lint -c .dev/.sasslintrc 'assets/default/scss/*.scss' -v -q + @yarn run stylelint --config .dev/.stylelintrc.js 'assets/default/scss/*.scss'