Grunt coming to BuddyPress after 2.0 release

Shortly after BuddyPress 2.0 is released, we’re going to be updating BuddyPress’ development trunk (buddypress.svn.wordpress.org/trunk) to a Grunt-powered build system. Most people won’t even notice, but for developers and contributors, this means a small workflow change.

TL;DR – keep reading if:

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


Last year, the WordPress project adopted Grunt for handling things like script minification, right-to-left styling conversions, and a few other tasks that become tedious to do repeatedly. The BuddyPress project is adopting many of these same approaches, as well as others more geared towards plugin development than WordPress core.

Without further ado, here’s the gist:

  1. trunk will be re-organised with src and tests folders.
    1. src will contain almost all of BuddyPress as you’ve known it.
    2. tests will contain our phpUnit tests.
    3. A plugin loader file will be added to the root to prevent these changes breaking existing sites running trunk (example).
  2. Configuration files for tests and Travis-CI are moved to the root.
  3. src will no longer include bbPress 1.1 in bp-forums/bbpress.
  4. src will no longer include the BP-Default theme (we’re moving it to the WordPress.org Themes Directory).

Our Grunt runner will be then be used to perform the following tasks:

  1. Validate and lint CSS/JS
  2. Generate right-to-left CSS
  3. Compress images
  4. Run unit tests
  5. Generate the .pot file for internationalisation
  6. Check for missing text domains
  7. Make it easier for developers to apply patches from BuddyPress Trac for testing
  8. Maybe a few other bits and bobs by the time we’re done

To clarify, production releases of BuddyPress will come packaged as they always have:

  • Including old bbPress 1.1
  • Including the BP-Default theme
  • With RTL support
  • With minified CSS/JS
  • Be completely internationalised

These changes only affect the development trunk, and will help the core team with less manual labor going forward.

If this all sounds a bit scary, please rest assured not much is actually changing. bbPress made these exact same changes 2 months ago, and it’s only improved their workflow, helped reduce the number of manual tweaks and version bumps, and generally improved the lives of their contributing audience with minimal added complexity.

If you have questions, concerns, or want to get involved in our Grunt incorporation, drop us a line here, or on this Trac ticket.

#2-0, #2-1, #grunt