BuddyPress 2.2 Will Add Support for Composer

composer-support-buddypress

BuddyPress lead developer Paul Gibbs committed support for Composer to BuddyPress core this week. Developers who want to check it out can find the json file at: trunk/src/composer.json.

If you’re not yet familiar with Composer, it’s essentially a tool for dependency management in PHP. It is designed to manage packages on a per-project basis by bringing in any dependent libraries that you declare in the composer.json file. The dependencies are then automatically installed in a vendor directory or other specified location inside your project.

BuddyPress is not yet listed on Packagist.org but should be added soon. Once it’s listed there, it can easily be declared as a dependency after the next version (2.2) is released.

{
    "require": {
        "buddypress/buddypress": "~2.2"
    }
}

BuddyPress 2.2 is expected in mid-January 2015, according to Gibbs’ reply in the ticket to add Composer. He plans to configure Packagist to pull from http://plugins.svn.wordpress.org/buddypress/.

Because BuddyPress is identified as a WordPress plugin in its json file (“type”: “wordpress-plugin”), composer/installers will by default send it to the wp-content/plugins directory.

If you can’t wait two months, and you’re dying to use BuddyPress with Composer right now, there’s an alternative method. I spoke with WordPress Composer evangelist Andrey Savchenko (@rarst) regarding the news. He suggests that in the meantime developers could use wpackagist, which provides a mirror of the WordPress plugin and theme directories as a Composer repository.

{
 "require"     : {
  "wpackagist-plugin/buddypress": "~2.1"
 },
 "repositories": [
  {
   "type": "composer",
   "url" : "http://wpackagist.org"
  }
 ]
}

If you search for “WordPress” on Packagist, you’ll find many other projects, which can also be easily added into your next BuddyPress project. Composer support makes it easy to create a master composer.json file for your projects, that will save you time by allowing you to load all of your dependencies in a matter of seconds.

Would you like to write for WP Tavern? We are always accepting guest posts from the community and are looking for new contributors. Get in touch with us and let's discuss your ideas.

2 Comments


  1. You’ve always been able to get anything on the WordPress repo with WPackagist. Literally, any plugin or theme in the svn repos.

    Report


    1. Yes, but wpackagist is just an adapter and inherently limited at what it offers. Projects adding native Composer support is always welcomed and opens up full range of Composer functionality (development dependencies for starters).

      Report

Comments are closed.