From 5e43c4e044df1d21467402f95604fdaeb2ffd318 Mon Sep 17 00:00:00 2001 From: Claudio Zizza Date: Sun, 7 Dec 2014 23:00:19 +0100 Subject: [PATCH 01/16] Dummy commands created for testing custom command behaviour --- tests/Dummies/Command/MyCommand.php | 13 +++++++++++++ tests/Dummies/Command/MyInconsistentCommand.php | 11 +++++++++++ 2 files changed, 24 insertions(+) create mode 100644 tests/Dummies/Command/MyCommand.php create mode 100644 tests/Dummies/Command/MyInconsistentCommand.php diff --git a/tests/Dummies/Command/MyCommand.php b/tests/Dummies/Command/MyCommand.php new file mode 100644 index 0000000..20469e3 --- /dev/null +++ b/tests/Dummies/Command/MyCommand.php @@ -0,0 +1,13 @@ + Date: Sun, 7 Dec 2014 23:00:55 +0100 Subject: [PATCH 02/16] tests for command factory created --- Mage/Command/Factory.php | 3 ++ tests/MageTest/Command/FactoryTest.php | 55 ++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 tests/MageTest/Command/FactoryTest.php diff --git a/Mage/Command/Factory.php b/Mage/Command/Factory.php index 4088239..d5668ee 100644 --- a/Mage/Command/Factory.php +++ b/Mage/Command/Factory.php @@ -43,14 +43,17 @@ class Factory // try a custom command $className = 'Command\\' . $commandName; + // TODO use a custom exception if (!class_exists($className)) { throw new Exception('Command "' . $commandName . '" not found.'); } } /** @var AbstractCommand $instance */ + // TODO dependencies like $config should be injected into constructor $instance = new $className; if (! $instance instanceOf AbstractCommand) { + // TODO use a custom exception throw new Exception('The command ' . $commandName . ' must be an instance of Mage\Command\AbstractCommand.'); } diff --git a/tests/MageTest/Command/FactoryTest.php b/tests/MageTest/Command/FactoryTest.php new file mode 100644 index 0000000..8607622 --- /dev/null +++ b/tests/MageTest/Command/FactoryTest.php @@ -0,0 +1,55 @@ +config = $this->getMock('Mage\Config'); + } + + public function testGet() + { + $command = Factory::get('add', $this->config); + $this->assertInstanceOf('Mage\\Command\\BuiltIn\\AddCommand', $command); + } + + /** + * @expectedException \Exception + */ + public function testGetClassNotFoundException() + { + $command = Factory::get('commanddoesntexist', $this->config); + } + + public function testGetCustomCommand() + { + $command = Factory::get('my-command', $this->config); + $this->assertInstanceOf('Command\\MyCommand', $command); + } + + /** + * @expectedException \Exception + * @expectedExceptionMessage The command MyInconsistentCommand must be an instance of Mage\Command\AbstractCommand. + */ + public function testGetInconsistencyException() + { + $command = Factory::get('my-inconsistent-command', $this->config); + } +} From 8752790b3ffc8ae6f3cbf98b1f0b69978b5b6fa8 Mon Sep 17 00:00:00 2001 From: Kuba Turek Date: Sun, 1 Feb 2015 12:02:22 +0100 Subject: [PATCH 03/16] [#185] Create release directory for GitRebase strategy if releases are enabled --- .../BuiltIn/Deployment/Strategy/GitRebaseTask.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php b/Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php index b19e06e..65d8c76 100644 --- a/Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php +++ b/Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php @@ -34,6 +34,17 @@ class GitRebaseTask extends BaseStrategyTaskAbstract implements IsReleaseAware */ public function run() { + $this->checkOverrideRelease(); + + if ($this->getConfig()->release('enabled', false) == true) { + $releasesDirectory = $this->getConfig()->release('directory', 'releases'); + + $deployToDirectory = rtrim($this->getConfig()->deployment('to'), '/') + . '/' . $releasesDirectory + . '/' . $this->getConfig()->getReleaseId(); + $this->runCommandRemote('mkdir -p ' . $deployToDirectory . '/' . $this->getConfig()->getReleaseId()); + } + $branch = $this->getParameter('branch', 'master'); $remote = $this->getParameter('remote', 'origin'); From 24b893bd7c5aa6be01d05c026d527190449fff02 Mon Sep 17 00:00:00 2001 From: Kuba Turek Date: Fri, 6 Feb 2015 20:50:07 +0100 Subject: [PATCH 04/16] Fix remote deployment path for GitRebaseTask --- Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php b/Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php index 65d8c76..801fa73 100644 --- a/Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php +++ b/Mage/Task/BuiltIn/Deployment/Strategy/GitRebaseTask.php @@ -42,7 +42,7 @@ class GitRebaseTask extends BaseStrategyTaskAbstract implements IsReleaseAware $deployToDirectory = rtrim($this->getConfig()->deployment('to'), '/') . '/' . $releasesDirectory . '/' . $this->getConfig()->getReleaseId(); - $this->runCommandRemote('mkdir -p ' . $deployToDirectory . '/' . $this->getConfig()->getReleaseId()); + $this->runCommandRemote('mkdir -p ' . $deployToDirectory); } $branch = $this->getParameter('branch', 'master'); From 3a19d3ef3c513e542780857b6bad2225dc774022 Mon Sep 17 00:00:00 2001 From: spongeben Date: Mon, 9 Feb 2015 14:43:33 +0100 Subject: [PATCH 05/16] Fix release directory not created on first deploy --- Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php b/Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php index 3555ce0..cd8f648 100644 --- a/Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php +++ b/Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php @@ -73,11 +73,13 @@ class RsyncTask extends BaseStrategyTaskAbstract implements IsReleaseAware // rsync: { copy: yes } $rsync_copy = $this->getConfig()->deployment('rsync'); // If copy_tool_rsync, use rsync rather than cp for finer control of what is copied - if ($rsync_copy && is_array($rsync_copy) && $rsync_copy['copy'] && isset($rsync_copy['copy_tool_rsync'])) { - $this->runCommandRemote("rsync -a {$this->excludes(array_merge($excludes, $rsync_copy['rsync_excludes']))} " + if ($rsync_copy && is_array($rsync_copy) && $rsync_copy['copy'] && is_dir("$releasesDirectory/$currentRelease")) { + if (isset($rsync_copy['copy_tool_rsync'])) { + $this->runCommandRemote("rsync -a {$this->excludes(array_merge($excludes, $rsync_copy['rsync_excludes']))} " . "$releasesDirectory/$currentRelease/ $releasesDirectory/{$this->getConfig()->getReleaseId()}"); - } elseif ($rsync_copy && is_array($rsync_copy) && $rsync_copy['copy']) { - $this->runCommandRemote('cp -R ' . $releasesDirectory . '/' . $currentRelease . ' ' . $releasesDirectory . '/' . $this->getConfig()->getReleaseId()); + } else { + $this->runCommandRemote('cp -R ' . $releasesDirectory . '/' . $currentRelease . ' ' . $releasesDirectory . '/' . $this->getConfig()->getReleaseId()); + } } else { $this->runCommandRemote('mkdir -p ' . $releasesDirectory . '/' . $this->getConfig()->getReleaseId()); } From aab71eceac19697f33fea8abf73f19b8eb0e84cf Mon Sep 17 00:00:00 2001 From: spongeben Date: Mon, 9 Feb 2015 14:44:34 +0100 Subject: [PATCH 06/16] Change "current" symlink owner only if it exists --- Mage/Task/BuiltIn/Deployment/ReleaseTask.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Mage/Task/BuiltIn/Deployment/ReleaseTask.php b/Mage/Task/BuiltIn/Deployment/ReleaseTask.php index 4ecf586..095116e 100644 --- a/Mage/Task/BuiltIn/Deployment/ReleaseTask.php +++ b/Mage/Task/BuiltIn/Deployment/ReleaseTask.php @@ -74,12 +74,13 @@ class ReleaseTask extends AbstractTask implements IsReleaseAware, SkipOnOverride } } - if ($resultFetch && $userGroup != '') { - $command = 'chown -h ' . $userGroup . ' ' . $symlink - . ' && ' - . 'chown -R ' . $userGroup . ' ' . $currentCopy + if ($resultFetch && $userGroup != '') { + $command = 'chown -R ' . $userGroup . ' ' . $currentCopy . ' && ' . 'chown ' . $userGroup . ' ' . $releasesDirectory; + if (file_exists($symlink)) { + $command.= ' && ' . 'chown -h ' . $userGroup . ' ' . $symlink; + } $result = $this->runCommandRemote($command); if (!$result) { return $result; From 6c5aaa04da0d573f2c2bddd27ce78183c787efab Mon Sep 17 00:00:00 2001 From: Claudio Zizza Date: Mon, 9 Feb 2015 22:38:43 +0100 Subject: [PATCH 07/16] dummy classes of Command Factory tests removed --- tests/Dummies/Command/MyCommand.php | 13 ------------- tests/Dummies/Command/MyInconsistentCommand.php | 11 ----------- 2 files changed, 24 deletions(-) delete mode 100644 tests/Dummies/Command/MyCommand.php delete mode 100644 tests/Dummies/Command/MyInconsistentCommand.php diff --git a/tests/Dummies/Command/MyCommand.php b/tests/Dummies/Command/MyCommand.php deleted file mode 100644 index 20469e3..0000000 --- a/tests/Dummies/Command/MyCommand.php +++ /dev/null @@ -1,13 +0,0 @@ - Date: Mon, 9 Feb 2015 22:40:08 +0100 Subject: [PATCH 08/16] dummy classes replaced with mocks for Command Factory tests --- tests/MageTest/Command/FactoryTest.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/tests/MageTest/Command/FactoryTest.php b/tests/MageTest/Command/FactoryTest.php index 8607622..982ee56 100644 --- a/tests/MageTest/Command/FactoryTest.php +++ b/tests/MageTest/Command/FactoryTest.php @@ -4,16 +4,12 @@ namespace MageTest\Command; use Mage\Command\Factory; use PHPUnit_Framework_TestCase; -use PHPUnit_Framework_Constraint_IsInstanceOf; - -require_once(__DIR__ . '/../../Dummies/Command/MyCommand.php'); -require_once(__DIR__ . '/../../Dummies/Command/MyInconsistentCommand.php'); /** * @group Mage_Command * @group Mage_Command_Factory * - * @todo test case for naming convention + * @group issue-167 */ class FactoryTest extends PHPUnit_Framework_TestCase { @@ -40,6 +36,16 @@ class FactoryTest extends PHPUnit_Framework_TestCase public function testGetCustomCommand() { + $this->getMockBuilder('Mage\\Command\\AbstractCommand') + ->setMockClassName('MyCommand') + ->getMock(); + + /** + * current workaround + * @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/134 + */ + class_alias('MyCommand', 'Command\\MyCommand'); + $command = Factory::get('my-command', $this->config); $this->assertInstanceOf('Command\\MyCommand', $command); } @@ -50,6 +56,8 @@ class FactoryTest extends PHPUnit_Framework_TestCase */ public function testGetInconsistencyException() { + $this->getMock('Command\\MyInconsistentCommand'); + $command = Factory::get('my-inconsistent-command', $this->config); } } From 8bd7f6c56c2ce7035fbbd9cf2f6ba92eb420f590 Mon Sep 17 00:00:00 2001 From: Claudio Zizza Date: Wed, 11 Feb 2015 21:21:19 +0100 Subject: [PATCH 09/16] phpunit annotations added --- tests/MageTest/Command/FactoryTest.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/MageTest/Command/FactoryTest.php b/tests/MageTest/Command/FactoryTest.php index 982ee56..1920e21 100644 --- a/tests/MageTest/Command/FactoryTest.php +++ b/tests/MageTest/Command/FactoryTest.php @@ -20,6 +20,9 @@ class FactoryTest extends PHPUnit_Framework_TestCase $this->config = $this->getMock('Mage\Config'); } + /** + * @covers Factory::get + */ public function testGet() { $command = Factory::get('add', $this->config); @@ -28,12 +31,16 @@ class FactoryTest extends PHPUnit_Framework_TestCase /** * @expectedException \Exception + * @covers Factory::get */ public function testGetClassNotFoundException() { $command = Factory::get('commanddoesntexist', $this->config); } + /** + * @covers Factory::get + */ public function testGetCustomCommand() { $this->getMockBuilder('Mage\\Command\\AbstractCommand') @@ -42,7 +49,7 @@ class FactoryTest extends PHPUnit_Framework_TestCase /** * current workaround - * @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/134 + * @link https://github.com/sebastianbergmann/phpunit-mock-objects/issues/134 */ class_alias('MyCommand', 'Command\\MyCommand'); @@ -53,6 +60,7 @@ class FactoryTest extends PHPUnit_Framework_TestCase /** * @expectedException \Exception * @expectedExceptionMessage The command MyInconsistentCommand must be an instance of Mage\Command\AbstractCommand. + * @covers Factory::get */ public function testGetInconsistencyException() { From 5207b29958604eaed6481e58fe5f8b391c4f918d Mon Sep 17 00:00:00 2001 From: Jakub Turek Date: Tue, 17 Feb 2015 21:22:07 +0100 Subject: [PATCH 10/16] Remove "covers" annotations for static methods --- tests/MageTest/Command/FactoryTest.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tests/MageTest/Command/FactoryTest.php b/tests/MageTest/Command/FactoryTest.php index 1920e21..b91f9b6 100644 --- a/tests/MageTest/Command/FactoryTest.php +++ b/tests/MageTest/Command/FactoryTest.php @@ -20,9 +20,6 @@ class FactoryTest extends PHPUnit_Framework_TestCase $this->config = $this->getMock('Mage\Config'); } - /** - * @covers Factory::get - */ public function testGet() { $command = Factory::get('add', $this->config); @@ -31,16 +28,12 @@ class FactoryTest extends PHPUnit_Framework_TestCase /** * @expectedException \Exception - * @covers Factory::get */ public function testGetClassNotFoundException() { $command = Factory::get('commanddoesntexist', $this->config); } - /** - * @covers Factory::get - */ public function testGetCustomCommand() { $this->getMockBuilder('Mage\\Command\\AbstractCommand') @@ -60,7 +53,6 @@ class FactoryTest extends PHPUnit_Framework_TestCase /** * @expectedException \Exception * @expectedExceptionMessage The command MyInconsistentCommand must be an instance of Mage\Command\AbstractCommand. - * @covers Factory::get */ public function testGetInconsistencyException() { From 013ff021b82b3b1a3ab0521a02c06f7bda629767 Mon Sep 17 00:00:00 2001 From: Jakub Turek Date: Sat, 14 Feb 2015 13:28:26 +0100 Subject: [PATCH 11/16] Remove --dev option for composer in .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5d2fb0d..ff20249 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,4 +7,4 @@ php: - 5.6 install: - - composer install --dev --prefer-source + - composer install --prefer-source From a5f62defc21f0e4feaf80e616142f330e35e085e Mon Sep 17 00:00:00 2001 From: Jakub Turek Date: Sat, 14 Feb 2015 13:33:42 +0100 Subject: [PATCH 12/16] Add php-coveralls package --- composer.json | 3 +- composer.lock | 457 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 458 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 5295d56..6f15d6c 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,8 @@ "php": ">=5.3" }, "require-dev": { - "phpunit/phpunit": "4.3.5" + "phpunit/phpunit": "4.3.5", + "satooshi/php-coveralls": ">=0.6.1" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index a927b43..27dc528 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "7a55b88add493fbc9910519e7e9c3a3b", + "hash": "1d7731080777ac20d5b200b8b1309f9e", "packages": [], "packages-dev": [ { @@ -61,6 +61,98 @@ ], "time": "2014-10-13 12:58:55" }, + { + "name": "guzzle/guzzle", + "version": "v3.9.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle3.git", + "reference": "54991459675c1a2924122afbb0e5609ade581155" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/54991459675c1a2924122afbb0e5609ade581155", + "reference": "54991459675c1a2924122afbb0e5609ade581155", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=5.3.3", + "symfony/event-dispatcher": "~2.1" + }, + "replace": { + "guzzle/batch": "self.version", + "guzzle/cache": "self.version", + "guzzle/common": "self.version", + "guzzle/http": "self.version", + "guzzle/inflection": "self.version", + "guzzle/iterator": "self.version", + "guzzle/log": "self.version", + "guzzle/parser": "self.version", + "guzzle/plugin": "self.version", + "guzzle/plugin-async": "self.version", + "guzzle/plugin-backoff": "self.version", + "guzzle/plugin-cache": "self.version", + "guzzle/plugin-cookie": "self.version", + "guzzle/plugin-curlauth": "self.version", + "guzzle/plugin-error-response": "self.version", + "guzzle/plugin-history": "self.version", + "guzzle/plugin-log": "self.version", + "guzzle/plugin-md5": "self.version", + "guzzle/plugin-mock": "self.version", + "guzzle/plugin-oauth": "self.version", + "guzzle/service": "self.version", + "guzzle/stream": "self.version" + }, + "require-dev": { + "doctrine/cache": "~1.3", + "monolog/monolog": "~1.0", + "phpunit/phpunit": "3.7.*", + "psr/log": "~1.0", + "symfony/class-loader": "~2.1", + "zendframework/zend-cache": "2.*,<2.3", + "zendframework/zend-log": "2.*,<2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.9-dev" + } + }, + "autoload": { + "psr-0": { + "Guzzle": "src/", + "Guzzle\\Tests": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Guzzle Community", + "homepage": "https://github.com/guzzle/guzzle/contributors" + } + ], + "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2014-08-11 04:32:36" + }, { "name": "phpunit/php-code-coverage", "version": "2.0.13", @@ -437,6 +529,112 @@ ], "time": "2014-10-03 05:12:11" }, + { + "name": "psr/log", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", + "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-0": { + "Psr\\Log\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2012-12-21 11:40:51" + }, + { + "name": "satooshi/php-coveralls", + "version": "v0.6.1", + "source": { + "type": "git", + "url": "https://github.com/satooshi/php-coveralls.git", + "reference": "dd0df95bd37a7cf5c5c50304dfe260ffe4b50760" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/dd0df95bd37a7cf5c5c50304dfe260ffe4b50760", + "reference": "dd0df95bd37a7cf5c5c50304dfe260ffe4b50760", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-simplexml": "*", + "guzzle/guzzle": ">=3.0", + "php": ">=5.3", + "psr/log": "1.0.0", + "symfony/config": ">=2.0", + "symfony/console": ">=2.0", + "symfony/stopwatch": ">=2.2", + "symfony/yaml": ">=2.0" + }, + "require-dev": { + "apigen/apigen": "2.8.*@stable", + "pdepend/pdepend": "dev-master", + "phpmd/phpmd": "dev-master", + "phpunit/php-invoker": ">=1.1.0,<1.2.0", + "phpunit/phpunit": "3.7.*@stable", + "sebastian/finder-facade": "dev-master", + "sebastian/phpcpd": "1.4.*@stable", + "squizlabs/php_codesniffer": "1.4.*@stable", + "theseer/fdomdocument": "dev-master" + }, + "bin": [ + "composer/bin/coveralls" + ], + "type": "library", + "autoload": { + "psr-0": { + "Contrib\\Component": "src/", + "Contrib\\Bundle": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kitamura Satoshi", + "email": "with.no.parachute@gmail.com", + "homepage": "https://www.facebook.com/satooshi.jp" + } + ], + "description": "PHP client library for Coveralls API", + "homepage": "https://github.com/satooshi/php-coveralls", + "keywords": [ + "ci", + "coverage", + "github", + "test" + ], + "time": "2013-05-04 08:07:33" + }, { "name": "sebastian/comparator", "version": "1.1.0", @@ -703,6 +901,263 @@ "homepage": "https://github.com/sebastianbergmann/version", "time": "2014-03-07 15:35:33" }, + { + "name": "symfony/config", + "version": "v2.6.4", + "target-dir": "Symfony/Component/Config", + "source": { + "type": "git", + "url": "https://github.com/symfony/Config.git", + "reference": "a9f781ba1221067d1f07c8cec0bc50f81b8d7408" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Config/zipball/a9f781ba1221067d1f07c8cec0bc50f81b8d7408", + "reference": "a9f781ba1221067d1f07c8cec0bc50f81b8d7408", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/filesystem": "~2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\Config\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony Config Component", + "homepage": "http://symfony.com", + "time": "2015-01-21 20:57:55" + }, + { + "name": "symfony/console", + "version": "v2.6.4", + "target-dir": "Symfony/Component/Console", + "source": { + "type": "git", + "url": "https://github.com/symfony/Console.git", + "reference": "e44154bfe3e41e8267d7a3794cd9da9a51cfac34" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Console/zipball/e44154bfe3e41e8267d7a3794cd9da9a51cfac34", + "reference": "e44154bfe3e41e8267d7a3794cd9da9a51cfac34", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1", + "symfony/process": "~2.1" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\Console\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony Console Component", + "homepage": "http://symfony.com", + "time": "2015-01-25 04:39:26" + }, + { + "name": "symfony/event-dispatcher", + "version": "v2.6.4", + "target-dir": "Symfony/Component/EventDispatcher", + "source": { + "type": "git", + "url": "https://github.com/symfony/EventDispatcher.git", + "reference": "f75989f3ab2743a82fe0b03ded2598a2b1546813" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/f75989f3ab2743a82fe0b03ded2598a2b1546813", + "reference": "f75989f3ab2743a82fe0b03ded2598a2b1546813", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.0,>=2.0.5", + "symfony/dependency-injection": "~2.6", + "symfony/expression-language": "~2.6", + "symfony/stopwatch": "~2.3" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "http://symfony.com", + "time": "2015-02-01 16:10:57" + }, + { + "name": "symfony/filesystem", + "version": "v2.6.4", + "target-dir": "Symfony/Component/Filesystem", + "source": { + "type": "git", + "url": "https://github.com/symfony/Filesystem.git", + "reference": "a1f566d1f92e142fa1593f4555d6d89e3044a9b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Filesystem/zipball/a1f566d1f92e142fa1593f4555d6d89e3044a9b7", + "reference": "a1f566d1f92e142fa1593f4555d6d89e3044a9b7", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\Filesystem\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "http://symfony.com", + "time": "2015-01-03 21:13:09" + }, + { + "name": "symfony/stopwatch", + "version": "v2.6.4", + "target-dir": "Symfony/Component/Stopwatch", + "source": { + "type": "git", + "url": "https://github.com/symfony/Stopwatch.git", + "reference": "e8da5286132ba75ce4b4275fbf0f4cd369bfd71c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Stopwatch/zipball/e8da5286132ba75ce4b4275fbf0f4cd369bfd71c", + "reference": "e8da5286132ba75ce4b4275fbf0f4cd369bfd71c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\Stopwatch\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony Stopwatch Component", + "homepage": "http://symfony.com", + "time": "2015-01-03 08:01:59" + }, { "name": "symfony/yaml", "version": "v2.6.1", From b3f29c7920203399cb53f9e53afe8bf4c7423281 Mon Sep 17 00:00:00 2001 From: Jakub Turek Date: Sat, 14 Feb 2015 13:35:12 +0100 Subject: [PATCH 13/16] Coveralls configuration --- .coveralls.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .coveralls.yml diff --git a/.coveralls.yml b/.coveralls.yml new file mode 100644 index 0000000..5069798 --- /dev/null +++ b/.coveralls.yml @@ -0,0 +1,2 @@ +src_dir: Mage +coverage_clover: build/logs/coverage.xml From a4c42479f52e588af8b1a83f851c1869a216d48e Mon Sep 17 00:00:00 2001 From: Jakub Turek Date: Sat, 14 Feb 2015 13:37:11 +0100 Subject: [PATCH 14/16] Adapt travis config to run coveralls --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index ff20249..4a64cff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,3 +8,10 @@ php: install: - composer install --prefer-source + +script: + - mkdir -p build/logs + - bin/phpunit --coverage-clover build/logs/coverage.xml + +after_script: + - bin/coveralls -v From 4ae49658563cd54540333e66086fde55fad61511 Mon Sep 17 00:00:00 2001 From: Jakub Turek Date: Sat, 14 Feb 2015 14:13:43 +0100 Subject: [PATCH 15/16] Add composer-self update to travis.yml --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 4a64cff..13a647c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ php: - 5.6 install: + - composer self-update - composer install --prefer-source script: From 09682a48cd48368136652c817ff5583ff2b37c80 Mon Sep 17 00:00:00 2001 From: Jakub Turek Date: Thu, 19 Feb 2015 20:42:09 +0100 Subject: [PATCH 16/16] Update composer.lock after merging master to develop --- composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index 27dc528..312d535 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "1d7731080777ac20d5b200b8b1309f9e", + "hash": "d82ccc62c52f99a0819bea9b247d4f86", "packages": [], "packages-dev": [ {