diff options
-rw-r--r-- | .gitignore | 9 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | composer-diff.json | 41 | ||||
-rw-r--r-- | composer.json | 91 | ||||
-rwxr-xr-x | makesrc.sh | 59 | ||||
-rw-r--r-- | php-cs-fixer3-autoload.patch | 71 | ||||
-rw-r--r-- | php-cs-fixer3.spec | 616 |
7 files changed, 891 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01f0400 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +clog +package-*.xml +*.tgz +*.tar.bz2 +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..91b0fd5 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../common/Makefile + diff --git a/composer-diff.json b/composer-diff.json new file mode 100644 index 0000000..2c4b3ad --- /dev/null +++ b/composer-diff.json @@ -0,0 +1,41 @@ +{ + "name": "php-cs-fixer/diff", + "description": "sebastian/diff v2 backport support for PHP5.6", + "keywords": ["diff"], + "homepage": "https://github.com/PHP-CS-Fixer", + "license": "BSD-3-Clause", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "SpacePossum" + } + ], + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3 || ^7.0", + "symfony/process": "^3.3" + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "autoload-dev": { + "psr-4": { + "PhpCsFixer\\Diff\\v1_4\\Tests\\": "tests/v1_4", + "PhpCsFixer\\Diff\\v2_0\\Tests\\": "tests/v2_0", + "PhpCsFixer\\Diff\\v3_0\\": "tests/v3_0", + "PhpCsFixer\\Diff\\GeckoPackages\\DiffOutputBuilder\\Tests\\": "tests/GeckoPackages/DiffOutputBuilder/Tests", + "PhpCsFixer\\Diff\\GeckoPackages\\DiffOutputBuilder\\Utils\\": "tests/GeckoPackages/DiffOutputBuilder/Utils" + } + } +} diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..b53d2b4 --- /dev/null +++ b/composer.json @@ -0,0 +1,91 @@ +{ + "name": "friendsofphp/php-cs-fixer", + "type": "application", + "description": "A tool to automatically fix PHP code style", + "license": "MIT", + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz RumiĆski", + "email": "dariusz.ruminski@gmail.com" + } + ], + "require": { + "php": "^5.6 || ^7.0 || ^8.0", + "ext-json": "*", + "ext-tokenizer": "*", + "composer/semver": "^1.4 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^1.2 || ^2.0", + "doctrine/annotations": "^1.2", + "php-cs-fixer/diff": "^1.3", + "symfony/console": "^3.4.43 || ^4.1.6 || ^5.0", + "symfony/event-dispatcher": "^3.0 || ^4.0 || ^5.0", + "symfony/filesystem": "^3.0 || ^4.0 || ^5.0", + "symfony/finder": "^3.0 || ^4.0 || ^5.0", + "symfony/options-resolver": "^3.0 || ^4.0 || ^5.0", + "symfony/polyfill-php70": "^1.0", + "symfony/polyfill-php72": "^1.4", + "symfony/process": "^3.0 || ^4.0 || ^5.0", + "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0" + }, + "require-dev": { + "justinrainbow/json-schema": "^5.0", + "keradus/cli-executor": "^1.4", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.4.2", + "php-cs-fixer/accessible-object": "^1.0", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", + "phpspec/prophecy-phpunit": "^1.1 || ^2.0", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.13 || ^9.5", + "phpunitgoodpractices/polyfill": "^1.5", + "phpunitgoodpractices/traits": "^1.9.1", + "sanmai/phpunit-legacy-adapter": "^6.4 || ^8.2.1", + "symfony/phpunit-bridge": "^5.2.1", + "symfony/yaml": "^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters.", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.", + "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." + }, + "config": { + "sort-packages": true + }, + "extra": { + "branch-alias": { + "dev-master": "2.19-dev" + } + }, + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + }, + "classmap": [ + "tests/Test/AbstractFixerTestCase.php", + "tests/Test/AbstractIntegrationCaseFactory.php", + "tests/Test/AbstractIntegrationTestCase.php", + "tests/Test/Assert/AssertTokensTrait.php", + "tests/Test/IntegrationCase.php", + "tests/Test/IntegrationCaseFactory.php", + "tests/Test/IntegrationCaseFactoryInterface.php", + "tests/Test/InternalIntegrationCaseFactory.php", + "tests/Test/IsIdenticalConstraint.php", + "tests/Test/TokensWithObservedTransformers.php", + "tests/TestCase.php" + ] + }, + "autoload-dev": { + "psr-4": { + "PhpCsFixer\\Tests\\": "tests/" + } + }, + "bin": [ + "php-cs-fixer" + ] +} diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..5284c5c --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +NAME=$(sed -n '/^Name:/{s/.* //;p}' *.spec) +OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec) +PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec) +VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} + +if [ -f $NAME-$VERSION-$SHORT.tgz ]; then + echo "Skip $NAME-$VERSION-$SHORT.tgz" +else + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION, Commit=$COMMIT\n" + + echo "Cloning..." + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit1 + cp composer.json ../composer.json + popd + + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT +fi + +PROJECT=diff +OWNER=$(sed -n '/^%global gh_diff_owner/{s/.* //;p}' $NAME.spec) +VERSION=$(sed -n '/^%global gh_diff_version/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global gh_diff_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} + +if [ -f $NAME-$PROJECT-$VERSION-$SHORT.tgz ]; then + echo "Skip $NAME-$PROJECT-$VERSION-$SHORT.tgz" +else + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION, Commit=$COMMIT\n" + + echo "Cloning..." + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit 1 + cp composer.json ../composer-diff.json + popd + + echo "Archiving..." + tar czf $NAME-$PROJECT-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT +fi + +echo "Done." + diff --git a/php-cs-fixer3-autoload.patch b/php-cs-fixer3-autoload.patch new file mode 100644 index 0000000..e24ef55 --- /dev/null +++ b/php-cs-fixer3-autoload.patch @@ -0,0 +1,71 @@ +diff -up ./php-cs-fixer.rpm ./php-cs-fixer +--- ./php-cs-fixer.rpm 2020-12-08 10:29:13.190515695 +0100 ++++ ./php-cs-fixer 2020-12-08 10:30:26.191258296 +0100 +@@ -52,39 +52,7 @@ set_error_handler(static function ($seve + } + }); + +-$require = true; +-if (class_exists('Phar')) { +- // Maybe this file is used as phar-stub? Let's try! +- try { +- Phar::mapPhar('php-cs-fixer.phar'); +- +- require_once 'phar://php-cs-fixer.phar/vendor/autoload.php'; +- $require = false; +- } catch (PharException $e) { +- } +-} +- +-if ($require) { +- // OK, it's not, let give Composer autoloader a try! +- $possibleFiles = [__DIR__.'/../../autoload.php', __DIR__.'/../autoload.php', __DIR__.'/vendor/autoload.php']; +- $file = null; +- foreach ($possibleFiles as $possibleFile) { +- if (file_exists($possibleFile)) { +- $file = $possibleFile; +- +- break; +- } +- } +- +- if (null === $file) { +- throw new RuntimeException('Unable to locate autoload.php file.'); +- } +- +- require_once $file; +- +- unset($possibleFiles, $possibleFile, $file); +-} +-unset($require); ++require_once '/usr/share/php/PhpCsFixer/autoload.php'; + + use Composer\XdebugHandler\XdebugHandler; + use PhpCsFixer\Console\Application; +diff -up ./src/Console/Command/HelpCommand.php.rpm ./src/Console/Command/HelpCommand.php +--- ./src/Console/Command/HelpCommand.php.rpm 2020-12-08 07:57:58.000000000 +0100 ++++ ./src/Console/Command/HelpCommand.php 2020-12-08 10:29:13.190515695 +0100 +@@ -374,6 +374,8 @@ EOF + { + static $version = null; + ++ return Application::VERSION; ++ + if (null !== $version) { + return $version; + } +diff -up ./tests/AutoReview/ProjectCodeTest.php.rpm ./tests/AutoReview/ProjectCodeTest.php +--- ./tests/AutoReview/ProjectCodeTest.php.rpm 2020-12-08 07:57:59.000000000 +0100 ++++ ./tests/AutoReview/ProjectCodeTest.php 2020-12-08 10:29:13.190515695 +0100 +@@ -690,8 +690,11 @@ final class ProjectCodeTest extends Test + ->files() + ->name('*.php') + ->in(__DIR__.'/../../src') ++ ->notName('autoload.php') + ->exclude([ + 'Resources', ++ 'diff', ++ 'tests', + ]) + ; + diff --git a/php-cs-fixer3.spec b/php-cs-fixer3.spec new file mode 100644 index 0000000..5a08473 --- /dev/null +++ b/php-cs-fixer3.spec @@ -0,0 +1,616 @@ +# remirepo/fedora spec file for php-cs-fixer +# +# Copyright (c) 2016-2021 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# + +# For compatibility with SCL +%undefine __brp_mangle_shebangs + +%global gh_commit d5b8a9d852b292c2f8a035200fa6844b1f82300b +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +#global gh_date 20150717 +%global gh_owner FriendsOfPHP +%global gh_project PHP-CS-Fixer +%global php_home %{_datadir}/php +%global with_tests 0%{!?_without_tests:1} + +# Bundled this fork which is not designed for use outside of php-cs-fixer +# https://github.com/PHP-CS-Fixer/diff/releases +%global gh_diff_owner PHP-CS-Fixer +%global gh_diff_version 1.3.1 +%global gh_diff_commit dbd31aeb251639ac0b9e7e29405c1441907f5759 +%global gh_diff_short %(c=%{gh_diff_commit}; echo ${c:0:7}) + +Name: php-cs-fixer +Version: 2.19.0 +Release: 1%{?gh_date:.%{gh_date}git%{gh_short}}%{?dist} +Summary: A tool to automatically fix PHP code style + +License: MIT +URL: https://github.com/%{gh_owner}/%{gh_project} +# git snapshot to get upstream test suite +Source0: %{name}-%{version}-%{gh_short}.tgz +Source1: %{name}-diff-%{gh_diff_version}-%{gh_diff_short}.tgz +Source2: makesrc.sh + +# Use our autoloader +Patch0: %{name}-autoload.patch + +BuildArch: noarch +%if %{with_tests} +# For tests +# as we use phpunit9 +BuildRequires: php(language) >= 7.3 +BuildRequires: php-tokenizer +# remirepo:1 +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +BuildRequires: (php-composer(composer/semver) >= 3.0 with php-composer(composer/semver) < 4) +BuildRequires: (php-composer(composer/xdebug-handler) >= 2.0 with php-composer(composer/xdebug-handler) < 3) +BuildRequires: (php-composer(doctrine/annotations) >= 1.2 with php-composer(doctrine/annotations) < 2) +BuildRequires: (php-composer(sebastian/diff) >= 1.4 with php-composer(sebastian/diff) < 2) +# remirepo:6 +%else +BuildRequires: php-composer-semver3 >= 3.0 +BuildRequires: php-composer-xdebug-handler2 >= 2.0 +BuildRequires: php-doctrine-annotations >= 1.2 +BuildRequires: php-phpunit-diff >= 1.4 +%endif +BuildRequires: php-symfony3-console +BuildRequires: php-symfony3-event-dispatcher +BuildRequires: php-symfony3-filesystem +BuildRequires: php-symfony3-finder +BuildRequires: php-symfony3-options-resolver +BuildRequires: php-symfony3-process +BuildRequires: php-symfony3-stopwatch +BuildRequires: php-symfony3-yaml +BuildRequires: php-mbstring +BuildRequires: php-xml +BuildRequires: php-reflection +BuildRequires: php-dom +BuildRequires: php-json +BuildRequires: php-pcre +BuildRequires: php-phar +BuildRequires: php-spl +BuildRequires: php-xml +# Missing dependency for Console +BuildRequires: php-symfony3-debug +BuildRequires: php-symfony3-debug +# From composer.json, "require-dev": { +# NOTICE: listener disabled during test suite +# "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", +# "keradus/cli-executor": "^1.4", +# "justinrainbow/json-schema": "^5.0", +# "mikey179/vfsstream": "^1.6", +# "php-coveralls/php-coveralls": "^2.4.1", +# "php-cs-fixer/accessible-object": "^1.0", +# "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", +# "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", +# "phpspec/prophecy-phpunit": "^1.1 || ^2.0", +# "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.13 || ^9.5", +# "phpunitgoodpractices/polyfill": "^1.5", +# "phpunitgoodpractices/traits": "^1.9.1", +# "sanmai/phpunit-legacy-adapter": "^6.4 || ^8.2.1", +# "symfony/phpunit-bridge": "^5.2.1", +# "symfony/yaml": "^3.0 || ^4.0 || ^5.0" +# ignored as test using it fail strangely +#BuildRequires: php-composer(keradus/cli-executor) < 2 +#BuildRequires: php-composer(keradus/cli-executor) >= 1.0 +# remirepo:1 +%if 0%{?fedora} >= 28 || 0%{?rhel} >= 8 +BuildRequires: (php-composer(justinrainbow/json-schema) >= 5.0 with php-composer(justinrainbow/json-schema) < 6) +BuildRequires: (php-composer(mikey179/vfsstream) >= 1.6 with php-composer(mikey179/vfsstream) < 2) +BuildRequires: (php-composer(php-cs-fixer/accessible-object) >= 1.0 with php-composer(php-cs-fixer/accessible-object) < 2) +BuildRequires: (php-composer(php-cs-fixer/phpunit-constraint-isidenticalstring) >= 1.2 with php-composer(php-cs-fixer/phpunit-constraint-isidenticalstring) < 2) +BuildRequires: (php-composer(php-cs-fixer/phpunit-constraint-xmlmatchesxsd) >= 1.2.1 with php-composer(php-cs-fixer/phpunit-constraint-xmlmatchesxsd) < 2) +BuildRequires: (php-composer(phpspec/prophecy-phpunit) >= 2.0 with php-composer(phpspec/prophecy-phpunit) < 3) +BuildRequires: (php-composer(phpunitgoodpractices/polyfill) >= 1.5 with php-composer(phpunitgoodpractices/polyfill) < 2) +BuildRequires: (php-composer(phpunitgoodpractices/traits) >= 1.9.1 with php-composer(phpunitgoodpractices/traits) < 2) +BuildRequires: (php-composer(sanmai/phpunit-legacy-adapter) >= 8.2.1 with php-composer(sanmai/phpunit-legacy-adapter) < 9) +# remirepo:11 +%else +BuildRequires: php-justinrainbow-json-schema5 +BuildRequires: php-mikey179-vfsstream >= 1.6 +BuildRequires: php-cs-fixer-accessible-object +BuildRequires: php-cs-fixer-phpunit-constraint-isidenticalstring >= 1.2 +BuildRequires: php-cs-fixer-phpunit-constraint-xmlmatchesxsd >= 1.2.1 +BuildRequires: php-phpspec-prophecy-phpunit >= 2.0 +BuildRequires: php-phpunitgoodpractices-polyfill >= 1.5 +BuildRequires: php-phpunitgoodpractices-traits >= 1.9.1 +BuildRequires: php-sanmai-phpunit-legacy-adapter >= 8.2.1 +%endif +%global phpunit %{_bindir}/phpunit9 +BuildRequires: phpunit9 >= 9.4.4 +%endif +# Autoloader +BuildRequires: php-fedora-autoloader-devel + +# From composer.json, "require": { +# "php": "^5.6 || ^7.0 || ^8.0", +# "ext-json": "*", +# "ext-tokenizer": "*", +# "composer/semver": "^1.4 || ^2.0 || ^3.0", +# "composer/xdebug-handler": "^1.2 || ^2.0", +# "doctrine/annotations": "^1.2", +# "php-cs-fixer/diff": "^1.3", +# "symfony/console": "^3.4.43 || ^4.1.6 || ^5.0", +# "symfony/event-dispatcher": "^3.0 || ^4.0 || ^5.0", +# "symfony/filesystem": "^3.0 || ^4.0 || ^5.0", +# "symfony/finder": "^3.0 || ^4.0 || ^5.0", +# "symfony/options-resolver": "^3.0 || ^4.0", +# "symfony/polyfill-php70": "^1.0", +# "symfony/polyfill-php72": "^1.4", +# "symfony/polyfill-xml": "^1.3", +# "symfony/process": "^3.0 || ^4.0 || ^5.0", +# "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0" +Requires: php(language) >= 7.2 +Requires: php-json +Requires: php-tokenizer +# remirepo:1 +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Requires: (php-composer(composer/semver) >= 3.0 with php-composer(composer/semver) < 4) +Requires: (php-composer(composer/xdebug-handler) >= 2.0 with php-composer(composer/xdebug-handler) < 3) +Requires: (php-composer(doctrine/annotations) >= 1.2 with php-composer(doctrine/annotations) < 2) +Requires: (php-composer(sebastian/diff) >= 1.4 with php-composer(sebastian/diff) < 2) +# remirepo:6 +%else +Requires: php-composer-semver3 >= 3.0 +Requires: php-composer-xdebug-handler2 >= 2.0 +Requires: php-doctrine-annotations >= 1.2 +Requires: php-phpunit-diff >= 1.4 +%endif +Requires: php-symfony3-console +Requires: php-symfony3-event-dispatcher +Requires: php-symfony3-filesystem +Requires: php-symfony3-finder +Requires: php-symfony3-options-resolver +Requires: php-symfony3-process +Requires: php-symfony3-stopwatch +# Missing dependency for Console +Requires: php-symfony3-debug +# From composer.json, "suggest": { +# "ext-dom": "For handling output formats in XML", +# "ext-mbstring": "For handling non-UTF8 characters.", +# "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.", +# "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.", +# "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." +Requires: php-dom +Requires: php-mbstring +# remirepo:1 +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Recommends: php-composer(php-cs-fixer/phpunit-constraint-isidenticalstring) +Recommends: php-composer(php-cs-fixer/phpunit-constraint-xmlmatchesxsd) +# remirepo:1 +%endif +# From phpcompatinfo report for version 2.4.0 +Requires: php-cli +Requires: php-reflection +Requires: php-pcre +Requires: php-phar +Requires: php-spl +Requires: php-xml +# Autoloader +Requires: php-composer(fedora/autoloader) + +Provides: bundled(php-cs-fixer/diff) = %{gh_diff_version} +Provides: php-composer(friendsofphp/php-cs-fixer) = %{version} + + +%description +The PHP Coding Standards Fixer tool fixes most issues in your code when you +want to follow the PHP coding standards as defined in the PSR-1 and PSR-2 +documents and many more. + +If you are already using a linter to identify coding standards problems in +your code, you know that fixing them by hand is tedious, especially on large +projects. This tool does not only detect them, but also fixes them for you. + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} -a1 +%patch0 -p1 -b .rpm +mv diff-%{gh_diff_commit}/src src/diff + +find src -name \*rpm -delete -print + +# Fix version +sed -e '/VERSION/s/-DEV//' -i src/Console/Application.php + +# from composer.json, "autoload" / "classmap" +TESTS=" + tests/Test/AbstractFixerTestCase.php + tests/Test/AbstractIntegrationCaseFactory.php + tests/Test/AbstractIntegrationTestCase.php + tests/Test/Assert/AssertTokensTrait.php + tests/Test/IntegrationCase.php + tests/Test/IntegrationCaseFactory.php + tests/Test/IntegrationCaseFactoryInterface.php + tests/Test/InternalIntegrationCaseFactory.php + tests/Test/IsIdenticalConstraint.php + tests/Test/TokensWithObservedTransformers.php + tests/TestCase.php +" +for i in $TESTS; do + mkdir -p src/$(dirname $i) + cp -p $i src/$i +done + +# fix dev-tools path +sed -e 's:../../../ci:ci:' -i src/Console/Command/HelpCommand.php +cp -pr ci-integration.sh src/Console/Command/ + +# tolerant because conditional definition in tests/TestCase.php +phpab --template fedora \ + --tolerant \ + --output src/autoload.php \ + src/tests src/diff + +cat << 'EOF' | tee -a src/autoload.php + +\Fedora\Autoloader\Autoload::addPsr4('PhpCsFixer\\', __DIR__); +\Fedora\Autoloader\Dependencies::required([ + '%{php_home}/Composer/Semver3/autoload.php', + '%{php_home}/Composer/XdebugHandler2/autoload.php', + '%{php_home}/Doctrine/Common/Annotations/autoload.php', + '%{php_home}/Symfony3/Component/Console/autoload.php', + '%{php_home}/Symfony3/Component/EventDispatcher/autoload.php', + '%{php_home}/Symfony3/Component/Filesystem/autoload.php', + '%{php_home}/Symfony3/Component/Finder/autoload.php', + '%{php_home}/Symfony3/Component/OptionsResolver/autoload.php', + '%{php_home}/Symfony3/Component/Process/autoload.php', + '%{php_home}/Symfony3/Component/Stopwatch/autoload.php', +]); +\Fedora\Autoloader\Dependencies::optional([ + '%{php_home}/PhpCsFixer/PhpunitConstraintIsIdenticalString/autoload.php', + '%{php_home}/PhpCsFixer/PhpunitConstraintXmlMatchesXsd/autoload.php', +]); +EOF + + +%build +# Empty build section, most likely nothing required. + + +%install +: Library +mkdir -p %{buildroot}%{php_home} +cp -pr src %{buildroot}%{php_home}/PhpCsFixer + +: Command +install -Dpm755 %{name} %{buildroot}%{_bindir}/%{name} + + +%check +%if %{with_tests} +mkdir vendor +cat << 'EOF' | tee vendor/autoload.php +<?php +// Force version for local, when both versions are available +\Fedora\Autoloader\Dependencies::required([ + '%{php_home}/org/bovigo/vfs/autoload.php', + '%{php_home}/JsonSchema5/autoload.php', + '%{php_home}/PhpCsFixer/AccessibleObject/autoload.php', + '%{php_home}/Prophecy/PhpUnit/autoload.php', + '%{php_home}/LegacyPHPUnit/autoload.php', + '%{php_home}/PHPUnitGoodPractices/Polyfill/autoload.php', + '%{buildroot}%{php_home}/PhpCsFixer/autoload.php', + '%{php_home}/Symfony3/Component/Yaml/autoload.php', + __DIR__ . '/ExpectDeprecationTrait.php', +]); +\Fedora\Autoloader\Autoload::addPsr4('PhpCsFixer\\Tests\\', dirname(__DIR__) . '/tests'); +EOF + +cat << 'EOF' | tee vendor/ExpectDeprecationTrait.php +<?php + +namespace Symfony\Bridge\PhpUnit; + +trait ExpectDeprecationTrait /* Fake trait which skip test relying on it */ +{ + public function expectDeprecation(): void + { + $this->markTestSkipped("no Symfony v5"); + } +} +EOF + +# test using keradus/cli-executor +rm tests/Smoke/CiIntegrationTest.php +rm tests/Smoke/StdinTest.php +rm tests/Smoke/InstallViaComposerTest.php +# strange failure +rm tests/Fixtures/Integration/priority/combine_consecutive_issets,no_singleline_whitespace_before_semicolons.test +# test checking documentation +rm tests/AutoReview/DocumentationTest.php + +# Disable listener +sed -e '/<listeners>/,/<\/listeners>/d' phpunit.xml.dist >phpunit.xml +sed -e '/ExpectDeprecationTrait/d' \ + -i tests/Fixer/CastNotation/LowercaseCastFixerTest.php tests/Fixer/CastNotation/ShortScalarCastFixerTest.php +# skip as rely on composer autoloader for phpunit +rm tests/Fixer/PhpUnit/PhpUnitNamespacedFixerTest.php +rm tests/AutoReview/ProjectCodeTest.php + +# Redirect to buildroot +sed -e 's:%{php_home}:%{buildroot}%{php_home}:' -i %{name} + +ret=0 +# skip testFix74Deprecated as we don't use symfony/phpunit-bridge +for cmdarg in "php %{phpunit}" php73 php74 php80; do + if which $cmdarg; then + set $cmdarg + $1 -d memory_limit=2G ${2:-%{_bindir}/phpunit9} \ + --filter '^((?!(testFixerContainsAllPhpunitStaticMethodsInItsList|testFix74Deprecated|testFixersPriorityPairsHaveIntegrationTest|testThereAreNoExtraFiles|testFixersDocumentationIndexFileIsUpToDate|testInheritance|testFixerDefinitions)).)*$' \ + || ret=1 + fi +done +exit $ret +%else +: Test suite disabled +%endif + + +%files +# remirepo:1 +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc composer.json +%doc *.md +%{php_home}/PhpCsFixer +%{_bindir}/%{name} + + +%changelog +* Tue May 4 2021 Remi Collet <remi@remirepo.net> - 2.19.0-1 +- update to 2.19.0 + +* Tue Apr 20 2021 Remi Collet <remi@remirepo.net> - 2.18.6-1 +- update to 2.18.6 +- switch to composer/xdebug-handler version 2 + +* Wed Apr 7 2021 Remi Collet <remi@remirepo.net> - 2.18.5-1 +- update to 2.18.5 + +* Mon Mar 22 2021 Remi Collet <remi@remirepo.net> - 2.18.4-1 +- update to 2.18.4 + +* Thu Mar 11 2021 Remi Collet <remi@remirepo.net> - 2.18.3-1 +- update to 2.18.3 + +* Tue Jan 26 2021 Remi Collet <remi@remirepo.net> - 2.18.2-1 +- update to 2.18.2 + +* Fri Jan 22 2021 Remi Collet <remi@remirepo.net> - 2.18.1-1 +- update to 2.18.1 + +* Mon Jan 18 2021 Remi Collet <remi@remirepo.net> - 2.18.0-1 +- update to 2.18.0 + +* Mon Jan 4 2021 Remi Collet <remi@remirepo.net> - 2.17.3-1 +- update to 2.17.3 + +* Mon Dec 21 2020 Remi Collet <remi@remirepo.net> - 2.17.2-1 +- update to 2.17.2 +- switch to phpunit9 + with phpspec/prophecy-phpunit and sanmai/phpunit-legacy-adapter + +* Wed Dec 9 2020 Remi Collet <remi@remirepo.net> - 2.17.1-1 +- update to 2.17.1 + +* Tue Dec 8 2020 Remi Collet <remi@remirepo.net> - 2.17.0-1 +- update to 2.17.0 + +* Wed Oct 28 2020 Remi Collet <remi@remirepo.net> - 2.16.7-1 +- update to 2.16.7 +- raise dependency on composer/semver v3 + +* Mon Oct 26 2020 Remi Collet <remi@remirepo.net> - 2.16.4-3 +- raise dependency on PHP 7.2 +- drop dependency on symfony-polyfill + +* Mon Jun 29 2020 Remi Collet <remi@remirepo.net> - 2.16.4-1 +- update to 2.16.4 + +* Thu Apr 16 2020 Remi Collet <remi@remirepo.net> - 2.16.3-1 +- update to 2.16.3 + +* Mon Apr 13 2020 Remi Collet <remi@remirepo.net> - 2.16.2-1 +- update to 2.16.2 + +* Tue Nov 26 2019 Remi Collet <remi@remirepo.net> - 2.16.1-1 +- update to 2.16.1 + +* Mon Nov 4 2019 Remi Collet <remi@remirepo.net> - 2.16.0-1 +- update to 2.16.0 + +* Sun Sep 1 2019 Remi Collet <remi@remirepo.net> - 2.15.3-1 +- update to 2.15.3 + +* Thu Aug 29 2019 Remi Collet <remi@remirepo.net> - 2.15.2-1 +- update to 2.15.2 + +* Tue Jun 4 2019 Remi Collet <remi@remirepo.net> - 2.15.1-1 +- update to 2.15.1 + +* Mon May 6 2019 Remi Collet <remi@remirepo.net> - 2.15.0-1 +- update to 2.15.0 +- add patch for libpcre2 10.33 from + https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/4406 + +* Mon Feb 18 2019 Remi Collet <remi@remirepo.net> - 2.14.2-1 +- update to 2.14.2 (no change) + +* Mon Feb 11 2019 Remi Collet <remi@remirepo.net> - 2.14.1-1 +- update to 2.14.1 + +* Sat Jan 5 2019 Remi Collet <remi@remirepo.net> - 2.14.0-1 +- update to 2.14.0 + +* Wed Jan 2 2019 Remi Collet <remi@remirepo.net> - 2.13.2-1 +- update to 2.13.2 + +* Tue Dec 11 2018 Remi Collet <remi@remirepo.net> - 2.13.1-2 +- skip 1 test failing with PHPUnit 7.5 + +* Sun Oct 21 2018 Remi Collet <remi@remirepo.net> - 2.13.1-1 +- update to 2.13.1 + +* Fri Aug 24 2018 Remi Collet <remi@remirepo.net> - 2.13.0-1 +- update to 2.13.0 + +* Mon Aug 20 2018 Remi Collet <remi@remirepo.net> - 2.12.3-1 +- update to 2.12.3 +- raise dependency on composer/xdebug-handler 1.2 + +* Fri Jul 6 2018 Remi Collet <remi@remirepo.net> - 2.12.2-1 +- update to 2.12.2 + +* Mon Jun 11 2018 Remi Collet <remi@remirepo.net> - 2.12.1-1 +- update to 2.12.1 + +* Tue Jun 5 2018 Remi Collet <remi@remirepo.net> - 2.12.0-2 +- add weak dependency on php-cs-fixer/phpunit-constraint-isidenticalstring +- add weak dependency on php-cs-fixer/phpunit-constraint-xmlmatchesxsd + +* Mon Jun 4 2018 Remi Collet <remi@remirepo.net> - 2.12.0-1 +- update to 2.12.0 +- add dependency on composer/xdebug-handler +- add build dependency on php-cs-fixer/phpunit-constraint-isidenticalstring +- add build dependency on php-cs-fixer/phpunit-constraint-xmlmatchesxsd + +* Thu Mar 22 2018 Remi Collet <remi@remirepo.net> - 2.11.1-1 +- update to 2.11.1 + +* Wed Mar 21 2018 Remi Collet <remi@remirepo.net> - 2.11.0-1 +- update to 2.11.0 +- use phpunit7 on F28+ + +* Thu Mar 8 2018 Remi Collet <remi@remirepo.net> - 2.10.4-1 +- update to 2.10.4 + +* Fri Feb 23 2018 Remi Collet <remi@remirepo.net> - 2.10.3-1 +- Update to 2.10.3 +- drop dependency on gecko-packages/gecko-php-unit +- update bundled php-cs-fixer/diff to 1.3.0 + +* Tue Feb 6 2018 Remi Collet <remi@remirepo.net> - 2.10.2-1 +- Update to 2.10.2 +- use range dependencies on F27+ + +* Thu Jan 11 2018 Remi Collet <remi@remirepo.net> - 2.10.0-1 +- Update to 2.10.0 + +* Thu Dec 28 2017 Remi Collet <remi@remirepo.net> - 2.9.0-2 +- mikey179/vfsStream only required at builtime + +* Sat Dec 9 2017 Remi Collet <remi@remirepo.net> - 2.9.0-1 +- Update to 2.9.0 + +* Mon Nov 27 2017 Remi Collet <remi@remirepo.net> - 2.8.3-1 +- Update to 2.8.3 +- open https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/3279 + bad tag for 2.8.3 + +* Mon Nov 20 2017 Remi Collet <remi@remirepo.net> - 2.8.2-1 +- Update to 2.8.2 + +* Fri Nov 10 2017 Remi Collet <remi@remirepo.net> - 2.8.1-1 +- Update to 2.8.1 + +* Tue Nov 7 2017 Remi Collet <remi@remirepo.net> - 2.8.0-3 +- fix FTBFS from Koschei using symfony package names + +* Fri Nov 3 2017 Remi Collet <remi@remirepo.net> - 2.8.0-2 +- use phpunit6 and php-gecko-packages-gecko-php-unit3 on F26+ + +* Fri Nov 3 2017 Remi Collet <remi@remirepo.net> - 2.8.0-1 +- Update to 2.8.0 + +* Mon Oct 2 2017 Remi Collet <remi@remirepo.net> - 2.7.1-1 +- Update to 2.7.1 + +* Mon Oct 2 2017 Remi Collet <remi@remirepo.net> - 2.7.0-1 +- Update to 2.7.0 +- drop dependency on sebastian/diff, bundle fork instead + +* Mon Oct 2 2017 Remi Collet <remi@remirepo.net> - 2.6.1-1 +- Update to 2.6.1 + +* Tue Sep 12 2017 Remi Collet <remi@remirepo.net> - 2.6.0-1 +- Update to 2.6.0 +- add dependency on composer/semver + +* Wed Aug 23 2017 Remi Collet <remi@remirepo.net> - 2.5.0-1 +- Update to 2.5.0 +- add dependency on php-cs-fixer/accessible-object +- raise dependency on symfony 3.2 + +* Thu Aug 3 2017 Remi Collet <remi@remirepo.net> - 2.4.0-1 +- Update to 2.4.0 +- add dependency on symfony/polyfill-php72 + +* Thu May 25 2017 Remi Collet <remi@remirepo.net> - 2.3.2-1 +- Update to 2.3.2 +- add dependency on gecko-packages/gecko-php-unit + +* Tue May 9 2017 Remi Collet <remi@remirepo.net> - 2.3.1-1 +- Update to 2.3.1 +- raise dependency on PHP 5.6 +- raise dependency on Symfony 3 + +* Wed Apr 26 2017 Remi Collet <remi@remirepo.net> - 2.2.3-1 +- Update to 2.2.3 + +* Mon Apr 24 2017 Remi Collet <remi@remirepo.net> - 2.2.2-1 +- Update to 2.2.2 +- raise dependency on sebastian/diff >= 1.4 + +* Mon Apr 10 2017 Remi Collet <remi@remirepo.net> - 2.2.1-1 +- Update to 2.2.1 + +* Sat Apr 1 2017 Remi Collet <remi@remirepo.net> - 2.2.0-1 +- Update to 2.2.0 +- add dependency on doctrine/annotations +- add dependency on symfony/options-resolver +- raise dependency on symfony 2.6 +- fix autoloader to allow Symfony 3 + +* Fri Mar 31 2017 Remi Collet <remi@remirepo.net> - 2.1.3-1 +- Update to 2.1.3 +- add dependency on php-mbstring + +* Wed Mar 15 2017 Remi Collet <remi@remirepo.net> - 2.1.2-1 +- Update to 2.1.2 + +* Fri Mar 3 2017 Remi Collet <remi@remirepo.net> - 2.1.1-1 +- Update to 2.1.1 + +* Sat Feb 11 2017 Remi Collet <remi@fedoraproject.org> - 2.1.0-1 +- update to 2.1.0 +- add dependency on symfony/polyfill-php55 (for EPEL-7) + +* Thu Feb 9 2017 Remi Collet <remi@fedoraproject.org> - 2.0.1-1 +- update to 2.0.1 + +* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 2.0.0-1 +- update to 2.0.0 + +* Tue Nov 29 2016 Remi Collet <remi@fedoraproject.org> - 1.13.0-1 +- update to 1.13.0 + +* Tue Nov 15 2016 Remi Collet <remi@fedoraproject.org> - 1.12.4-1 +- update to 1.12.4 + +* Sun Oct 30 2016 Remi Collet <remi@fedoraproject.org> - 1.12.3-1 +- update to 1.12.3 +- switch from symfony/class-loader to fedora/autoloader + +* Tue Sep 27 2016 Remi Collet <remi@fedoraproject.org> - 1.12.2-1 +- update to 1.12.2 + +* Fri Sep 9 2016 Remi Collet <remi@fedoraproject.org> - 1.12.1-1 +- initial package, version 1.12.1 + |