Skip to content
Browse files

Display the version number when using PHP_CodeCoverage from a Compose…

…r install or Git checkout.
  • Loading branch information...
1 parent 50ddb05 commit f3557f4703a36ccdbd726d149f4485e7c21705d3 @sebastianbergmann committed Sep 19, 2012
Showing with 98 additions and 2 deletions.
  1. +5 −0 ChangeLog.markdown
  2. +2 −1 PHP/CodeCoverage/Autoload.php
  3. +1 −1 PHP/CodeCoverage/Report/HTML/Renderer.php
  4. +87 −0 PHP/CodeCoverage/Version.php
  5. +3 −0 package.xml
View
5 ChangeLog.markdown
@@ -3,6 +3,11 @@ PHP_CodeCoverage 1.2
This is the list of changes for the PHP_CodeCoverage 1.2 release series.
+PHP_CodeCoverage 1.2.1
+----------------------
+
+* The version number is now displayed when using PHP_CodeCoverage from a Composer install or Git checkout.
+
PHP_CodeCoverage 1.2.0
----------------------
View
3 PHP/CodeCoverage/Autoload.php
@@ -72,7 +72,8 @@ function php_codecoverage_autoload($class = NULL) {
'php_codecoverage_report_php' => '/CodeCoverage/Report/PHP.php',
'php_codecoverage_report_text' => '/CodeCoverage/Report/Text.php',
'php_codecoverage_util' => '/CodeCoverage/Util.php',
- 'php_codecoverage_util_invalidargumenthelper' => '/CodeCoverage/Util/InvalidArgumentHelper.php'
+ 'php_codecoverage_util_invalidargumenthelper' => '/CodeCoverage/Util/InvalidArgumentHelper.php',
+ 'php_codecoverage_version' => '/CodeCoverage/Version.php'
);
$path = dirname(dirname(__FILE__));
View
2 PHP/CodeCoverage/Report/HTML/Renderer.php
@@ -195,7 +195,7 @@ protected function setCommonTemplateVariables(Text_Template $template, PHP_CodeC
'breadcrumbs' => $this->getBreadcrumbs($node),
'charset' => $this->charset,
'date' => $this->date,
- 'version' => '@package_version@',
+ 'version' => PHP_CodeCoverage_Version::id(),
'php_version' => PHP_VERSION,
'generator' => $this->generator,
'low_upper_bound' => $this->lowUpperBound,
View
87 PHP/CodeCoverage/Version.php
@@ -0,0 +1,87 @@
+<?php
+/**
+ * PHP_CodeCoverage
+ *
+ * Copyright (c) 2009-2012, Sebastian Bergmann <sb@sebastian-bergmann.de>.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of Sebastian Bergmann nor the names of his
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @category PHP
+ * @package CodeCoverage
+ * @author Sebastian Bergmann <sb@sebastian-bergmann.de>
+ * @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
+ * @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
+ * @link http://github.com/sebastianbergmann/php-code-coverage
+ * @since File available since Release 1.2.1
+ */
+
+/**
+ *
+ *
+ * @category PHP
+ * @package CodeCoverage
+ * @author Sebastian Bergmann <sb@sebastian-bergmann.de>
+ * @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
+ * @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
+ * @version Release: @package_version@
+ * @link http://github.com/sebastianbergmann/php-code-coverage
+ * @since Class available since Release 1.2.1
+ */
+class PHP_CodeCoverage_Version
+{
+ const VERSION = '@package_version@';
+ protected static $version;
+
+ /**
+ * Returns the version of PHP_CodeCoverage.
+ *
+ * @return string
+ */
+ public static function id()
+ {
+ if (self::$version === NULL) {
+ if (strpos(self::VERSION, '@package_version') === 0) {
+ $dir = getcwd();
+ chdir(__DIR__);
+ $version = exec('git describe --tags');
+ chdir($dir);
+
+ if ($version) {
+ self::$version = $version;
+ }
+ } else {
+ self::$version = self::VERSION;
+ }
+ }
+
+ return self::$version;
+ }
+}
View
3 package.xml
@@ -127,6 +127,9 @@
<file baseinstalldir="/" name="Util.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
+ <file baseinstalldir="/" name="Version.php" role="php">
+ <tasks:replace from="@package_version@" to="version" type="package-info" />
+ </file>
</dir>
<file baseinstalldir="/" name="CodeCoverage.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />

0 comments on commit f3557f4

Please sign in to comment.
Something went wrong with that request. Please try again.