# spec file for php-bartlett-umlwriter # # Copyright (c) 2015 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %global bootstrap 1 %global gh_commit dd58a0b71894693250839ad7c7538a7510758a3b %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_date 20150331 %global gh_owner llaville %global gh_project umlwriter #global prever RC2 %if %{bootstrap} %global with_tests %{?_with_tests:1}%{!?_with_tests:0} %else %global with_tests %{?_without_tests:0}%{!?_without_tests:1} %endif Name: php-bartlett-umlwriter Version: 1.0.0 %global specrel 3 Release: %{?gh_short:0.%{specrel}.%{?gh_date:%{gh_date}git%{gh_short}}%{?prever}}%{!?gh_short:%{specrel}}%{?dist} Summary: Create UML class diagrams from your PHP source Group: Development/Libraries License: BSD URL: http://php5.laurent-laville.org/umlwriter/ Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}%{?prever}%{?gh_short:-%{gh_short}}.tar.gz # Autoloader for RPM - die composer ! Patch0: %{name}-rpm.patch BuildArch: noarch BuildRequires: php(language) >= 5.3.0 %if %{with_tests} BuildRequires: %{_bindir}/phpunit BuildRequires: php-composer(symfony/console) >= 2.5 BuildRequires: php-composer(sebastian/version) >= 1.0 BuildRequires: php-composer(bartlett/php-reflect) >= 3.0 BuildRequires: php-composer(andrewsville/php-token-reflection) >= 1.4 %endif # From composer.json # "require": { # "php": ">=5.3.0" # "symfony/console": "~2.5", # "sebastian/version": "~1.0" Requires: php(language) >= 5.3.0 Requires: php-composer(symfony/console) >= 2.5 Requires: php-composer(symfony/console) < 3 Requires: php-composer(sebastian/version) >= 1.0 Requires: php-composer(sebastian/version) < 2 # "require-dev": { # "bartlett/php-reflect": "3.0.*@dev", # "andrewsville/php-token-reflection": "~1.4" # "suggest": { # "bartlett/php-reflect": "Reverse-engine, default solution", # "andrewsville/php-token-reflection": "Reverse-engine, alternative solution" %if ! %{bootstrap} Requires: php-composer(bartlett/php-reflect) >= 3.0 Requires: php-composer(bartlett/php-reflect) < 4 %endif Requires: php-composer(andrewsville/php-token-reflection) >= 1.4 Requires: php-composer(andrewsville/php-token-reflection) < 2 # For our patch Requires: php-composer(symfony/class-loader) Provides: php-composer(bartlett/umlwriter) = %{version} %description This tool wil generate UML class diagrams with all class, interface and trait definitions in your PHP project. * reverse-engine interchangeable (currently support Bartlett\Reflect and Andrewsville\TokenReflection) * UML syntax processor interchangeable (currently support Graphviz and PlantUML) * generates a class and its direct dependencies * generates a namespace with all objects * generates a full package with all namespaces and objects %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 -b .rpm sed -e 's/@package_version@/%{version}%{?prever}/' \ -i $(find src -name \*.php) bin/umlwriter %build # Nothing %install mkdir -p %{buildroot}%{_datadir}/php cp -pr src/Bartlett %{buildroot}%{_datadir}/php/Bartlett install -D -p -m 755 bin/umlwriter %{buildroot}%{_bindir}/umlwriter %check %if %{with_tests} %{_bindir}/phpunit -v || : Results ignored for now, known upstream issue #1 %else : Test suite disabled %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc composer.json README.* examples %{_bindir}/umlwriter %dir %{_datadir}/php/Bartlett %{_datadir}/php/Bartlett/UmlWriter %changelog * Tue Mar 31 2015 Remi Collet - 1.0.0-0.3.20150331gitdd58a0b - git snapshot, post 1.0.0RC2 - cleanup EL-5 stuff * Tue Mar 31 2015 Remi Collet - 1.0.0-0.2.RC2 - update to 1.0.0RC2 - add umlwrite command - add dependencies on symfony/console, symfony/class-loader, bartlett/php-reflect, sebastian/version and andrewsville/php-token-reflection - run test suite during build, but ignore results for now - open https://github.com/llaville/umlwriter/issues/1 test suite issue - open https://github.com/llaville/umlwriter/issues/2 runtime issue * Tue Mar 24 2015 Remi Collet - 1.0.0-0.1.RC1 - Initial RPM package, version 1.0.0RC1