teknoo/composer-install

Composer plugin allowing the creation of a functional package 'out of the box' as well as a cleaning of the project when it is uninstalled.

Fund package maintenance!
Patreon
TeknooSoftware

Installs: 98

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 3

Forks: 0

Open Issues: 0

Type:composer-plugin

6.1.2 2021-11-16 21:32 UTC

This package is auto-updated.

Last update: 2024-04-06 14:12:15 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads License PHPStan

This package is currently deprecated, please use Symfony Flex for Symfony integration

Composer plugin allowing the creation of a functional package "out of the box" as well as a cleaning of the project when it is uninstalled.

This performs some automated install/update or uninstall operations when a package is installed, updated or uninstalled via Composer. Operations are managed by Action classes, implementing Teknoo\Composer\Action\ActionInterface, provided by this plugin or your packages.

Arguments or configuration to pass to actions must be defined as extra, under the key Teknoo\\Composer\\Installer like the following example. It comes with actions dedicated to install bundles for Symfony 4.0+ :

  • updating the bundles.php file
  • copy/clean some configuration files into config/packages folder.
  • copy/clean routes files into config/routes foler.

Quick Example

{
    "name": "your-company/your-package",
    [...]
    "extra": {
        "Teknoo\\Composer\\Installer": {
            "config": {
                #To configure Teknoo\\Composer\\Installer
                #disabled: true #to disabled installer in the current composer project
            },
            #To add some bundle in bundles.php
            "Teknoo\\Composer\\Action\\SymfonyBundle": {
                "Your\\Company\\Bundle": {"all":  true},
                "Your\\Another\\Company\\Bundle": {"dev": true }
            },
            #To add/update some file in config/packages
            "Teknoo\\Composer\\Action\\SymfonyPackages": {
                "bundle_config.yaml": [
                    "# Read the documentation:",
                    "my_bundle:",
                    "  foo:",
                    "    - 'bar'",
                    "    - '%kernel.project_dir%/vendor/foo/bar.php'",
                    "  bar:",
                    "    foo: 42"
                ],
                "bundle_another_config.yaml": "foo\\nbar",,
                "bundle_another_config.yaml": {
                    "base64": "aGVsbG8gd29ybGQ="
                },
            }
        }
    }
}

Support this project

This project is free and will remain free. It is fully supported by the activities of the EIRL. If you like it and help me maintain it and evolve it, don't hesitate to support me on Patreon or Github.

Thanks :) Richard.

Credits

EIRL Richard Déloge - https://deloge.io - Lead developer. SASU Teknoo Software - https://teknoo.software

About Teknoo Software

Teknoo Software is a PHP software editor, founded by Richard Déloge, as part of EIRL Richard Déloge. Teknoo Software's goals : Provide to our partners and to the community a set of high quality services or software, sharing knowledge and skills.

License

Composer Install is licensed under the MIT License - see the licenses folder for details.

Installation & Requirements

To install this library with composer, run this command :

composer require teknoo/composer-install

This library requires :

* PHP 8.0+
* Composer 2.0+

Contribute :)

You are welcome to contribute to this project. Fork it on Github