sunshinecms/installers

Composer Library Installer for SunshineCMS

v1.0.0 2018-12-29 20:58 UTC

README

Latest Stable Version Latest Untable Version Total Downloads License PHP

Linux Build Status Windows Build Status Code Coverage Code Quality

Composer Library Installer for SunshineCMS.

Description

This package acts as composer plugin in order to download and install SunshineCMS core and extensions and put them into a directory structure which is suitable for SunshineCMS to work correctly.

Usage

You should include sunshinecms/installers in your project and specify type of it. See below for supported types and naming.

This would install plugin to plugins/example/system/ in website root directory:

{
    "name": "example/sunshinecms-system-plugin",
    "type": "sunshinecms-plugin",
    "require": {
        "sunshinecms/installers": "^1.0"
    }
}

You should then submit your package to Packagist. In the future, SunshineCMS will probably have it's own extension repository so you wold also need to submit package there.

Supported Types

Type Name Location Description
sunshinecms-core core Installer for core project. Only for forward compatibility and should not be currently not be used.
sunshinecms-*-pack pack vendor/{$vendor}/{$name}/ Installer for plugin and theme packs. It must contain type of extensions that are included in it.
sunshinecms-plugin plugin plugins/{$vendor}/{$name}/ Installer for plugins.
sunshinecms-*-theme theme themes/{$type}/{$vendor}/{$name}/ Installer for themes. It can contain type of theme. If it is not specified, theme will be public.

Package Naming

  • Package should follow standard Composer and Packagist convention.
  • Name will be automatically converted to camel-case.
  • Leading and trailing word sunshinecms will be automatically removed if present.
  • Type name will be automatically removed if present.

Examples

Package Type Package Name Location
sunshinecms-plugin example/sunshinecms-system-plugin plugins/example/system/
sunshinecms-theme example/sunshinecms-responsive-theme themes/public/example/responsive/
sunshinecms-public-theme example/sunshinecms-responsive-theme themes/public/example/responsive/
sunshinecms-admin-theme example/sunshinecms-responsive-theme themes/admin/example/responsive/

Versioning

This library uses SemVer for versioning. For the versions available, see the tags on this repository.

License

This library is licensed under the GPLv3+ license. See the LICENSE file for details.