cakephp/cakephp — pull request #1606 by markstory (2013-09-04 19:29:03+00:00)
Title: 3.0 Require Composer

This set of changes switches CakePHP and applications created with it to rely on composer. In the future developers will create a new application in one of the following ways:

- Cloning cakephp/cakephp-app.
- Using `php composer.phar create-project cakephp/cakephp-app`
- Downloading a prebuilt all in one package.

This obsoletes and removes the following install options as supported options. You'll still be able to make some of them work if you try hard enough.

- PEAR package
- Shared CakePHP libraries.
- Just cloning cakephp/cakephp (as there won't be an app dir).

These new install options will require a new repository for the application skeleton that has not been created. I've created prototype repositories for the new splits at [markstory/cakephp-cakephp](https://github.com/markstory/cakephp-cakephp) and [markstory/cakephp-app](https://github.com/markstory/cakephp-app). These prototypes are what I'm planning the final repositories will look like. There are a few things left to do, and the list below details them. However, I wanted to get the discussion started early as I'm sure there will be more than a few opinions and good ideas I didn't have about this change.

#### Todo

- [ ] Verify that `cake bake project` still works.
- [ ] Finish tests off where possible for ProjectTask.
- [ ] Sort out `Cake\Core\Plugin` and the Classloader.

After this is merged I'll be doing the following:

- Creating a new `cakephp/cakephp-app` repository and splitting the App subtree off into it. This will make future merges painful as the code will be in a different repository. But generally the App directory doesn't change much so I think merging issues will be rare.
- Shuffling files around in `cakephp/cakephp` so that the current `lib/` is the new repository root.