From 95828382c36a8a6bdb44f25e3834332beacb4791 Mon Sep 17 00:00:00 2001 From: Chris Boden Date: Mon, 30 Jan 2012 17:51:21 -0500 Subject: [PATCH 1/4] Composer Removed git submodules Added composer.json file for deps and info --- .gitmodules | 3 --- composer.json | 23 +++++++++++++++++++++++ vendor/README.md | 5 ----- vendor/guzzle | 1 - 4 files changed, 23 insertions(+), 9 deletions(-) delete mode 100644 .gitmodules create mode 100644 composer.json delete mode 100644 vendor/README.md delete mode 160000 vendor/guzzle diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 40105df..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "vendor/guzzle"] - path = vendor/guzzle - url = git://github.com/guzzle/guzzle.git diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..e890714 --- /dev/null +++ b/composer.json @@ -0,0 +1,23 @@ +{ + "name": "cboden/Ratchet" + , "type": "library" + , "description": "PHP WebSocket server component library" + , "keywords": ["WebSocket"] + , "license": "MIT" + , "authors": [ + { + "name": "Chris Boden" + , "email": "cboden@gmail.com" + , "homepage": "http://socketo.me" + } + ] + , "autoload": { + "psr-0": { + "Ratchet": "src/" + } + } + , "require": { + "php": ">=5.3.2" + , "guzzle/guzzle": ">=2.0.5" + } +} \ No newline at end of file diff --git a/vendor/README.md b/vendor/README.md deleted file mode 100644 index 03f7f86..0000000 --- a/vendor/README.md +++ /dev/null @@ -1,5 +0,0 @@ -## External Libraries - -### Guzzle - -Used to parse the incoming HTTP handshake request. A Guzzle Request object is then passed around the application for a consistent API. \ No newline at end of file diff --git a/vendor/guzzle b/vendor/guzzle deleted file mode 160000 index ac64abc..0000000 --- a/vendor/guzzle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ac64abc2c05b921efc4623379c1674a282475ae5 From c18cc18bb8235290b9d57d94329d887abaf052fe Mon Sep 17 00:00:00 2001 From: Chris Boden Date: Mon, 30 Jan 2012 21:41:49 -0500 Subject: [PATCH 2/4] Working Composer Deps, versioning, autoloader from composer implemented --- .gitignore | 3 ++- composer.json | 8 ++++++-- composer.lock | 21 +++++++++++++++++++++ tests/bootstrap.php | 10 +--------- 4 files changed, 30 insertions(+), 12 deletions(-) create mode 100644 composer.lock diff --git a/.gitignore b/.gitignore index 2a2625d..4da07a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ phpunit.xml coverage docs -sandbox \ No newline at end of file +sandbox +vendor diff --git a/composer.json b/composer.json index e890714..b5fdc13 100644 --- a/composer.json +++ b/composer.json @@ -3,17 +3,21 @@ , "type": "library" , "description": "PHP WebSocket server component library" , "keywords": ["WebSocket"] + , "homepage": "http://socketo.me" + , "repository": "https://github.com/cboden/Ratchet" , "license": "MIT" + , "version": "0.1" , "authors": [ { "name": "Chris Boden" , "email": "cboden@gmail.com" - , "homepage": "http://socketo.me" + , "homepage": "http://res.im" } ] , "autoload": { "psr-0": { - "Ratchet": "src/" + "Ratchet\\Tests": "tests" + , "Ratchet": "lib" } } , "require": { diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..35761a5 --- /dev/null +++ b/composer.lock @@ -0,0 +1,21 @@ +{ + "hash": "f237c18d57c8cda8acb08f4d1e917930", + "packages": [ + { + "package": "doctrine\/common", + "version": "master-dev" + }, + { + "package": "symfony\/validator", + "version": "2.1.0-dev" + }, + { + "package": "symfony\/event-dispatcher", + "version": "2.1.0-dev" + }, + { + "package": "guzzle\/guzzle", + "version": "master-dev" + } + ] +} \ No newline at end of file diff --git a/tests/bootstrap.php b/tests/bootstrap.php index d8416df..259d106 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -1,11 +1,3 @@ register(); - - $app = new SplClassLoader('Ratchet', dirname(__DIR__) . DIRECTORY_SEPARATOR . 'lib'); - $app->register(); - - $app = new SplClassLoader('Guzzle', dirname(__DIR__) . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'guzzle' . DIRECTORY_SEPARATOR . 'src'); - $app->register(); \ No newline at end of file + require_once dirname(__DIR__) . '/vendor/.composer/autoload.php'; \ No newline at end of file From 6f244fc65903656dd05d6706c67799104dd82f26 Mon Sep 17 00:00:00 2001 From: Chris Boden Date: Mon, 30 Jan 2012 21:52:29 -0500 Subject: [PATCH 3/4] Vendor spec Manually overrode Guzzle in composer to not fetch Guzzle's reps as they're not needed for what's used in Ratchet Removed SplClassLoader in favour of Composer's CladdLoader --- composer.json | 21 +++++- composer.lock | 18 +---- tests/SplClassLoader.php | 139 --------------------------------------- 3 files changed, 23 insertions(+), 155 deletions(-) delete mode 100644 tests/SplClassLoader.php diff --git a/composer.json b/composer.json index b5fdc13..33bdac6 100644 --- a/composer.json +++ b/composer.json @@ -20,8 +20,27 @@ , "Ratchet": "lib" } } + , "repositories": { + "guzzle": { + "package": { + "name": "guzzle" + , "type": "library" + , "version": "2.0.2" + , "autoload": { + "psr-0": { + "Guzzle": "src" + } + } + , "source": { + "url": "https://github.com/guzzle/guzzle.git" + , "type": "git" + , "reference": "ac64abc2c05b921efc4623379c1674a282475ae5" + } + } + } + } , "require": { "php": ">=5.3.2" - , "guzzle/guzzle": ">=2.0.5" + , "guzzle": "2.0.2" } } \ No newline at end of file diff --git a/composer.lock b/composer.lock index 35761a5..7b8b66e 100644 --- a/composer.lock +++ b/composer.lock @@ -1,21 +1,9 @@ { - "hash": "f237c18d57c8cda8acb08f4d1e917930", + "hash": "75f85f47f6365abbeeabb065601c6ec2", "packages": [ { - "package": "doctrine\/common", - "version": "master-dev" - }, - { - "package": "symfony\/validator", - "version": "2.1.0-dev" - }, - { - "package": "symfony\/event-dispatcher", - "version": "2.1.0-dev" - }, - { - "package": "guzzle\/guzzle", - "version": "master-dev" + "package": "guzzle", + "version": "2.0.2" } ] } \ No newline at end of file diff --git a/tests/SplClassLoader.php b/tests/SplClassLoader.php deleted file mode 100644 index 4cba7a3..0000000 --- a/tests/SplClassLoader.php +++ /dev/null @@ -1,139 +0,0 @@ -register(); - * - * @author Jonathan H. Wage - * @author Roman S. Borschel - * @author Matthew Weier O'Phinney - * @author Kris Wallsmith - * @author Fabien Potencier - */ -class SplClassLoader -{ - private $_fileExtension = '.php'; - private $_namespace; - private $_includePath; - private $_namespaceSeparator = '\\'; - - /** - * Creates a new SplClassLoader that loads classes of the - * specified namespace. - * - * @param string $ns The namespace to use. - */ - public function __construct($ns = null, $includePath = null) - { - $this->_namespace = $ns; - $this->_includePath = $includePath; - } - - /** - * Sets the namespace separator used by classes in the namespace of this class loader. - * - * @param string $sep The separator to use. - */ - public function setNamespaceSeparator($sep) - { - $this->_namespaceSeparator = $sep; - } - - /** - * Gets the namespace seperator used by classes in the namespace of this class loader. - * - * @return void - */ - public function getNamespaceSeparator() - { - return $this->_namespaceSeparator; - } - - /** - * Sets the base include path for all class files in the namespace of this class loader. - * - * @param string $includePath - */ - public function setIncludePath($includePath) - { - $this->_includePath = $includePath; - } - - /** - * Gets the base include path for all class files in the namespace of this class loader. - * - * @return string $includePath - */ - public function getIncludePath() - { - return $this->_includePath; - } - - /** - * Sets the file extension of class files in the namespace of this class loader. - * - * @param string $fileExtension - */ - public function setFileExtension($fileExtension) - { - $this->_fileExtension = $fileExtension; - } - - /** - * Gets the file extension of class files in the namespace of this class loader. - * - * @return string $fileExtension - */ - public function getFileExtension() - { - return $this->_fileExtension; - } - - /** - * Installs this class loader on the SPL autoload stack. - */ - public function register() - { - spl_autoload_register(array($this, 'loadClass')); - } - - /** - * Uninstalls this class loader from the SPL autoloader stack. - */ - public function unregister() - { - spl_autoload_unregister(array($this, 'loadClass')); - } - - /** - * Loads the given class or interface. - * - * @param string $className The name of the class to load. - * @return void - */ - public function loadClass($className) - { - if (null === $this->_namespace || $this->_namespace.$this->_namespaceSeparator === substr($className, 0, strlen($this->_namespace.$this->_namespaceSeparator))) { - $fileName = ''; - $namespace = ''; - if (false !== ($lastNsPos = strripos($className, $this->_namespaceSeparator))) { - $namespace = substr($className, 0, $lastNsPos); - $className = substr($className, $lastNsPos + 1); - $fileName = str_replace($this->_namespaceSeparator, DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; - } - $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . $this->_fileExtension; - $filePath = ($this->_includePath !== null ? $this->_includePath . DIRECTORY_SEPARATOR : '') . $fileName; - - if (is_file($filePath)) { - require $filePath; - } - } - } -} \ No newline at end of file From d0e730ddfe2f430a3965151789c0e14b9d9848ae Mon Sep 17 00:00:00 2001 From: Chris Boden Date: Mon, 30 Jan 2012 23:17:21 -0500 Subject: [PATCH 4/4] Travis CI Added config file for travis-ci.org --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e7263f6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +language: php +php: + - 5.3 +before_script: + - wget --quiet http://getcomposer.org/composer.phar + - php composer.phar install +script: phpunit