Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | 28-Mar-2019 | - | ||||
src/ | H | 28-Mar-2019 | - | 110 | 59 | |
.php_cs | H A D | 27-Mar-2019 | 1.9 KiB | 67 | 64 | |
LICENSE | H A D | 27-Mar-2019 | 1.5 KiB | 34 | 27 | |
README.md | H A D | 27-Mar-2019 | 2 KiB | 44 | 26 | |
composer.json | H A D | 27-Mar-2019 | 705 | 30 | 29 |
README.md
1# Version 2 3**Version** is a library that helps with managing the version number of Git-hosted PHP projects. 4 5## Installation 6 7You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): 8 9 composer require sebastian/version 10 11If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: 12 13 composer require --dev sebastian/version 14 15## Usage 16 17The constructor of the `SebastianBergmann\Version` class expects two parameters: 18 19* `$release` is the version number of the latest release (`X.Y.Z`, for instance) or the name of the release series (`X.Y`) when no release has been made from that branch / for that release series yet. 20* `$path` is the path to the directory (or a subdirectory thereof) where the sourcecode of the project can be found. Simply passing `__DIR__` here usually suffices. 21 22Apart from the constructor, the `SebastianBergmann\Version` class has a single public method: `getVersion()`. 23 24Here is a contrived example that shows the basic usage: 25 26 <?php 27 $version = new SebastianBergmann\Version( 28 '3.7.10', '/usr/local/src/phpunit' 29 ); 30 31 var_dump($version->getVersion()); 32 ?> 33 34 string(18) "3.7.10-17-g00f3408" 35 36When a new release is prepared, the string that is passed to the constructor as the first argument needs to be updated. 37 38### How SebastianBergmann\Version::getVersion() works 39 40* If `$path` is not (part of) a Git repository and `$release` is in `X.Y.Z` format then `$release` is returned as-is. 41* If `$path` is not (part of) a Git repository and `$release` is in `X.Y` format then `$release` is returned suffixed with `-dev`. 42* If `$path` is (part of) a Git repository and `$release` is in `X.Y.Z` format then the output of `git describe --tags` is returned as-is. 43* If `$path` is (part of) a Git repository and `$release` is in `X.Y` format then a string is returned that begins with `X.Y` and ends with information from `git describe --tags`. 44