kamiyang/ext-projectversion

Displays current project version based on 'VERSION' file or GIT revision.

Installs: 1 378

Dependents: 0

Suggesters: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 1

Type:typo3-cms-extension

1.0.0 2019-03-04 19:33 UTC

README

StyleCI Build Status Coverage Status Scrutinizer Code Quality

What is project version?

Project version is a TYPO3 extension that adds an entry to the TYPO3 system information in the toolbar. This entry is based either on the common 'VERSION' file or on the local GIT revision.

How do I install it?

First make sure you match the requirements:

Requirement Version
TYPO3 >=8.7 <9.6
php >= 7.0

Composer

Simply require the extension from packagist: composer require kamiyang/ext-projectversion

Or if you prefer typo3-ter: composer require typo3-ter/projectversion

TER

No composer available? No problem! You also can find this extension at TYPO3's Extension Repository (TER). You can straight download it from inside your TYPO3 as long, as your TYPO3 is not in composer mode.

How do I use it?

"VERSION"-file

Now, this is the easiest part. Create a file called VERSION (case sensitive) in your TYPO3 frontend docroot with the project version. This can be done like this: $ echo 1.0.0-rc.3 > /var/www/html/VERSION

Custom Path

You can use your own filename and path. Note that this path still has to be accessible from your web docroot. The configuration can be done in the ExtensionConfiguration. It is also possible to change the directory of the 'VERSION'-file. Only provide a directory path (with trailing slash '/') and it will automatically search for an file called 'VERSION'.

Examples: We assume that the web document root (PATH_site) is /var/www/html.

Configured Path Absolute filename
(empty - default) /var/www/html/VERSION
MyVersion /var/www/html/MyVersion
typo3conf/ /var/www/html/typo3conf/VERSION
./My/Custom/Version/File/In/Some/Nested/File/Structure /var/www/html/./My/Custom/Version/File/In/Some/Nested/File/Structure

GIT

Since release 0.3.0 git is supported. This must be manually activated. In order to use git, make sure it's available! Common case is that the local development environment is based on docker images. Many docker images do not have git out of the box available. To activate it, simply move via your preferred web browser into the TYPO3 backend. For TYPO3 v8.7 - go to "Extensions > Project Version" and configure the extension. The configuration screen will look like this on default:

default extension configuration

This has changed a bit in TYPO3 v9. To configure the extension go to "Settings > Configure extensions" and filter for "project version". The new configuration screen will look like this:

new default extension configuration screen

Configuration possibilities

basic.mode
Configuration Description
VERSION File (default) Fetches the current project version based on the path configured in basic.versionFilePath
GIT Uses GIT if available to resolve the project version in the format configured in basic.gitFormat
GIT (VERSION file as fallback) Will use GIT as preferred resolving method. If not available will fallback to VERSION file.
basic.gitFormat
Configuration Description Example
Revision Will only fetch the revision as project version git revision example
[revision] Branch (default) Will fetch the current revision and branch git revision and branch example
[revision] Tag Will fetch the current revision and tag git revision and tag example
Branch Will only fetch the current branch git branch example
Tag Will only fetch the current tag git tag example

Roadmap to v1.0.0

  • Static VERSION file support
  • Add ability to configure "VERSION"-file path
  • GIT revision support
  • GIT tag/branch based on revision support
  • Add documentation of this extensions features
  • Upload extension to packagist.org
  • Upload extension to TER
  • Support TYPO3 v9.4
  • Support TYPO3 v9 LTS
  • Achieve overall test coverage above 95%
  • Configure TravisCI
  • Configure StyleCI
  • Configure Coveralls
  • Static VERSION value via extension configuration

Milestone for v0.6.0

  • Ability to "hardcode" static project version via the TYPO3 backend

Note

The TYPO3 v8 version of this extension will not be maintained after release 1.0.0! But this should be no problem because TYPO3 v8 only gets bugfixes. This means, version 1.0.0 should stay compatible with all further TYPO3 v8 releases!

After releasing version 1.0.0, which will be around the release of the first TYPO3 v9 LTS version, EXT:project_version will be refactored to php7.2 and will integrate TYPO3 v9 features.