Vanilla now uses Composer
Yesterday, we merged a change to
master branch that greatly effects how folks interact with the repository: we switched to Composer.
This means it is no longer possible to simply clone the repo into a web directory and run Vanilla. In developer parlance, the source code and the runtime code have diverged. Now to build Vanilla's runtime code, you must install Composer. This is only necessary if you are running a non-official version directly from GitHub - the releases on this site will continue to work normally because we will be pre-building those for you (using Phing, if you're interested).
Composer will eventually replace the entire
/library/vendors directory, in addition to being the autoloader for
/library/core files. For dependencies without Composer support we'll make a wrapper for them.
Unfortunately, it will not be possible to directly manage addons using Composer. Our plugin structure demands that disabled addons never have their files autoloaded, which is not something Composer can support.
Why we added Composer:
- Vastly easier dependency management.
- It's had wide support in the PHP community for quite some time.
- Other Composer-based projects can now easily use Vanilla if they want.
More architectural improvements like this are coming soon.