merged branch igorw/composer (PR #2275)

Commits
-------

731b28b [composer] add missing deps for FrameworkBundle
9c8f100 [composer] change ext/intl to the new ext-intl syntax
d535afe [composer] fix monolog-bridge composer.json, add more inter-component deps
9ade639 [composer] add composer.json

Discussion
----------

Composer

This PR adds a composer.json file for [composer](https://github.com/composer/composer) ([more info](packagist.org/about-composer)).

For discussion you can also go into #composer-dev on freenode and argue with naderman, seldaek and everzet.

---------------------------------------------------------------------------

by naderman at 2011/09/26 15:51:51 -0700

You haven't entered any keywords, they might come in handy when searching for packages on packagist.

But really this is just a +1 ;-)

---------------------------------------------------------------------------

by stof at 2011/09/26 16:12:21 -0700

See my comments on your previous (non-rebased) commit: f1c0242b5a

---------------------------------------------------------------------------

by igorw at 2011/09/27 00:04:36 -0700

Following dependencies do not have a composer.json yet: Twig, Doctrine (orm, dbal, common), swiftmailer.

Also missing from the standard edition: assetic, twig-extensions, jsm-metadata, SensioFrameworkExtraBundle, JMSSecurityExtraBundle, SensioDistributionBundle, SensioGeneratorBundle, AsseticBundle.

The point is, those can be added later on. Having the components composerized is already a leap forward. Also, doctrine depends on some symfony components, we've got to start somewhere.

---------------------------------------------------------------------------

by Seldaek at 2011/09/27 00:36:41 -0700

Also, just for information, the plan is to have `symfony/framework-bundle` be the "framework", with all dependencies to doctrine etc, though we should really only have strict requirements in there, and then in symfony-standard we ship a composer.json that requires the framework-bundle, doctrine-orm and things like that that are not essential to core. Otherwise people don't have a choice about what they use anymore.

Just a comment btw, the json is invalid, all / should be escaped. However json_decode is nice enough to parse those without complaining, browsers do too, even Crockford's json2.js does, so I'm not sure if we should privilege readability over strictness, since it seems nobody really cares about this escaping.

---------------------------------------------------------------------------

by igorw at 2011/09/27 00:41:39 -0700

So, I've implemented all of @stof's suggestions, except (for reasons stated above):

* doctrine to DoctrineBundle
* swiftmailer to SwiftmailerBundle
* twig to TwigBundle
* doctrine-common to Validator
* FrameworkBundle (what exactly does it depend on?)

---------------------------------------------------------------------------

by stof at 2011/09/27 00:52:31 -0700

@igorw at least HttpKernel, Routing, Templating, EventDispatcher, Doctrine Common (annotations cannot be disabled), Translator, Form (optional), Validator (optional), Console (optional). See the service definitions to see the others

@Seldaek FrameworkBundle does not depend on Doctrine, except for Common

---------------------------------------------------------------------------

by beberlei at 2011/09/27 03:15:34 -0700

What does the symfony/ or ext/ prefix control in composer?

---------------------------------------------------------------------------

by Seldaek at 2011/09/27 03:33:52 -0700

symfony/ is just the (mandatory) vendor namespace. Also ext/ has been renamed to ext- now, so it's not in any vendor, and should avoid potential issues.

---------------------------------------------------------------------------

by beberlei at 2011/09/27 05:07:03 -0700

@Seldaek Mandatory? So every package name is "vendor/package"? I like that because previously i thought package names are not namespaced, and thus clashes could occur between different communities easily.

---------------------------------------------------------------------------

by Seldaek at 2011/09/27 05:16:20 -0700

@beberlei: Mandatory. As of yesterday http://packagist.org/ will tell you you have an invalid package name if there's no slash in it. See 1306d1ca82 (diff-3)
This commit is contained in:
Fabien Potencier 2011-09-29 17:27:38 +02:00
commit 5c760b0d40
33 changed files with 841 additions and 0 deletions

56
composer.json Normal file
View File

@ -0,0 +1,56 @@
{
"name": "symfony/symfony",
"type": "library",
"description": "The Symfony PHP framework",
"keywords": ["framework"],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"replace": {
"symfony/doctrine-bridge": ">=2.0",
"symfony/monolog-bridge": ">=2.0",
"symfony/twig-bridge": ">=2.0",
"symfony/doctrine-abstract-bundle": ">=2.0",
"symfony/doctrine-bundle": ">=2.0",
"symfony/framework-bundle": ">=2.0",
"symfony/monolog-bundle": ">=2.0",
"symfony/security-bundle": ">=2.0",
"symfony/swiftmailer-bundle": ">=2.0",
"symfony/twig-bundle": ">=2.0",
"symfony/web-profiler-bundle": ">=2.0",
"symfony/browser-kit": ">=2.0",
"symfony/class-loader": ">=2.0",
"symfony/config": ">=2.0",
"symfony/console": ">=2.0",
"symfony/css-selector": ">=2.0",
"symfony/dependency-injection": ">=2.0",
"symfony/dom-crawler": ">=2.0",
"symfony/event-dispatcher": ">=2.0",
"symfony/finder": ">=2.0",
"symfony/form": ">=2.0",
"symfony/http-foundation": ">=2.0",
"symfony/http-kernel": ">=2.0",
"symfony/locale": ">=2.0",
"symfony/process": ">=2.0",
"symfony/routing": ">=2.0",
"symfony/security": ">=2.0",
"symfony/serializer": ">=2.0",
"symfony/templating": ">=2.0",
"symfony/translation": ">=2.0",
"symfony/validator": ">=2.0",
"symfony/yaml": ">=2.0"
}
}

View File

@ -0,0 +1,26 @@
{
"name": "symfony/doctrine-bridge",
"type": "symfony-bridge",
"description": "Symfony Doctrine Bridge",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"suggest": {
"symfony/form": ">=2.0",
"symfony/validator": ">=2.0"
}
}

View File

@ -0,0 +1,24 @@
{
"name": "symfony/monolog-bridge",
"type": "symfony-bridge",
"description": "Symfony Monolog Bridge",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/http-kernel": ">=2.0",
"monolog/monolog": ">=1.0"
}
}

