2017 © Pedro Peláez
 

library app-version-laravel

Laravel applications versioning

image

avto-dev/app-version-laravel

Laravel applications versioning

  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 89 % Grown

The README.md

Laravel , (*1)

AppVersion for Laravel applications

Version ![PHP Version][badge_php_version] Build Status ![Coverage][badge_coverage] Downloads count ![License][badge_license], (*2)

screenshot, (*3)

Picture taken from antonioribeiro/version repository, (*4)

Laravel does not have included mechanism for a working with application version, and this package can fix this flaw., (*5)

Install

Require this package with composer using the following command:, (*6)

$ composer require avto-dev/app-version-laravel "^3.0"

Installed composer is required (how to install composer)., (*7)

You need to fix the major version of package., (*8)

After that you should "publish" configuration file (./config/version.php) using next command:, (*9)

$ php artisan vendor:publish --provider="AvtoDev\\AppVersion\\ServiceProvider"

Usage

This package provides application version manager (AppVersionManager) and:, (*10)

  • Version value repositories (abstraction layer above version data)
  • Repository drivers (also known as "factories" - they creates configured repository instance)

You can write your own implementations, and use them (only correct configuration is required)., (*11)

Built-in "storage" types:, (*12)

  • Plain file with version definition;
  • Application configuration file (version.config by default);
  • CHANGELOG.md file (extracts last defined version value).

If you wanna get access to the version manager using DI - just request AvtoDev\AppVersion\AppVersionManagerInterface:, (*13)

<?php

namespace App\Console\Commands;

use AvtoDev\AppVersion\AppVersionManagerInterface;

class SomeCommand extends \Illuminate\Console\Command
{
    /**
     * The console command name.
     *
     * @var string
     */
    protected $name = 'some:command';

    /**
     * Execute the console command.
     *
     * @param AppVersionManagerInterface $manager
     *
     * @return void
     */
    public function handle(AppVersionManagerInterface $manager): void
    {
        $manager->version(); // e.g.: 1.0.0-alpha2
    }
}

Artisan commands

Command signature Description
version Shows application version
version --get-segment=major/minor/patch/build Shown only major/minor/patch/build version value
version --set-build=alpha2 Set build value alpha2
version --set-version=1.2.3-alpha Complex version setter

Blade

Blade compiler allows next directives:, (*14)

Application version: @app_version
Build version: @app_build
Application version hash: @app_version_hash

Testing

For package testing we use phpunit framework and docker with compose plugin as develop environment. So, just write into your terminal after repository cloning:, (*15)

$ make build
$ make latest # or 'make lowest'
$ make test

Changes log

Release date ![Commits since latest release][badge_commits_since_release], (*16)

Changes log can be found here., (*17)

Support

Issues ![Issues][badge_pulls], (*18)

If you will find any package errors, please, make an issue in current repository., (*19)

License

This is open-sourced software licensed under the MIT License., (*20)

The Versions

10/06 2018

dev-master

9999999-dev

Laravel applications versioning

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel version keywords some here goes

06/06 2018

v1.2.1

1.2.1.0

Laravel applications versioning

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel version

27/03 2018

v1.2

1.2.0.0

Laravel applications versioning

  Sources   Download

MIT

The Requires

 

The Development Requires

keywords some here goes

18/03 2018

v1.1

1.1.0.0

Laravel applications versioning

  Sources   Download

MIT

The Requires

 

The Development Requires

keywords some here goes

17/03 2018

v1.0

1.0.0.0

Laravel applications versioning

  Sources   Download

MIT

The Requires

 

The Development Requires

keywords some here goes