Skip to content

kevin-dutra/grunt-drupal-tasks

 
 

Repository files navigation

Grunt Drupal Tasks

A Grunt plugin to automate Drupal build and testing tasks

Code Status (master branch): Travis CI status Dependency Status Peer Dependency Status npm version

Requirements

Note that Grunt Drupal Tasks can not make use of Node v4 or greater nor npm v3 or greater at this time

  • Install Node.js v0.10.0 or better but not outside of the v0.x.x series either using a package manager like apt-get, brew, or yum or a standalone installer.

  • Once Node.js is installed, use npm to install grunt-cli, the Grunt command line interface, by running:

npm install -g grunt-cli
  • Some optional features, used in the included example and end-to-end test suite, require additional tools, including Bundler, Composer, Ruby, and RubyGems.

Quickstart

We have a Yeoman generator that can quickly take you from an empty directory to a running Drupal site using this toolchain.

Please welcome Gadget!

Features

This project is built on the tools of the Grunt community to provide scripted automation of a number of PHP & Drupal tasks. Here are a few examples of what it provides:

  • Drush make-based build workflow
  • CI portability (used with Jenkins so far)
  • Opt-in for a number of great enhancements:
    • Composer dependency management for PHP
    • Bundler dependency management for Ruby
    • PHP code quality & static analysis checks
    • Compass compilation
    • Behat testing
  • Deployment packaging
  • Git Hook management
  • Extensibility: Add or override with your plugins or configuration.

We are continuously working to improve this toolchain, adding functionality that we see as common to our continuous integration and everyday development practices.

Usage

Working on a project that's integrated grunt-drupal-tasks? Run grunt help to view documentation tailored for your project.

To build your Drupal site, run grunt.

Special Flags

These flags are not yet documented as part of the grunt help command.

  • --quiet: Suppress desktop notifications.
  • --notify: Request a desktop notification despite timing or environment settings.
  • --timer: Output execution time profile at the end of the task run.
  • --concurrency: Override the dynamic concurrency by Drush Make.
  • --no-validate: Skip grunt:validate in the default grunt task.

Environment Options

These environment variables will override other options.

  • GDT_DOMAIN: Specify the base URL for live system testing. Falls back to a setting in the project's Gruntconfig.json, then hostname if not set.
  • GDT_INSTALL_PROFILE: Overrides the install profile specified in the project's Gruntconfig.json to be used by the install task.
  • GDT_QUIET: If evaluated truthy, will suppress all desktop notifications.
  • GDT_SITE_ALIAS: Configure the default Drush site alias for the project.
  • GDT_SITEURLS: Overrides the URL(s) for the project's site(s) specified in the Gruntconfig.json by which each can be accessed for end-to-end testing by tools such as Behat. Use instead of GDT_DOMAIN if the project has multiple subsites or URLs.

Setting Up and Extending

For information on setting up your project with these tools, see CONFIG.md.

For information on extending these tools or contributing changes, see EXTEND.md.

For information on using these tools with a continuous integration (CI) system, see CI.md.

About

Grunt-based build and testing tasks for Drupal

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 86.8%
  • Gherkin 4.0%
  • Shell 3.2%
  • CSS 2.4%
  • Ruby 2.3%
  • PHP 1.3%