From 9646cf9609c5c8b7d54553ba7360bc0f824dc9ce Mon Sep 17 00:00:00 2001 From: Shawn Iwinski Date: Tue, 11 Oct 2016 20:39:43 -0400 Subject: [PATCH] Add autoloader --- php-ocramius-code-generator-utils.spec | 72 +++++++++++++++++--------- 1 file changed, 47 insertions(+), 25 deletions(-) diff --git a/php-ocramius-code-generator-utils.spec b/php-ocramius-code-generator-utils.spec index 8714c50..edd6388 100644 --- a/php-ocramius-code-generator-utils.spec +++ b/php-ocramius-code-generator-utils.spec @@ -1,7 +1,7 @@ # -# RPM spec file for php-ocramius-code-generator-utils +# Fedora spec file for php-ocramius-code-generator-utils # -# Copyright (c) 2014-2015 Shawn Iwinski +# Copyright (c) 2014-2016 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT @@ -24,14 +24,13 @@ %global php_parser_max_ver 2 # Build using "--without tests" to disable tests -%global with_tests %{?_without_tests:0}%{!?_without_tests:1} +%global with_tests 0%{!?_without_tests:1} -%{!?phpdir: %global phpdir %{_datadir}/php} -%{!?__phpunit: %global __phpunit %{_bindir}/phpunit} +%{!?phpdir: %global phpdir %{_datadir}/php} Name: php-%{composer_vendor}-%{composer_project} Version: %{github_version} -Release: 2%{?github_release}%{?dist} +Release: 3%{?github_release}%{?dist} Summary: A set of code generator utilities built on top of PHP-Parsers Group: Development/Libraries @@ -45,7 +44,7 @@ BuildArch: noarch BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-composer(nikic/php-parser) >= %{php_parser_min_ver} BuildRequires: php-composer(nikic/php-parser) < %{php_parser_max_ver} -BuildRequires: php-phpunit-PHPUnit +BuildRequires: php-composer(phpunit/phpunit) # phpcompatinfo (computed from version 0.3.0) BuildRequires: php-pcre BuildRequires: php-reflection @@ -58,7 +57,6 @@ Requires: php-composer(nikic/php-parser) >= %{php_parser_min_ver} Requires: php-composer(nikic/php-parser) < %{php_parser_max_ver} # phpcompatinfo (computed from version 0.3.0) Requires: php-pcre -Requires: php-reflection Requires: php-spl # Composer @@ -68,37 +66,57 @@ Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} A set of code generator utilities built on top of PHP-Parsers that ease its use when combined with Reflection. +Autoloader: %{phpdir}/CodeGenerationUtils/autoload.php + %prep %setup -qn %{github_name}-%{github_commit} %build -# Empty build section, nothing required +: Create autoloader +cat <<'AUTOLOAD' | tee src/CodeGenerationUtils/autoload.php +register(); +} + +$fedoraClassLoader->addPrefix('CodeGenerationUtils\\', dirname(__DIR__)); + +// Required dependency +require_once '%{phpdir}/PhpParser/autoload.php'; + +return $fedoraClassLoader; +AUTOLOAD %install -mkdir -pm 0755 %{buildroot}%{phpdir} -cp -rp src/* %{buildroot}%{phpdir}/ +mkdir -p %{buildroot}%{phpdir} +cp -rp src/CodeGenerationUtils %{buildroot}%{phpdir}/ %check %if %{with_tests} -# Create autoloader -cat > autoload.php <<'AUTOLOAD' +: Create tests bootstrap +cat <<'BOOTSTRAP' | tee bootstrap.php addPrefix('CodeGenerationUtilsTest\\', __DIR__.'/tests'); +BOOTSTRAP -spl_autoload_register(function ($class) { - $src = str_replace('\\', '/', $class).'.php'; - @include_once $src; -}); -AUTOLOAD - -%{__phpunit} \ - --bootstrap autoload.php \ - --include-path %{buildroot}%{phpdir}:./tests +%{_bindir}/phpunit --verbose --bootstrap bootstrap.php %else : Tests skipped %endif @@ -107,11 +125,15 @@ AUTOLOAD %files %{!?_licensedir:%global license %%doc} %license LICENSE -%doc *.md composer.json +%doc *.md +%doc composer.json %{phpdir}/CodeGenerationUtils %changelog +* Tue Oct 11 2016 Shawn Iwinski - 0.3.2-3 +- Add autoloader + * Thu Feb 04 2016 Fedora Release Engineering - 0.3.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild