From 2afe0cfac073fbbda011c08267b68165bb2ad3ae Mon Sep 17 00:00:00 2001 From: "Ronald E. Oribio" Date: Fri, 20 Dec 2019 16:30:35 -0600 Subject: [PATCH 1/4] Update README.md: Add information about releases and versioning --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index a3dabd9e..3a3d1658 100644 --- a/README.md +++ b/README.md @@ -13,5 +13,20 @@ - `php bin/svc compare` - Compare a set of files to determine what semantic versioning change needs to be done. - `php bin/svc update-breaking-changes` - Update the file with a list of backward incompatible changes between two sources. +### Releases & Versioning + +#### Releases + +- Magento-semver development should happen against the `develop` branch. +- New releases will shipped monthly. However, new releases will only occur if the `develop` branch has diverged from the `master` branch. +- If a hot-fix needs to be applied, a new release may be cut at any time. If this happens, the release cycle does not change. + +#### Versioning + +- Versions will be handled via GitHub Tags. +- Only `MAJOR` versions, as understood by the Semantic Versioning specification, are allowed; e.g.: increasing from version `2.0.0` to version `3.0.0`. +- With each new version, the `composer.json` file must be updated to match the new target version before creating a tag. +- After a new version is released, `magento-semver` will be packaged and published to `repo.magento.com` for consumption. + ## Tests - `vendor/bin/phpunit -c tests/Unit/phpunit.xml.dist` From 2e19e12ba2f69fdeb451ce0837b83ee6d515d574 Mon Sep 17 00:00:00 2001 From: Peter Dohogne Date: Thu, 27 Feb 2020 01:20:51 -0600 Subject: [PATCH 2/4] COMOPS-908: Updating compatibility with the BIC doc generator (#25) --- composer.json | 2 +- src/Analyzer/AbstractCodeAnalyzer.php | 13 +++ src/Analyzer/ClassAnalyzer.php | 34 ++++--- src/Analyzer/InterfaceAnalyzer.php | 26 ++++-- src/Analyzer/TraitAnalyzer.php | 19 +++- src/MergedReport.php | 37 ++++++++ src/ReportBuilder.php | 16 +++- src/Reporter/BreakingChangeTableReporter.php | 13 +-- tests/Unit/MergedReportTest.php | 96 ++++++++++++++++++++ 9 files changed, 219 insertions(+), 37 deletions(-) create mode 100644 src/MergedReport.php create mode 100644 tests/Unit/MergedReportTest.php diff --git a/composer.json b/composer.json index 6b913a83..c622dfc4 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "magento/magento-semver", "description": "Magento semantic version checker", - "version": "2.0.0", + "version": "3.0.0", "license": [ "OSL-3.0", "AFL-3.0" diff --git a/src/Analyzer/AbstractCodeAnalyzer.php b/src/Analyzer/AbstractCodeAnalyzer.php index 3c623c60..1bf4d16a 100644 --- a/src/Analyzer/AbstractCodeAnalyzer.php +++ b/src/Analyzer/AbstractCodeAnalyzer.php @@ -237,4 +237,17 @@ protected function getFileName($context, $nodeName, $isBefore = true) { return $isBefore ? $this->fileBefore : $this->fileAfter; } + + /** + * Gets the AbstractCodeAnalyzers for content analysis (ex: method analyzer for classes) + * + * @param string $context + * @param string $fileBefore + * @param string $fileAfter + * @return AbstractCodeAnalyzer[] + */ + protected function getContentAnalyzers($context, $fileBefore, $fileAfter) + { + return []; + } } diff --git a/src/Analyzer/ClassAnalyzer.php b/src/Analyzer/ClassAnalyzer.php index 1d9056a1..51b4b8a2 100644 --- a/src/Analyzer/ClassAnalyzer.php +++ b/src/Analyzer/ClassAnalyzer.php @@ -108,18 +108,7 @@ protected function reportChanged($report, $registryBefore, $registryAfter, $toVe $classAfter = $afterNameMap[$key]; if ($classBefore !== $classAfter) { - /** - * @var AnalyzerInterface[] $analyzers -*/ - $analyzers = [ - new ClassMethodAnalyzer(static::CONTEXT, $fileBefore, $fileAfter, $this->dependencyGraph), - new PropertyAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - new ClassConstantAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - new ClassMethodExceptionAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - new ClassImplementsAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - new ClassExtendsAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - new ClassTraitAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - ]; + $analyzers = $this->getContentAnalyzers(static::CONTEXT, $fileBefore, $fileAfter); foreach ($analyzers as $analyzer) { $internalReport = $analyzer->analyze($classBefore, $classAfter); @@ -129,6 +118,27 @@ protected function reportChanged($report, $registryBefore, $registryAfter, $toVe } } + /** + * Get the list of content analyzers + * + * @param string $context + * @param string $fileBefore + * @param string $fileAfter + * @return AbstractCodeAnalyzer[] + */ + protected function getContentAnalyzers($context, $fileBefore, $fileAfter) + { + return [ + new ClassMethodAnalyzer($context, $fileBefore, $fileAfter, $this->dependencyGraph), + new PropertyAnalyzer($context, $fileBefore, $fileAfter), + new ClassConstantAnalyzer($context, $fileBefore, $fileAfter), + new ClassMethodExceptionAnalyzer($context, $fileBefore, $fileAfter), + new ClassImplementsAnalyzer($context, $fileBefore, $fileAfter), + new ClassExtendsAnalyzer($context, $fileBefore, $fileAfter), + new ClassTraitAnalyzer($context, $fileBefore, $fileAfter), + ]; + } + /** * Get the class node registry * diff --git a/src/Analyzer/InterfaceAnalyzer.php b/src/Analyzer/InterfaceAnalyzer.php index d03c4e36..165ef39f 100644 --- a/src/Analyzer/InterfaceAnalyzer.php +++ b/src/Analyzer/InterfaceAnalyzer.php @@ -118,13 +118,7 @@ protected function reportChanged($report, $registryBefore, $registryAfter, $toVe $interfaceAfter = $afterNameMap[$key]; if ($interfaceBefore !== $interfaceAfter) { - /** @var AnalyzerInterface[] $analyzers */ - $analyzers = [ - new ClassMethodAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - new ClassConstantAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - new ClassMethodExceptionAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - new InterfaceExtendsAnalyzer(static::CONTEXT, $fileBefore, $fileAfter) - ]; + $analyzers = $this->getContentAnalyzers(static::CONTEXT, $fileBefore, $fileAfter); foreach ($analyzers as $analyzer) { $internalReport = $analyzer->analyze($interfaceBefore, $interfaceAfter); @@ -133,4 +127,22 @@ protected function reportChanged($report, $registryBefore, $registryAfter, $toVe } } } + + /** + * Get the list of content analyzers + * + * @param string $context + * @param string $fileBefore + * @param string $fileAfter + * @return AbstractCodeAnalyzer[] + */ + protected function getContentAnalyzers($context, $fileBefore, $fileAfter) + { + return [ + new ClassMethodAnalyzer($context, $fileBefore, $fileAfter), + new ClassConstantAnalyzer($context, $fileBefore, $fileAfter), + new ClassMethodExceptionAnalyzer($context, $fileBefore, $fileAfter), + new InterfaceExtendsAnalyzer($context, $fileBefore, $fileAfter) + ]; + } } diff --git a/src/Analyzer/TraitAnalyzer.php b/src/Analyzer/TraitAnalyzer.php index 1f127274..084996a7 100644 --- a/src/Analyzer/TraitAnalyzer.php +++ b/src/Analyzer/TraitAnalyzer.php @@ -115,11 +115,7 @@ protected function reportChanged($report, $registryBefore, $registryAfter, $toVe if ($traitBefore !== $traitAfter) { $fileBefore = $this->getFileName($registryBefore, $traitName); $fileAfter = $this->getFileName($registryAfter, $traitName); - - /** @var AbstractCodeAnalyzer[] $analyzers */ - $analyzers = [ - new ClassMethodAnalyzer(static::CONTEXT, $fileBefore, $fileAfter), - ]; + $analyzers = $this->getContentAnalyzers(static::CONTEXT, $fileBefore, $fileAfter); foreach ($analyzers as $analyzer) { $internalReport = $analyzer->analyze($traitBefore, $traitAfter); @@ -128,4 +124,17 @@ protected function reportChanged($report, $registryBefore, $registryAfter, $toVe } } } + + /** + * Get the list of content analyzers + * + * @param string $context + * @param string $fileBefore + * @param string $fileAfter + * @return AbstractCodeAnalyzer[] + */ + protected function getContentAnalyzers($context, $fileBefore, $fileAfter) + { + return [new ClassMethodAnalyzer($context, $fileBefore, $fileAfter)]; + } } diff --git a/src/MergedReport.php b/src/MergedReport.php new file mode 100644 index 00000000..da9eab90 --- /dev/null +++ b/src/MergedReport.php @@ -0,0 +1,37 @@ +differences as $context => $levels) { + if (!key_exists($context, $this->differences)) { + $this->differences[$context] = $levels; + } else { + foreach ($levels as $level => $differences) { + $this->differences[$context][$level] = array_merge( + $this->differences[$context][$level], + $differences + ); + } + } + } + + return $this; + } +} diff --git a/src/ReportBuilder.php b/src/ReportBuilder.php index fc4c4820..3e7f93d9 100644 --- a/src/ReportBuilder.php +++ b/src/ReportBuilder.php @@ -44,9 +44,9 @@ class ReportBuilder /** * Define analyzer factory list for the different report types. - * @var array + * @var string[] */ - private $analyzerList = [ + private $analyzerFactoryClasses = [ ReportTypes::API => AnalyzerFactory::class, ReportTypes::ALL => NonApiAnalyzerFactory::class, ReportTypes::DB_SCHEMA => DbSchemaAnalyzerFactory::class, @@ -118,6 +118,16 @@ protected function makeVersionReport() return $report; } + /** + * Get the mapping of report type -> analyzer factory + * + * @return string[] + */ + protected function getAnalyzerFactoryClasses() + { + return $this->analyzerFactoryClasses; + } + /** * Create a report based on type * @@ -161,7 +171,7 @@ protected function buildReport() /** * @var AnalyzerFactoryInterface $factory */ - foreach ($this->analyzerList as $reportType => $factory) { + foreach ($this->getAnalyzerFactoryClasses() as $reportType => $factory) { /** @var AnalyzerInterface $analyzer */ $analyzer = (new $factory())->create($dependencyMap); $tmpReport = $analyzer->analyze( diff --git a/src/Reporter/BreakingChangeTableReporter.php b/src/Reporter/BreakingChangeTableReporter.php index 12160eb2..3ae55e7f 100644 --- a/src/Reporter/BreakingChangeTableReporter.php +++ b/src/Reporter/BreakingChangeTableReporter.php @@ -51,20 +51,15 @@ public function __construct($apiChangeReport, $apiMembershipReport, $targetFile) */ public function output(OutputInterface $output) { - $contexts = [ - 'class', - 'function', - 'interface', - 'trait', - 'database', - ]; + $reportContexts = array_keys($this->report->getDifferences()); + $membershipContexts = array_keys($this->membershipReport->getDifferences()); - foreach ($contexts as $context) { + foreach ($reportContexts as $context) { $header = static::formatSectionHeader($this->targetFile, $context, 'breaking-change'); $this->outputChangeReport($output, $this->report, $context, $header); } - foreach ($contexts as $context) { + foreach ($membershipContexts as $context) { $header = static::formatSectionHeader($this->targetFile, $context, 'api-membership'); $this->outputChangeReport($output, $this->membershipReport, $context, $header); } diff --git a/tests/Unit/MergedReportTest.php b/tests/Unit/MergedReportTest.php new file mode 100644 index 00000000..d2146445 --- /dev/null +++ b/tests/Unit/MergedReportTest.php @@ -0,0 +1,96 @@ +createMock(ClassConstructorOptionalParameterAdded::class)]; + $diffsWithDatabase['class'][Level::MINOR] = [ + $this->createMock(ClassExtendsAdded::class), + $this->createMock(ClassMethodOptionalParameterAdded::class) + ]; + $diffsWithDatabase['database'][Level::MAJOR] = [$this->createMock(DropForeignKey::class)]; + $databaseReport = new InjectableReport($diffsWithDatabase); + + $diffsWithXml = []; + $diffsWithXml['class'][Level::MAJOR] = [$this->createMock(ClassConstantRemoved::class)]; + $diffsWithXml['class'][Level::MINOR] = [$this->createMock(ClassImplementsAdded::class)]; + $diffsWithXml['xml'][Level::MINOR] = [$this->createMock(FieldAdded::class)]; + $xmlReport = new InjectableReport($diffsWithXml); + + /** @var MockObject|ClassTraitAdded $preMergeOperation */ + $preMergeOperation = $this->createMock(ClassTraitAdded::class); + $preMergeOperation->expects($this->any())->method('getLevel')->willReturn(Level::MINOR); + + $mergedReport = new MergedReport(); + $mergedReport->addClass($preMergeOperation); + $mergedReport->merge($databaseReport); + $mergedReport->merge($xmlReport); + + $mergedDiffs = $mergedReport->getDifferences(); + $this->assertTrue(key_exists('database', $mergedDiffs)); + $this->assertTrue(key_exists('xml', $mergedDiffs)); + $this->assertTrue($this->hasAllDifferences($mergedReport, $databaseReport)); + $this->assertTrue($this->hasAllDifferences($mergedReport, $xmlReport)); + $this->assertTrue(array_search($preMergeOperation, $mergedDiffs['class'][Level::MINOR]) !== false); + } + + /** + * Checks if a merged report contains all differences in another report + + * @param Report $mergedReport + * @param Report $inputReport + * @return bool + */ + private function hasAllDifferences($mergedReport, $inputReport) + { + $mergedDiffs = $mergedReport->getDifferences(); + $inputDiffs = $inputReport->getDifferences(); + foreach ($inputDiffs as $context => $levels) { + if (!key_exists($context, $mergedDiffs)) { + return false; + } + $mergedLevels = $mergedDiffs[$context]; + foreach ($levels as $level => $operations) { + if (!key_exists($level, $mergedLevels)) { + return false; + } + $mergedOperations = $mergedLevels[$level]; + foreach ($operations as $operation) { + if (array_search($operation, $mergedOperations) === false) { + return false; + } + } + } + } + return true; + } +} From 0133113139f218ae8df1b6c9bed9775459593bdd Mon Sep 17 00:00:00 2001 From: "Ronald E. Oribio R" Date: Thu, 27 Feb 2020 15:41:45 -0600 Subject: [PATCH 3/4] EQPS-477: SVC Enhancements (#26) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * EQPS-477: Dynamically set the correct path for autoload.php based on the location of the ‘vendor’ folder * EQPS-477: Make zend-stdlib a required dependency --- bin/svc | 7 +- composer.json | 8 +- composer.lock | 250 ++++++++++--------- src/Console/Command/CompareSourceCommand.php | 1 - tests/Unit/bootstrap.php | 2 + 5 files changed, 138 insertions(+), 130 deletions(-) diff --git a/bin/svc b/bin/svc index be55b2b5..e7d44a64 100755 --- a/bin/svc +++ b/bin/svc @@ -5,7 +5,12 @@ * See COPYING.txt for license details. */ -require __DIR__ . '/../vendor/autoload.php'; +foreach ([__DIR__ . '/../../../autoload.php', __DIR__ . '/../vendor/autoload.php'] as $file) { + if (file_exists($file)) { + require $file; + break; + } +} use Symfony\Component\Console\Application; use Magento\SemanticVersionChecker\Console\Command\CompareSourceCommand; diff --git a/composer.json b/composer.json index c622dfc4..8ab62f61 100644 --- a/composer.json +++ b/composer.json @@ -9,14 +9,14 @@ "bin": ["bin/svc"], "require": { "php": "~7.1.3||~7.2.0||~7.3.0", - "tomzx/php-semver-checker": "^0.13.0", - "symfony/console": "~4.4.0", "phpstan/phpdoc-parser": "^0.3.5", - "wikimedia/less.php": "~1.8.0" + "symfony/console": "~4.4.0", + "tomzx/php-semver-checker": "^0.13.0", + "wikimedia/less.php": "~1.8.0", + "zendframework/zend-stdlib": "^3.2.1" }, "require-dev": { "phpunit/phpunit": "^6.5.0", - "zendframework/zend-stdlib": "^3.2.1", "squizlabs/php_codesniffer": "^3.5" }, "autoload": { diff --git a/composer.lock b/composer.lock index 9fde2d16..a02995c1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "07b4b290401cf106d2b9b89300c03a8f", + "content-hash": "bcf7e3c8b1127bce7f252f930c24435e", "packages": [ { "name": "hassankhan/config", @@ -212,16 +212,16 @@ }, { "name": "symfony/console", - "version": "v4.4.1", + "version": "v4.4.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201" + "reference": "f512001679f37e6a042b51897ed24a2f05eba656" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f0aea3df20d15635b3cb9730ca5eea1c65b7f201", - "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201", + "url": "https://api.github.com/repos/symfony/console/zipball/f512001679f37e6a042b51897ed24a2f05eba656", + "reference": "f512001679f37e6a042b51897ed24a2f05eba656", "shasum": "" }, "require": { @@ -284,20 +284,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-12-01T10:06:17+00:00" + "time": "2020-01-25T12:44:29+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", "shasum": "" }, "require": { @@ -309,7 +309,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -342,20 +342,20 @@ "polyfill", "portable" ], - "time": "2019-11-27T13:56:44+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" + "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2", + "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2", "shasum": "" }, "require": { @@ -367,7 +367,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -401,20 +401,20 @@ "portable", "shim" ], - "time": "2019-11-27T14:18:11+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f" + "reference": "5e66a0fa1070bf46bec4bea7962d285108edd675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f", - "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/5e66a0fa1070bf46bec4bea7962d285108edd675", + "reference": "5e66a0fa1070bf46bec4bea7962d285108edd675", "shasum": "" }, "require": { @@ -423,7 +423,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -459,24 +459,24 @@ "portable", "shim" ], - "time": "2019-11-27T16:25:15+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.0.1", + "version": "v1.1.8", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "144c5e51266b281231e947b51223ba14acf1a749" + "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", - "reference": "144c5e51266b281231e947b51223ba14acf1a749", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffc7f5692092df31515df2a5ecf3b7302b3ddacf", + "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf", "shasum": "" }, "require": { - "php": "^7.2.5", + "php": "^7.1.3", "psr/container": "^1.0" }, "suggest": { @@ -485,7 +485,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "1.1-dev" } }, "autoload": { @@ -517,20 +517,20 @@ "interoperability", "standards" ], - "time": "2019-11-18T17:27:11+00:00" + "time": "2019-10-14T12:27:06+00:00" }, { "name": "symfony/yaml", - "version": "v4.4.1", + "version": "v4.4.4", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "76de473358fe802578a415d5bb43c296cf09d211" + "reference": "cd014e425b3668220adb865f53bff64b3ad21767" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/76de473358fe802578a415d5bb43c296cf09d211", - "reference": "76de473358fe802578a415d5bb43c296cf09d211", + "url": "https://api.github.com/repos/symfony/yaml/zipball/cd014e425b3668220adb865f53bff64b3ad21767", + "reference": "cd014e425b3668220adb865f53bff64b3ad21767", "shasum": "" }, "require": { @@ -576,7 +576,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-11-12T14:51:11+00:00" + "time": "2020-01-21T11:12:16+00:00" }, { "name": "tomzx/finder", @@ -689,23 +689,23 @@ }, { "name": "wikimedia/less.php", - "version": "1.8.2", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/wikimedia/less.php.git", - "reference": "e238ad228d74b6ffd38209c799b34e9826909266" + "reference": "f0f7768f6fa8a9d2ac6a0274f6f477c72159bf9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/less.php/zipball/e238ad228d74b6ffd38209c799b34e9826909266", - "reference": "e238ad228d74b6ffd38209c799b34e9826909266", + "url": "https://api.github.com/repos/wikimedia/less.php/zipball/f0f7768f6fa8a9d2ac6a0274f6f477c72159bf9b", + "reference": "f0f7768f6fa8a9d2ac6a0274f6f477c72159bf9b", "shasum": "" }, "require": { - "php": ">=7.2.9" + "php": ">=5.3" }, "require-dev": { - "phpunit/phpunit": "7.5.14" + "phpunit/phpunit": "~4.8.24" }, "bin": [ "bin/lessc" @@ -724,10 +724,6 @@ "Apache-2.0" ], "authors": [ - { - "name": "Josh Schmidt", - "homepage": "https://github.com/oyejorge" - }, { "name": "Matt Agar", "homepage": "https://github.com/agar" @@ -735,6 +731,10 @@ { "name": "Martin Jantošovič", "homepage": "https://github.com/Mordred" + }, + { + "name": "Josh Schmidt", + "homepage": "https://github.com/oyejorge" } ], "description": "PHP port of the Javascript version of LESS http://lesscss.org (Originally maintained by Josh Schmidt)", @@ -746,7 +746,54 @@ "php", "stylesheet" ], - "time": "2019-11-06T18:30:11+00:00" + "time": "2019-01-19T01:01:33+00:00" + }, + { + "name": "zendframework/zend-stdlib", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "66536006722aff9e62d1b331025089b7ec71c065" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/66536006722aff9e62d1b331025089b7ec71c065", + "reference": "66536006722aff9e62d1b331025089b7ec71c065", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpbench/phpbench": "^0.13", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev", + "dev-develop": "3.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "SPL extensions, array utilities, error handlers, and more", + "keywords": [ + "ZendFramework", + "stdlib", + "zf" + ], + "abandoned": "laminas/laminas-stdlib", + "time": "2018-08-28T21:34:05+00:00" } ], "packages-dev": [ @@ -808,16 +855,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.9.3", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", - "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", "shasum": "" }, "require": { @@ -852,7 +899,7 @@ "object", "object graph" ], - "time": "2019-08-09T12:45:53+00:00" + "time": "2020-01-17T21:11:47+00:00" }, { "name": "phar-io/manifest", @@ -1010,16 +1057,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.2", + "version": "4.3.4", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", - "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", + "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", "shasum": "" }, "require": { @@ -1031,6 +1078,7 @@ "require-dev": { "doctrine/instantiator": "^1.0.5", "mockery/mockery": "^1.0", + "phpdocumentor/type-resolver": "0.4.*", "phpunit/phpunit": "^6.4" }, "type": "library", @@ -1057,7 +1105,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-09-12T14:27:41+00:00" + "time": "2019-12-28T18:55:12+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -1108,33 +1156,33 @@ }, { "name": "phpspec/prophecy", - "version": "1.9.0", + "version": "v1.10.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" + "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", - "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b4400efc9d206e83138e2bb97ed7f5b14b831cd9", + "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" + "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", + "phpspec/phpspec": "^2.5 || ^3.2", "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.10.x-dev" } }, "autoload": { @@ -1167,7 +1215,7 @@ "spy", "stub" ], - "time": "2019-10-03T11:07:50+00:00" + "time": "2020-01-20T15:57:02+00:00" }, { "name": "phpunit/php-code-coverage", @@ -1489,8 +1537,8 @@ "authors": [ { "name": "Sebastian Bergmann", - "role": "lead", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], "description": "The PHP Unit Testing framework.", @@ -2123,16 +2171,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.5.3", + "version": "3.5.4", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "557a1fc7ac702c66b0bbfe16ab3d55839ef724cb" + "reference": "dceec07328401de6211037abbb18bda423677e26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/557a1fc7ac702c66b0bbfe16ab3d55839ef724cb", - "reference": "557a1fc7ac702c66b0bbfe16ab3d55839ef724cb", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/dceec07328401de6211037abbb18bda423677e26", + "reference": "dceec07328401de6211037abbb18bda423677e26", "shasum": "" }, "require": { @@ -2170,7 +2218,7 @@ "phpcs", "standards" ], - "time": "2019-12-04T04:46:47+00:00" + "time": "2020-01-30T22:20:29+00:00" }, { "name": "theseer/tokenizer", @@ -2214,16 +2262,16 @@ }, { "name": "webmozart/assert", - "version": "1.6.0", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925" + "reference": "aed98a490f9a8f78468232db345ab9cf606cf598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925", + "url": "https://api.github.com/repos/webmozart/assert/zipball/aed98a490f9a8f78468232db345ab9cf606cf598", + "reference": "aed98a490f9a8f78468232db345ab9cf606cf598", "shasum": "" }, "require": { @@ -2258,53 +2306,7 @@ "check", "validate" ], - "time": "2019-11-24T13:36:37+00:00" - }, - { - "name": "zendframework/zend-stdlib", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "66536006722aff9e62d1b331025089b7ec71c065" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/66536006722aff9e62d1b331025089b7ec71c065", - "reference": "66536006722aff9e62d1b331025089b7ec71c065", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpbench/phpbench": "^0.13", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", - "zendframework/zend-coding-standard": "~1.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev", - "dev-develop": "3.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Stdlib\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "SPL extensions, array utilities, error handlers, and more", - "keywords": [ - "ZendFramework", - "stdlib", - "zf" - ], - "time": "2018-08-28T21:34:05+00:00" + "time": "2020-02-14T12:15:55+00:00" } ], "aliases": [], diff --git a/src/Console/Command/CompareSourceCommand.php b/src/Console/Command/CompareSourceCommand.php index 96f0ccd0..cdc479ed 100644 --- a/src/Console/Command/CompareSourceCommand.php +++ b/src/Console/Command/CompareSourceCommand.php @@ -93,7 +93,6 @@ protected function execute(InputInterface $input, OutputInterface $cliOutput) $sourceAfterDirArg = $input->getArgument('source-after'); $sourceAfterDir = realpath($sourceAfterDirArg); $allowedChangeLevel = $input->getArgument('allowed-change-level'); - $includePatternsPath = $input->getOption('include-patterns'); $excludePatternsPath = $input->getOption('exclude-patterns'); $logOutputPath = $input->getOption('log-output-location'); diff --git a/tests/Unit/bootstrap.php b/tests/Unit/bootstrap.php index 63f52e97..102df91e 100644 --- a/tests/Unit/bootstrap.php +++ b/tests/Unit/bootstrap.php @@ -1,4 +1,5 @@ Date: Mon, 2 Mar 2020 11:09:49 -0600 Subject: [PATCH 4/4] Adjusting symfony requirement and bumping version number (#29) Co-authored-by: Peter Dohogne --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 8ab62f61..19ed2473 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "magento/magento-semver", "description": "Magento semantic version checker", - "version": "3.0.0", + "version": "4.0.0", "license": [ "OSL-3.0", "AFL-3.0" @@ -10,7 +10,7 @@ "require": { "php": "~7.1.3||~7.2.0||~7.3.0", "phpstan/phpdoc-parser": "^0.3.5", - "symfony/console": "~4.4.0", + "symfony/console": "~4.1.0||~4.4.0", "tomzx/php-semver-checker": "^0.13.0", "wikimedia/less.php": "~1.8.0", "zendframework/zend-stdlib": "^3.2.1"