View File

@ -0,0 +1,28 @@
{
"name": "symfony/twig-bridge",
"type": "symfony-bridge",
"description": "Symfony Twig Bridge",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"suggest": {
"symfony/form": ">=2.0",
"symfony/routing": ">=2.0",
"symfony/translation": ">=2.0",
"symfony/yaml": ">=2.0"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/doctrine-abstract-bundle",
"type": "symfony-bundle",
"description": "Symfony DoctrineAbstractBundle",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,24 @@
{
"name": "symfony/doctrine-bundle",
"type": "symfony-bundle",
"description": "Symfony DoctrineBundle",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/doctrine-bridge": ">=2.0",
"symfony/doctrine-abstract-bundle": ">=2.0"
}
}

View File

@ -0,0 +1,32 @@
{
"name": "symfony/framework-bundle",
"type": "symfony-bundle",
"description": "Symfony FrameworkBundle",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/event-dispatcher": ">=2.0",
"symfony/http-kernel": ">=2.0",
"symfony/routing": ">=2.0",
"symfony/templating": ">=2.0",
"symfony/translator": ">=2.0"
},
"recommend": {
"symfony/console": ">=2.0",
"symfony/form": ">=2.0",
"symfony/validator": ">=2.0"
}
}

View File

@ -0,0 +1,24 @@
{
"name": "symfony/monolog-bundle",
"type": "symfony-bundle",
"description": "Symfony MonologBundle",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"monolog/monolog": ">=1.0",
"symfony/monolog-bridge": ">=2.0"
}
}

View File

@ -0,0 +1,23 @@
{
"name": "symfony/security-bundle",
"type": "symfony-bundle",
"description": "Symfony SecurityBundle",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/security": ">=2.0"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/swiftmailer-bundle",
"type": "symfony-bundle",
"description": "Symfony SwiftmailerBundle",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/twig-bundle",
"type": "symfony-bundle",
"description": "Symfony TwigBundle",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,23 @@
{
"name": "symfony/web-profiler-bundle",
"type": "symfony-bundle",
"description": "Symfony WebProfilerBundle",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/twig-bundle": ">=2.0"
}
}

