Skip to content

Composer Packages Custom Installer (CPCInstaller) plugin, you don't need to worry about installation of your packages in your custom defined directories. Just FORK it and add your instructions for CPC Installer, it will do everything for you.

farhanwazir/CPCInstaller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CPC Installer

Composer Packages Custom Installer is a easy to custom, you don't need any speciality. This will helpful for installation of your packages, modules, plugins, theme(s) and/or whatever you call, in your's given location with many more options.

Boost up your work, FORK it right now!

Add just 2 lines in composer.json, Composer package schema's

    "type": "yourname-packagename",
    "require": {
        "farhanwazir/cpcinstaller" : "1.*"
        .....
    },
    "repositories": [
            {
                "type": "vcs",
                "url": "https://github.com/yourname/cpcinstaller"
            }
        ],

Change instructions for composer.json: In the repositories attribute you need to replace url with your forked url.

If you have forked then go under src/Installer/Config see sample.php configuration file, copy it and add many as you wish. Each attribute has its own functionality so read comments carefully and change it as on your needs. If you don't want optional attributes then remove it.

Configuration File Instruction

  • Configuration file name - here is no restrictions, name it whatever you want.
  • PHP file extension - configuration file extension should be .php.

Configuration attributes

  • type - Package type

    It is belongs to composer.json type attribute. For more detail visit Composer official documentation

    • DataType: String
    • Mandatory attribute
  • location - Installation directory

    It helps you to define where you wanted to install. It must be start from parent directory of vendor directory.

    Instruction: Path should end with trail slash /. Below example only for understanding, other attributes applies.

    • Default: 'vendor'
    • Type: String Path
    • Mandatory attribute

    i.e 'directory1/subdirectory/' hierarchy looks like directory1/subdirectory/vendor/package

  • only Allowed package(s)

    If you want multiple packages for same "type" then use array as value like "only" => ["vendor/package_1", "vendor/package_2"]

    You can also use wild card for packages like "restvel/*" this will allow all packages from vendor "restvel" by matching "type"

    • Default: null
    • Type: String/Array
    • Optional attribute
  • rename Renaming package(s)

    If "rename" will be string then all same "type" and "only" attributes installed under renamed. You can also use wild card, with prefix and/or suffix like "package-*" or "*-package" or "package-*-packages". Above example will be return "package-test" or "test-package" or "package-test-packages".

    If "only" has multiple packages list and you wants each package install under your custom name then it's length must be equals to "only" otherwise last name will be used in case of unordered position.

    Instruction: Empty quotes '' place package files on root of location attribute. Vendor attribute action applies.

    • Default: null
    • Type: String
    • Optional attribute
  • vendor Vendor reference

    If you don't wanted to use vendor reference with package then its value should be false.

    • Default: true
    • Options: true/false
    • Optional attribute

Contribution

If have any suggestion for documentation then improve it and send me pull request.

Thank you for using

About

Composer Packages Custom Installer (CPCInstaller) plugin, you don't need to worry about installation of your packages in your custom defined directories. Just FORK it and add your instructions for CPC Installer, it will do everything for you.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages