2017 © Pedro Peláez
 

composer-plugin composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

image

praxigento/composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

  • Wednesday, September 7, 2016
  • by praxigento
  • Repository
  • 2 Watchers
  • 0 Stars
  • 2,983 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

Praxigento plugin for PHP Composer to generate local configs from templates

Build Status, (*1)

What is this?

Plugin for PHP Composer to create locally specific configuration from set of template files and files with configuration parameters. Templates processing is occurred before any composer command (excluding 'install' cause plugin is not installed before command have been executed)., (*2)

!screenshot, (*3)

Installation

Add to your project's composer.json:, (*4)

{
  "require": {
    "praxigento/composer_plugin_templates": "*"
  }
}

Usage

Setup configuration file

Create plugin's configuration file ( ./templates.json, for example) and setup extra.praxigento_templates_config parameter in your project's composer.json::, (*5)

{
  "extra": {
    "praxigento_templates_config": "./templates.json"
  }
}

Plugin can use more than one configuration file, data from all files will be merged into one config structure:, (*6)

{
  "extra": {
    "praxigento_templates_config": ["./under_vc.json", "./not_under_vc.json"]
  }
}

This can be useful in case when set of templates is the same for all instances (this part of configuration can be under version control) and variables (all or part of them) are unique for each instance., (*7)

Configuration file structure

./templates.json:, (*8)

{
  "vars": {
    "MYSQL_HOST": "localhost",
    "MYSQL_USER": "magento_github_user",
    "MYSQL_PASSWORD": "s8pTo3X5QCsr4SkY48zF",
    "MYSQL_DBNAME": "magento_github_db"
  },
  "templates": {
    "local.xml": {
      "src": "test/tmpl/local.xml",
      "dst": "test/mage/app/etc/local.xml",
      "rewrite": true
    },
    "dump.sh": {
      "src": "test/tmpl/dump.sh",
      "dst": "test/bin/dump_db/dump.sh",
      "rewrite": true
    }
  }
}

vars

Set of the template's placeholders ${MYSQL_HOST} and values localhost to be inserted into templates:, (*9)

{
  "vars": {
    "MYSQL_HOST": "localhost",
    "MYSQL_USER": "magento_github_user",
    "MYSQL_PASSWORD": "s8pTo3X5QCsr4SkY48zF",
    "MYSQL_DBNAME": "magento_github_db"
  }
}

templates

Set of the templates to be processed on every composer command (install, update, status, ...):, (*10)

{
  "templates": {
    "local.xml": {
      "src": "test/tmpl/local.xml",
      "dst": "test/mage/app/etc/local.xml",
      "rewrite": true
    },
    "dump.sh": {
      "src": "test/tmpl/dump.sh",
      "dst": "test/bin/dump_db/dump.sh",
      "rewrite": true,
      "condition": {
        "var": "MYSQL_HOST",
        "operation": "!=",
        "value": "localhost"
      }
    }
  }
}

Labels (local.xml & dump.sh) are for reference only., (*11)

  • src: (required) path to template file;
  • dst: (required) path to result file (where placeholders are replaced by its values);
  • rewrite: 'true' to rewrite destination file if exists ('false' by default);
  • condition: simple condition to process this template file;
    • var: name of the variable for left part of the condition;
    • operation: one of the two operations ('=' or '!=');
    • value: string value for compare (right part of the operation);

License

All contents of this package are licensed under the MIT license., (*12)

The Versions

07/09 2016

dev-master

9999999-dev https://github.com/praxigento/composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

  Sources   Download

MIT

The Requires

  • php >=5.3.0
  • composer-plugin-api ^1.0

 

The Development Requires

by Alex Gusev

07/09 2016

1.0.8

1.0.8.0 https://github.com/praxigento/composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

  Sources   Download

MIT

The Requires

  • php >=5.3.0
  • composer-plugin-api ^1.0

 

The Development Requires

by Alex Gusev

06/05 2016

1.0.7

1.0.7.0 https://github.com/praxigento/composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

  Sources   Download

MIT

The Requires

  • php >=5.3.0
  • composer-plugin-api ^1.0

 

The Development Requires

by Alex Gusev

04/11 2015

1.0.6

1.0.6.0 https://github.com/praxigento/composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

  Sources   Download

MIT

The Requires

  • php >=5.3.0
  • composer-plugin-api ^1.0

 

The Development Requires

by Alex Gusev

12/06 2015

1.0.5

1.0.5.0 https://github.com/praxigento/composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

  Sources   Download

MIT

The Requires

  • php >=5.3.0
  • composer-plugin-api ^1.0

 

The Development Requires

by Alex Gusev

27/03 2015

v1.0.4

1.0.4.0 https://github.com/praxigento/composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

  Sources   Download

MIT

The Requires

  • php >=5.3.0
  • composer-plugin-api 1.0.0

 

The Development Requires

by Alex Gusev

13/01 2015

v1.0.3

1.0.3.0 https://github.com/praxigento/composer_plugin_templates

Composer plugin to create locally specific configuration from set of template files and from file with configuration parameters.

  Sources   Download

MIT

The Requires

  • php >=5.3.0
  • composer-plugin-api 1.0.0

 

The Development Requires

by Alex Gusev