View File

@ -0,0 +1,26 @@
{
"name": "symfony/browser-kit",
"type": "library",
"description": "Symfony BrowserKit Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/dom-crawler": ">=2.0"
},
"suggest": {
"symfony/process": ">=2.0"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/class-loader",
"type": "library",
"description": "Symfony ClassLoader Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/config",
"type": "library",
"description": "Symfony Config Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/console",
"type": "library",
"description": "Symfony Console Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/css-selector",
"type": "library",
"description": "Symfony CssSelector Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,28 @@
{
"name": "symfony/dependency-injection",
"type": "library",
"description": "Symfony DependencyInjection Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"recommend": {
"symfony/config": ">=2.0"
},
"suggest": {
"symfony/yaml": ">=2.0"
}
}

View File

@ -0,0 +1,25 @@
{
"name": "symfony/dom-crawler",
"type": "library",
"description": "Symfony DomCrawler Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"suggest": {
"symfony/css-selector": ">=2.0"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/event-dispatcher",
"type": "library",
"description": "Symfony EventDispatcher Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/finder",
"type": "library",
"description": "Symfony Finder Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,28 @@
{
"name": "symfony/form",
"type": "library",
"description": "Symfony Form Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/event-dispatcher": ">=2.0",
"symfony/locale": ">=2.0",
"symfony/validator": ">=2.0"
},
"suggest": {
"symfony/http-foundation": ">=2.0"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/http-foundation",
"type": "library",
"description": "Symfony HttpFoundation Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,32 @@
{
"name": "symfony/http-kernel",
"type": "library",
"description": "Symfony HttpKernel Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/event-dispatcher": ">=2.0",
"symfony/http-foundation": ">=2.0"
},
"suggest": {
"symfony/browser-kit": ">=2.0",
"symfony/class-loader": ">=2.0",
"symfony/config": ">=2.0",
"symfony/console": ">=2.0",
"symfony/dependency-injection": ">=2.0",
"symfony/finder": ">=2.0"
}
}

View File

@ -0,0 +1,25 @@
{
"name": "symfony/locale",
"type": "library",
"description": "Symfony Locale Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"suggest": {
"ext-intl": ">=5.3.2"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/process",
"type": "library",
"description": "Symfony Process Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,26 @@
{
"name": "symfony/routing",
"type": "library",
"description": "Symfony Routing Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"suggest": {
"symfony/config": ">=2.0",
"symfony/yaml": ">=2.0"
}
}

View File

@ -0,0 +1,31 @@
{
"name": "symfony/security",
"type": "library",
"description": "Symfony Security Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2",
"symfony/event-dispatcher": ">=2.0",
"symfony/http-foundation": ">=2.0",
"symfony/http-kernel": ">=2.0"
},
"suggest": {
"symfony/class-loader": ">=2.0",
"symfony/finder": ">=2.0",
"symfony/form": ">=2.0",
"symfony/routing": ">=2.0"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/serializer",
"type": "library",
"description": "Symfony Serializer Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/templating",
"type": "library",
"description": "Symfony Templating Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}

View File

@ -0,0 +1,26 @@
{
"name": "symfony/translation",
"type": "library",
"description": "Symfony Translation Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"suggest": {
"symfony/config": ">=2.0",
"symfony/yaml": ">=2.0"
}
}

View File

@ -0,0 +1,26 @@
{
"name": "symfony/validator",
"type": "library",
"description": "Symfony Validator Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
},
"suggest": {
"symfony/http-foundation": ">=2.0",
"symfony/yaml": ">=2.0"
}
}

View File

@ -0,0 +1,22 @@
{
"name": "symfony/yaml",
"type": "library",
"description": "Symfony Yaml Component",
"keywords": [],
"homepage": "http://symfony.com",
"version": "2.0.4",
"license": "MIT",
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"require": {
"php": ">=5.3.2"
}
}