BuddyPress Development Trunk to Adopt a Grunt-Powered Build System


Now that BuddyPress 2.0 has been released, the core development team is refining its workflow to make use of Grunt, the Javascript task runner that the WordPress project adopted last year. The BuddyPress development trunk will be adopting a similar Grunt-powered build system that will automate many tedious tasks.

The BuddyPress trunk will be reorganized to include a /src directory for BuddyPress, minus bbPress 1.1 and the BP-Default theme, which will be removed. The /tests directory will house the phpUnit tests. Travis-CI and configuration files for tests will be moved to the root.

Who Is Affected?

The reorganization of the trunk will not affect production releases of BuddyPress, so for most ordinary users nothing will change. BuddyPress core contributor Paul Gibbs specified who will be affected by the changes in his post on the development blog. The changes concern you if:

  • You develop plugins for BuddyPress
  • You are a core contributor
  • You run a checkout of trunk on a production site

While this cross section of affected users represents just a handful of BuddyPress developers, the good news for everyone is that both core and extension development will become more efficient. That means that improvements and new plugins are likely to reach you faster than before.

How Will Grunt Make BuddyPress Development More Efficient?

Grunt will reduce the amount of manual labor that developers put into contributing to the BuddyPress core and creating plugins. The task runner will handle all of the following:

  • Validate and lint CSS/JS
  • Generate right-to-left CSS
  • Compress images
  • Run unit tests
  • Generate the .pot file for internationalization
  • Check for missing text domains
  • Make it easier for developers to apply patches from BuddyPress Trac for testing

The core team may add to this list in the future. If you want to get involved in the discussion or keep an eye on the “grunt-ification” of the BuddyPress trunk, there’s a trac ticket open where updates will be posted. Core contributors and developers running a checkout of trunk on production/development sites will want to stay tuned for any changes that might affect your workflow.