nazrulwazir / robo
Requires
- php: >=5.5.0
- consolidation/annotated-command: ^2.8.2
- consolidation/config: ^1.0.10
- consolidation/log: ~1
- consolidation/output-formatters: ^3.1.13
- consolidation/self-update: ^1
- g1a/composer-test-scenarios: ^2
- grasmash/yaml-expander: ^1.3
- league/container: ^2.2
- symfony/console: ^2.8|^3|^4
- symfony/event-dispatcher: ^2.5|^3|^4
- symfony/filesystem: ^2.5|^3|^4
- symfony/finder: ^2.5|^3|^4
- symfony/process: ^2.5|^3|^4
Requires (Dev)
- codeception/aspect-mock: ^1|^2.1.1
- codeception/base: ^2.3.7
- codeception/verify: ^0.3.2
- goaop/framework: ~2.1.2
- goaop/parser-reflection: ^1.1.0
- natxet/cssmin: 3.0.4
- nikic/php-parser: ^3.1.5
- patchwork/jsqueeze: ~2
- pear/archive_tar: ^1.4.2
- phpunit/php-code-coverage: ~2|~4
- satooshi/php-coveralls: ^2
- squizlabs/php_codesniffer: ^2.8
Suggests
- henrikbjorn/lurker: For monitoring filesystem changes in taskWatch
- natxet/CssMin: For minifying CSS files in taskMinify
- patchwork/jsqueeze: For minifying JS files in taskMinify
- pear/archive_tar: Allows tar archives to be created and extracted in taskPack and taskExtract, respectively.
Replaces
- codegyre/robo: < 1.0
- dev-state / 1.x-dev
- 1.3.1
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.0
- 1.0.0-RC3
- 1.0.0-RC2
- 1.0.0-RC1
- 1.0.0-beta1
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.0
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.7
- 0.4.6
- 0.4.5
- 0.4.4
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.0
- 0.2.0
- 0.1.1
- 0.1.0
- dev-deps/update-bca8a3a9
- dev-deps/update-5cf220f7
- dev-deps/update-a0d0bfe8
- dev-appveyor-curl
- dev-deps/update-c7ceb703
- dev-deps/update-9863ab9f
- dev-deps/update-7a6553c2
- dev-site
- dev-deps/update-e80014d5
- dev-fix-shebang
- dev-deps/update-64ac62b7
- dev-deps/update-558c88a8
- dev-deps/update-f911e42d
- dev-deps/update-03b0202b
- dev-use-overlay-as-is
- dev-version-bump
- dev-env-config
- dev-improve-starter
- dev-g1a
- dev-deps/update-6ce16509
- dev-deps/update-534ef04c
- dev-deps/update-c4f528f2
- dev-szepeviktor-patch-2
- dev-deps/update-5bcae3ab
- dev-self-update-msg
- dev-deps/update-7b6bfa83
- dev-deps/update-1f47fdfc
- dev-disable-progress-for-exec
- dev-deps/update-5a2c20d9
- dev-deps/update-39cf74bf
- dev-deps/update-09f8e358
- dev-natxet/CssMin-v3.0.6-#5.0.0
- dev-goaop/framework-2.2.0-#5.0.0
- dev-codeception/verify-0.4.0-#5.0.0
- dev-symfony/process-v3.4.6-#5.0.0
- dev-symfony/finder-v3.4.6-#5.0.0
- dev-symfony/filesystem-v4.0.6-#4.0.0
- dev-symfony/event-dispatcher-v4.0.6-#4.0.0
- dev-symfony/console-v4.0.6-#4.0.0
- dev-symfony/filesystem-v4.0.5-#2.0.0
- dev-symfony/event-dispatcher-v4.0.5-#2.0.0
- dev-symfony/console-v4.0.5-#2.0.0
- dev-dependencies-init-config-build-1.0.0
- dev-ignore-scenarios
- dev-examples-as-plugin
- dev-get-command-instance
- dev-restore-5.5-fixup
- dev-symfony-4
- dev-symfony-3.4
- dev-fix-defaults
- dev-consider-application-options
- dev-latest-deps
- dev-inject-option-order
- dev-bespoke-parser
- dev-clu-2017-09-22-22-45
- dev-clu-2017-09-16-17-45
- dev-php-55-lowest-only
- dev-clu-2017-09-08-04-34
- dev-update-dependencies
- dev-test-master
- dev-plugin-commands
- dev-config-interface
- dev-clean-init
- dev-extract-config
- dev-configuration-fallback
- dev-task-configuration-keys
- dev-copydir-exclude-subfolders
- dev-semver-work
- dev-composer-init
- dev-optional-result
- dev-single-stoponfail
- dev-symfony-3.2.6
- dev-option-arrays
- dev-php71
- dev-taskio-verbosity-control
- dev-win-tests
- dev-fix-semver
- dev-appveyor
- dev-custom-events
- dev-small-phar
- dev-php-55-checks
- dev-deploy-phar
- dev-hook-apis
- dev-container-config
- dev-remove-passthroughargsinput
- dev-remove-supress-messages
- dev-provide-config
- dev-config-cleanup
- dev-fix-receivecommand
- dev-fix-verbosity
- dev-symfony-style
- dev-escape-args
- dev-extending-packaging
- dev-gendoc-test
- dev-test-stoponfail
- dev-simulate-test
- dev-relocate-examples
- dev-protect-collectionbuilder
- dev-moar-tests
- dev-conditional
- dev-fix-versioneye
- dev-remove-services
- dev-box-phar-no-chdir
- dev-box-phar
- dev-no-chdir
- dev-process-builder
- dev-no-progress-filter
- dev-fix-phar
- dev-exclude-robofile
- dev-timer-improvement
- dev-supress-messages
- dev-refactor-config
- dev-github-stack
- dev-task-builder-2
- dev-task-builder
- dev-filesystem-capitalization
- dev-collection-docs
- dev-consolidation/robo
- dev-yell-prefix
- dev-status-value-in-test
- dev-code-coverage
- dev-collection-tests
- dev-filesystem-case
- dev-coveralls
- dev-robo-beta
- dev-refactor-gentask
- dev-use-message
- dev-user-cancel
- dev-formatters
- dev-process-hook
- dev-progress-message
- dev-simulated-interface
- dev-type-safety
- dev-git-stack
- dev-load-all-tasks
- dev-passthrough-args
- dev-annotation-command
- dev-no-ask-in-task
- dev-task-accessor
- dev-ask-in-task
- dev-avoid-dynamicparams
- dev-fix-sniff
- dev-sniffer-fixes
- dev-rsync-oddity
- dev-tasklib-2
- dev-standalone-scripts
- dev-tasklib
- dev-no-premature-exit
- dev-jpstacey-bugfix/drupal-project-109-rename-across-filesystems
- dev-collections-docs
- dev-stoponfail-default
- dev-docs-cleanup
- dev-remove-generated
- dev-revert-256-wrapper-task
This package is auto-updated.
Last update: 2024-09-12 04:31:40 UTC
README
现代简单的PHP任务执行器,受Gulp和Rake启发,旨在自动化常见任务,包括跨平台脚本的编写、处理资源(less、sass、压缩)、运行测试、执行守护进程(和工作者)、监视文件系统更改、使用sftp/ssh/docker进行部署
- 处理跨平台脚本
- 处理资源(less、sass、压缩)
- 运行测试
- 执行守护进程(和工作者)
- 监视文件系统更改
- 使用sftp/ssh/docker进行部署
安装
Phar
wget http://robo.li/robo.phar
要全局安装,请将robo.phar
放入/usr/bin
。在OSX 10.11+中使用/usr/local/bin/
chmod +x robo.phar && sudo mv robo.phar /usr/bin/robo
OSX 10.11+
chmod +x robo.phar && sudo mv robo.phar /usr/local/bin/robo
现在您可以使用它就像使用robo
一样。
Composer
- 运行
composer require consolidation/robo:~1
- 使用
vendor/bin/robo
来执行Robo任务。
用法
所有任务均定义为RoboFile.php
中的public methods
。可以通过运行robo
来创建它。所有以task
前缀开始的特质中的受保护方法都是任务,可以在您的任务中进行配置和执行。
示例
通过查看它的自己的RoboFile或Codeception项目的RoboFile来通过示例学习Robo是最好的方式。在examples/RoboFile.php
中也有一些基本的示例命令。
以下是一些示例片段
使用本地服务器和selenium服务器启动运行验收测试。
<?php class RoboFile extends \Robo\Tasks { function testAcceptance($seleniumPath = '~/selenium-server-standalone-2.39.0.jar') { // launches PHP server on port 8000 for web dir // server will be executed in background and stopped in the end $this->taskServer(8000) ->background() ->dir('web') ->run(); // running Selenium server in background $this->taskExec('java -jar ' . $seleniumPath) ->background() ->run(); // loading Symfony Command and running with passed argument $this->taskSymfonyCommand(new \Codeception\Command\Run('run')) ->arg('suite','acceptance') ->run(); } }
如果您执行robo
,您将看到此任务以名称test:acceptance
添加到可用任务列表中。要执行它,您应该运行robo test:acceptance
。您可以通过传递新的路径作为参数来更改selenium服务器的路径。
robo test:acceptance "C:\Downloads\selenium.jar"
使用watch
任务,您可以使用它来运行测试或构建资源。
<?php class RoboFile extends \Robo\Tasks { function watchComposer() { // when composer.json changes `composer update` will be executed $this->taskWatch()->monitor('composer.json', function() { $this->taskComposerUpdate()->run(); })->run(); } }
清理日志和缓存
<?php class RoboFile extends \Robo\Tasks { public function clean() { $this->taskCleanDir([ 'app/cache', 'app/logs' ])->run(); $this->taskDeleteDir([ 'web/assets/tmp_uploads', ])->run(); } }
此任务清理app/cache
和app/logs
目录(忽略.gitignore和.gitkeep文件)。可以通过运行来执行
robo clean
创建Phar存档
function buildPhar() { $files = Finder::create()->ignoreVCS(true)->files()->name('*.php')->in(__DIR__); $packer = $this->taskPackPhar('robo.phar'); foreach ($files as $file) { $packer->addFile($file->getRelativePathname(), $file->getRealPath()); } $packer->addFile('robo','robo') ->executable('robo') ->run(); }
我们需要更多的任务!
创建您自己的任务,并通过Pull Requests发送它们,或者在Packagist上创建带有"type": "robo-tasks"
的composer.json
的包(在Packagist上)。
致谢
关注@robo_php以获取更新。
由Consolidation团队和我们的杰出的贡献者带来。