diff --git a/.gitignore b/.gitignore index c368807..7db1e88 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,16 @@ +# IDE Shizzle; it is recommended to use a global .gitignore for this but since this is an OSS project we want to make +# it easy to contribute .idea -vendor -/build -/temp +/nbproject/private/ +.buildpath +.project +.settings + +# Build folder and vendor folder are generated code; no need to version this +build/* +temp/* +vendor/* +composer.phar + +# By default the phpunit.xml.dist is provided; you can override this using a local config file +phpunit.xml diff --git a/.scrutinizer.yml b/.scrutinizer.yml new file mode 100644 index 0000000..8b22db8 --- /dev/null +++ b/.scrutinizer.yml @@ -0,0 +1,43 @@ +before_commands: + - "composer install --no-dev --prefer-source" + +tools: + external_code_coverage: + enabled: true + timeout: 300 + filter: + excluded_paths: ["examples", "tests", "vendor"] + php_code_sniffer: + enabled: true + config: + standard: PSR2 + filter: + paths: ["src/*", "tests/*"] + excluded_paths: [] + php_cpd: + enabled: true + excluded_dirs: ["examples", "tests", "vendor"] + php_cs_fixer: + enabled: true + config: + level: all + filter: + paths: ["src/*", "tests/*"] + php_loc: + enabled: true + excluded_dirs: ["examples", "tests", "vendor"] + php_mess_detector: + enabled: true + config: + ruleset: phpmd.xml.dist + design_rules: { eval_expression: false } + filter: + paths: ["src/*"] + php_pdepend: + enabled: true + excluded_dirs: ["examples", "tests", "vendor"] + php_analyzer: + enabled: true + filter: + paths: ["src/*", "tests/*"] + sensiolabs_security_checker: true diff --git a/.travis.yml b/.travis.yml index 153880f..269ffd0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,36 +1,50 @@ language: php - php: - 7.1 - 7.2 + - nightly +sudo: false + +env: matrix: + fast_finish: true + allow_failures: + - php: nightly + +install: + - composer install --no-interaction --prefer-dist --optimize-autoloader + +jobs: include: - - php: 7.1 - env: ECS=true - - php: 7.1 - env: PHPSTAN=true + - stage: test + script: + - vendor/bin/phpunit --no-coverage + + - stage: coverage + php: 7.1 + script: + - vendor/bin/phpunit + after_script: + - wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover build/logs/clover.xml + - wget https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar && php coveralls.phar --verbose + + - stage: lint + php: 7.1 + before_script: + - composer create-project symplify/easy-coding-standard temp/ecs + script: + - temp/ecs/bin/ecs check src tests + - vendor/bin/phpstan analyse src --level max --configuration phpstan.neon cache: directories: - - $HOME/.composer/cache - -install: - - composer install --no-interaction - - if [[ $ECS != "" ]]; then composer create-project symplify/easy-coding-standard temp/ecs; fi - -script: - - vendor/bin/phpunit --coverage-clover=coverage.xml -v - - if [[ $ECS != "" ]]; then temp/ecs/bin/ecs check src tests; fi - - if [[ $PHPSTAN != "" ]]; then vendor/bin/phpstan analyse src --level max --configuration phpstan.neon; fi - -after_script: - - wget https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar; - - php coveralls.phar --verbose; + - $HOME/.composer/cache/files notifications: irc: "irc.freenode.org#phpdocumentor" + slack: + secure: "fjumM0h+4w3EYM4dpgqvpiCug7m4sSIC5+HATgwga/Nrc6IjlbWvGOv3JPgD3kQUhi18VmZfUYPmCv916SIbMnv8JWcrSaJXnPCgmxidvYkuzQDIw1HDJbVppGnkmwQA/qjIrM3sIEMfnu/arLRJQLI363aStZzGPxwIa4PDKcg=" email: - - mike.vanriel@naenius.com - - ashnazg@php.net - - boen.robot@gmail.com + - me@mikevanriel.com + - ashnazg@php.net diff --git a/README.md b/README.md index 7122748..746816f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,13 @@ -The ReflectionDocBlock Component [![Build Status](https://secure.travis-ci.org/phpDocumentor/ReflectionDocBlock.png)](https://travis-ci.org/phpDocumentor/ReflectionDocBlock) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) +[![Travis Status](https://travis-ci.org/phpDocumentor/ReflectionDocBlock.svg?branch=master)](https://travis-ci.org/phpDocumentor/ReflectionDocBlock) +[![Appveyor Status](https://ci.appveyor.com/api/projects/status/03a9euxrcse7orgu/branch/master?svg=true)](https://ci.appveyor.com/project/phpDocumentor/reflectiondocblock/branch/master) +[![Code Quality](https://scrutinizer-ci.com/g/phpDocumentor/ReflectionDocBlock/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/phpDocumentor/ReflectionDocBlock/?branch=master) +[![Code Coverage](https://scrutinizer-ci.com/g/phpDocumentor/ReflectionDocBlock/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/phpDocumentor/ReflectionDocBlock/?branch=master) +[![Coverage Status](https://coveralls.io/repos/github/phpDocumentor/ReflectionDocBlock/badge.svg?branch=master)](https://coveralls.io/github/phpDocumentor/ReflectionDocBlock?branch=master) +[![PHPStan](https://img.shields.io/badge/PHPStan-enabled-brightgreen.svg?style=flat)](https://github.com/phpstan/phpstan) + + +The ReflectionDocBlock Component ================================ Introduction diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..83f4468 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,54 @@ +build: false +clone_folder: c:\reflectiondocblock +max_jobs: 3 +platform: x86 +pull_requests: + do_not_increment_build_number: true +version: '{build}.{branch}' +skip_tags: true +branches: + only: + - master + +environment: + matrix: + - PHP_VERSION: '7.1.13' + VC_VERSION: 'VC14' + - PHP_VERSION: '7.2.1' + VC_VERSION: 'VC15' +matrix: + fast_finish: false + +cache: + - c:\php -> appveyor.yml + - '%LOCALAPPDATA%\Composer\files' + +init: + - SET PATH=c:\php\%PHP_VERSION%;%PATH% + +install: + - IF NOT EXIST c:\php mkdir c:\php + - IF NOT EXIST c:\php\%PHP_VERSION% mkdir c:\php\%PHP_VERSION% + - cd c:\php\%PHP_VERSION% + - IF NOT EXIST php-installed.txt appveyor DownloadFile http://windows.php.net/downloads/releases/php-%PHP_VERSION%-Win32-%VC_VERSION%-x86.zip + - IF NOT EXIST php-installed.txt 7z x php-%PHP_VERSION%-Win32-%VC_VERSION%-x86.zip -y >nul + - IF NOT EXIST php-installed.txt del /Q *.zip + - IF NOT EXIST php-installed.txt copy /Y php.ini-development php.ini + - IF NOT EXIST php-installed.txt echo max_execution_time=1200 >> php.ini + - IF NOT EXIST php-installed.txt echo date.timezone="UTC" >> php.ini + - IF NOT EXIST php-installed.txt echo extension_dir=ext >> php.ini + - IF NOT EXIST php-installed.txt echo extension=php_curl.dll >> php.ini + - IF NOT EXIST php-installed.txt echo extension=php_openssl.dll >> php.ini + - IF NOT EXIST php-installed.txt echo extension=php_mbstring.dll >> php.ini + - IF NOT EXIST php-installed.txt echo extension=php_fileinfo.dll >> php.ini + - IF NOT EXIST php-installed.txt echo zend.assertions=1 >> php.ini + - IF NOT EXIST php-installed.txt echo assert.exception=On >> php.ini + - IF NOT EXIST php-installed.txt appveyor DownloadFile https://getcomposer.org/composer.phar + - IF NOT EXIST php-installed.txt echo @php %%~dp0composer.phar %%* > composer.bat + - IF NOT EXIST php-installed.txt type nul >> php-installed.txt + - cd c:\reflectiondocblock + - composer install --no-interaction --prefer-dist --no-progress + +test_script: + - cd c:\reflectiondocblock + - vendor/bin/phpunit diff --git a/phpmd.xml.dist b/phpmd.xml.dist new file mode 100644 index 0000000..9abf85c --- /dev/null +++ b/phpmd.xml.dist @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + 40 + + +