frosh / plugin-uploader
A tool for deploying Shopware plugins to store.shopware.com
Installs: 314
Dependents: 0
Suggesters: 0
Security: 0
Stars: 26
Watchers: 5
Forks: 15
Open Issues: 0
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-dom: *
- ext-intl: *
- ext-json: *
- ext-libxml: *
- ext-simplexml: *
- ext-zip: *
- composer/semver: ^3.2
- composer/spdx-licenses: ^1.5
- guzzlehttp/guzzle: ~7.4
- http-interop/http-factory-guzzle: ^1.2
- knplabs/github-api: ^3.3
- laravel-zero/phar-updater: ^1.1
- league/commonmark: ^2.0
- m4tthumphrey/php-gitlab-api: ^11.4
- php-parallel-lint/php-var-dump-check: ^0.5.0
- symfony/config: ~5.3
- symfony/console: ^5.3
- symfony/dependency-injection: ~5.3
- symfony/dotenv: ^5.3
- symfony/finder: ^5.3
Requires (Dev)
- ext-phar: *
- friendsofphp/php-cs-fixer: ^3.3
- nette/php-generator: ^3.6
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-master
README
This tool is abandoned and will only receive bug fixes. Please move to https://github.com/FriendsOfShopware/shopware-cli
Tool for uploading new plugin releases to Shopware Store. Required Environment variables:
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)