siwinski pushed to php-guzzlehttp-ringphp (f22). "Use new $fedoraClassLoader concept in autoloader (..more)"
notifications at fedoraproject.org
notifications at fedoraproject.org
Fri Jun 12 20:32:18 UTC 2015
From d090c3fb279593b24e807d9c3d7ee1701fdb60c9 Mon Sep 17 00:00:00 2001
From: Shawn Iwinski <shawn.iwinski at gmail.com>
Date: Fri, 12 Jun 2015 16:22:06 -0400
Subject: Use new $fedoraClassLoader concept in autoloader
- Remove secondary "tests" directory from tests sub-package
diff --git a/php-guzzlehttp-ringphp.spec b/php-guzzlehttp-ringphp.spec
index e88f647..fd6bca5 100644
--- a/php-guzzlehttp-ringphp.spec
+++ b/php-guzzlehttp-ringphp.spec
@@ -20,10 +20,12 @@
# "php": ">=5.4.0"
%global php_min_ver 5.4.0
# "guzzlehttp/streams": "~3.0"
-%global streams_min_ver 3.0
+# Note: Min version not "3.0" because autoloader required
+%global streams_min_ver 3.0.0-3
%global streams_max_ver 4.0
# "react/promise": "~2.0"
-%global promise_min_ver 2.0
+# Note: Min version not "2.0" because autoloader required
+%global promise_min_ver 2.2.0-4
%global promise_max_ver 3.0
# Build using "--without tests" to disable tests
@@ -34,7 +36,7 @@
Name: php-%{composer_vendor}-%{composer_project}
Version: %{github_version}
-Release: 1%{?github_release}%{?dist}
+Release: 2%{?github_release}%{?dist}
Summary: Simple handler system used to power clients and servers in PHP
Group: Development/Libraries
@@ -49,8 +51,10 @@ BuildRequires: nodejs
BuildRequires: %{_bindir}/phpunit
## composer.json
BuildRequires: php(language) >= %{php_min_ver}
-BuildRequires: php-composer(guzzlehttp/streams) >= %{streams_min_ver}
-BuildRequires: php-composer(react/promise) >= %{promise_min_ver}
+#BuildRequires: php-composer(guzzlehttp/streams) >= %%{streams_min_ver}
+BuildRequires: php-guzzlehttp-streams >= %{streams_min_ver}
+#BuildRequires: php-composer(react/promise) >= %%{promise_min_ver}
+BuildRequires: php-react-promise >= %{promise_min_ver}
BuildRequires: php-curl
## phpcompatinfo (computed from version 1.1.0)
BuildRequires: php-json
@@ -59,26 +63,25 @@ BuildRequires: php-reflection
BuildRequires: php-spl
BuildRequires: php-zlib
## Autoloader
-BuildRequires: php-composer(symfony/class-loader) >= 2.5
-BuildRequires: %{phpdir}/GuzzleHttp/Stream/autoload.php
-BuildRequires: %{phpdir}/React/Promise/autoload.php
+BuildRequires: php-composer(symfony/class-loader)
%endif
# composer.json
Requires: php(language) >= %{php_min_ver}
-Requires: php-composer(guzzlehttp/streams) >= %{streams_min_ver}
-Requires: php-composer(guzzlehttp/streams) < %{streams_max_ver}
-Requires: php-composer(react/promise) >= %{promise_min_ver}
-Requires: php-composer(react/promise) < %{promise_max_ver}
+#Requires: php-composer(guzzlehttp/streams) >= %%{streams_min_ver}
+#Requires: php-composer(guzzlehttp/streams) < %%{streams_max_ver}
+Requires: php-guzzlehttp-streams >= %{streams_min_ver}
+Requires: php-guzzlehttp-streams < %{streams_max_ver}
+#Requires: php-composer(react/promise) >= %%{promise_min_ver}
+#Requires: php-composer(react/promise) < %%{promise_max_ver}
+Requires: php-react-promise >= %{promise_min_ver}
+Requires: php-react-promise < %{promise_max_ver}
# composer.json: optional
Requires: php-curl
# phpcompatinfo (computed from version 1.1.0)
Requires: php-spl
# Autoloader
-Requires: php-composer(symfony/class-loader) >= 2.5
-Requires: php-composer(symfony/class-loader) < 3.0
-Requires: %{phpdir}/GuzzleHttp/Stream/autoload.php
-Requires: %{phpdir}/React/Promise/autoload.php
+Requires: php-composer(symfony/class-loader)
# Composer
Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version}
@@ -101,7 +104,7 @@ clients and servers for both blocking and non-blocking requests.
%package tests
-Summary: %{name} tests
+Summary: Tests for %{name}
Requires: %{name} = %{version}-%{release}
Requires: nodejs
@@ -127,18 +130,25 @@ Requires: php-zlib
<?php
/**
* Autoloader created by %{name}-%{version}-%{release}
+ *
+ * @return \Symfony\Component\ClassLoader\ClassLoader
*/
+if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) {
+ if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) {
+ require_once 'Symfony/Component/ClassLoader/ClassLoader.php';
+ }
+
+ $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();
+ $fedoraClassLoader->register();
+}
+
require_once 'GuzzleHttp/Stream/autoload.php';
require_once 'React/Promise/autoload.php';
-if (!class_exists('Symfony\\Component\\ClassLoader\\Psr4ClassLoader', false)) {
- require_once 'Symfony/Component/ClassLoader/Psr4ClassLoader.php';
-}
+$fedoraClassLoader->addPrefix('GuzzleHttp\\Ring', dirname(dirname(__DIR__)));
-$loader = new \Symfony\Component\ClassLoader\Psr4ClassLoader();
-$loader->addPrefix('GuzzleHttp\\Ring', __DIR__);
-$loader->register();
+return $fedoraClassLoader;
AUTOLOAD
) | tee src/autoload.php
@@ -147,27 +157,30 @@ AUTOLOAD
<?php
/**
* Autoloader created by %{name}-tests-%{version}-%{release}
+ *
+ * @return \Symfony\Component\ClassLoader\ClassLoader
*/
require_once 'GuzzleHttp/Ring/autoload.php';
-$loader->addPrefix('GuzzleHttp\\Tests\\Ring', __DIR__);
+$fedoraClassLoader->addPrefix('GuzzleHttp\\Tests\\Ring', __DIR__);
+
+return $fedoraClassLoader;
AUTOLOAD
) | tee tests/autoload.php
: Create custom tests PHPUnit config
-rm -f phpunit.xml.dist
(cat <<'PHPUNIT'
<?xml version="1.0" encoding="UTF-8"?>
-<phpunit bootstrap="./tests/bootstrap.php" colors="true">
+<phpunit bootstrap="./bootstrap.php" colors="true">
<testsuites>
<testsuite>
- <directory>tests</directory>
+ <directory>.</directory>
</testsuite>
</testsuites>
</phpunit>
PHPUNIT
-) | tee phpunit.xml.dist
+) | tee tests/phpunit.xml.dist
: Modify tests bootstrap
sed "s#.*require.*autoload.*#require __DIR__ . '/autoload.php';#" \
@@ -185,13 +198,13 @@ cp -rp src/* %{buildroot}%{phpdir}/GuzzleHttp/Ring/
: Tests
mkdir -p %{buildroot}%{testsdir}/%{name}
-cp -rp phpunit.xml.dist tests %{buildroot}%{testsdir}/%{name}/
+cp -rp tests/* %{buildroot}%{testsdir}/%{name}/
%check
%if %{with_tests}
%{_bindir}/phpunit -v \
- -c %{buildroot}%{testsdir}/%{name} \
+ --configuration %{buildroot}%{testsdir}/%{name} \
--include-path %{buildroot}%{phpdir}
%else
: Tests skipped
@@ -211,6 +224,10 @@ cp -rp phpunit.xml.dist tests %{buildroot}%{testsdir}/%{name}/
%changelog
+* Fri Jun 12 2015 Shawn Iwinski <shawn.iwinski at gmail.com> - 1.1.0-2
+- Use new $fedoraClassLoader concept in autoloader
+- Remove secondary "tests" directory from tests sub-package
+
* Mon Jun 01 2015 Shawn Iwinski <shawn.iwinski at gmail.com> - 1.1.0-1
- Updated to 1.1.0
- Updated source URL
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/php-guzzlehttp-ringphp.git/commit/?h=f22&id=d090c3fb279593b24e807d9c3d7ee1701fdb60c9
More information about the scm-commits
mailing list