/FroshPluginUploader

Tool for uploading new plugin releases to Shopware Store

Primary LanguagePHPMIT LicenseMIT

FroshPluginUploader

codecov PHPUnit License GitHub closed pull requests Slack

Tool for uploading new plugin releases to Shopware Store.

This Tool works only for the new plugin system, Shopware Platform and app system.

Required Environment variables:

Name Default Description
ACCOUNT_USER Shopware Account e-mail address
ACCOUNT_PASSWORD Shopware Account password
PLUGIN_ID Removed with Version 0.3.0

Requirements for Plugin:

Docker

You can use it also using Docker. Don't forget to pass your credentials as env variables.

Example:

❯ docker run --rm -w "/storage" -v (pwd):/storage friendsofshopware/plugin-uploader plugin:validate /storage/FroshAppGoogleSheet.zip

 [OK] Has been successfully validated                                           

Archlinux User Repository (AUR)

Install using AUR package php-sw-frosh-plugin-uploader.

CI-Integration

See examples folder for how the Uploader could be integrated.

Using the Commands

ext:upload

Will upload the zip to the store and triggers a code review. Plugin version can be deployed multiple times, which updates the version.

Valid arguments are:

pathToZip - path to the zip file

Valid options are:

--skipCodeReview - Skip the Code-Review
--skipCodeReviewResult - Skip waiting for Code-Review Result

ext:update

Update Shopware store informations about the plugin. For plugins the files from the ${path}/Resources/store-folder are used. For apps the store folder should be placed directly in the root folder of the app, i.e. the folder is ${path}/store furthermore the plugin name and so on are read from the app manifest.xml.

Valid arguments are:

path - path to the plugin folder

For more Information about the Resources/store folder checkout this.

ext:validate

Will check the plugin for validation exceptions for Code Review.

Valid arguments are:

pathToZip - path to the zip file

Valid options are:

--create - Create the plugin in account, if it doesn't exist

ext:list

Shows all plugins in the account with the id, name, latest version and last changed.

ext:download:resources

Downloads all store resources from store to the given folder.

ext:zip

Allows to zip the git repository or folder of the plugin.

Valid arguments are:

path - path to the directory
branch - Optional: will detect the latest tag, otherwise will use master

Valid options are:

--strategy - default `git`. `plain` will zip the folder as it is.
--scope - default `false`. `true` will scope the plugin dependencies into a specific namespace using [humbug/php-scoper](https://github.com/humbug/php-scoper). php-scoper has to be available in `$PATH`

A .sw-zip-blacklist file can be used to define which files should be deleted before creating the zip. (Deprecated, will be removed with 0.4.0)

FAQ

Getting Credentials

Exception-Codes