Project

carrasco

0.0
No commit activity in last 3 years
No release in over 3 years
Command executor
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 0
 Project Readme

Carrasco

Heartless and easy script execution.

Simple task runner, yaml config file.

Motivation:

Often in projects we have ./bin folder with project related scripts. On top of that there's grunt, rake, composer... sass compilation tasks...

When trying to figure out what script/task to run we have to check many sources.

Then I decided to make it simpler and a bit more organized. Now we can run carrasco and all tasks will be listed. Well, all of the tasks listed in the .carrasco.yml file anyway.

Build Status Coverage Status Code Climate Scrutinizer Code Quality Dependency Status Gem Version

Installation

Add this line to your application's Gemfile:

gem 'carrasco'

And then execute:

$ bundle

Or install it yourself as:

$ gem install carrasco

Usage

Given you have a config file like the following in the root of your project:

# .carrasco.yml

commands:

  test:
    description: execute ruby tests
    command: rake test

  phpunit:
    description: execute php tests
    command: ./bin/vendor/phpunit --configuration=tests/phpunit.xml

  clear_cache:
    description: Clears the application cache
    command: rm -rf ./app/cache

  composer_install:
    description: install php dependencies
    command: composer install

  npm_install:
    description: install node dev tools
    command: npm_install

  clear_cache:
    description: clears application cache
    command: rm -rf ./storage/cache/*

  db_create:
    description: creates database
    command: ./bin/db_create.sh

  db_migrate:
    description: migrates database
    command: ./bin/db_migrate.sh

groups:
  qa:
    description: Runs qa tools
    # if you want phpunit to run even if the test task fails you should set
    # break_on_failure to true
    #
    # it will return non zero status code if any of the commands fail
    # even if break_on_failure is set to false
    #
    # this option defaults to true
    break_on_failure: false
    commands:
      - test
      - phpunit
      # - grunt test

  app_setup:
    description: run all commands to install the app
    commands:
      - composer_install
      - npm_install
      - clear_cache
      - db_create
      - db_migrate

You can execute:

1 - If you installed with gem install

carrasco            # list commands
carrasco phpunit    # phpunit only
carrasco qa         # all qa scripts
carrasco app_setup  # install the application dependencies

2 - If you used bundler

bundle exec carrasco            # list commands
bundle exec carrasco phpunit    # phpunit only
bundle exec carrasco qa         # all qa scripts
bundle exec carrasco app_setup  # install the application dependencies

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/mjacobus/carrasco. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.