Fabien, how else would we achieve separate release cycle for bundles? On Thu, Feb 17, 2011 at 5:46 PM, Fabien Potencier < fabien.potenc...@symfony-project.com> wrote:
> On 2/17/11 11:11 PM, Bernhard Schussek wrote: > >> Hi all, >> >> When discussing the namespace decision of today's IRC meeting, we >> realized that we can't make such a decision before having a clear >> picture of how to organize the Symfony2 universe (everything under the >> Symfony\ vendor namespace). >> >> So, here goes the RFC. You can find the original here: >> https://gist.github.com/832486 Please bear with my wording, I'm not >> good at formulating things. I'm looking forward to hear your comments >> or adaptions to make this RFC happen. >> >> Organization of projects in the Symfony2 universe >> ================================================= >> >> Definitions >> ----------- >> "Project": A project is a collection of code maintained by specific >> persons. >> >> Namespacing >> ----------- >> Every project in the Symfony2 universe has a namespace under Symfony\. >> We call this namespace the project-level namespace. >> >> Example: >> >> Symfony\Twig >> Symfony\Templating >> Symfony\Validator >> >> Bundles are special projects that reside in sub-namespaces >> Symfony\Framework or Symfony\CMF, because they share a common >> architecture (controllers, DI config etc.) and require a specific >> application structure. Bundles under Symfony\CMF are maintained by a >> separate group of committers and built on top of Symfony\Framework. >> >> Symfony\Framework\SecurityBundle >> Symfony\CMF\XxxxBundle >> >> Important: No project must ever write into project-level namespaces >> except his own! For example, the Validator project must never define >> classes in Symfony\Templating. >> >> Currently, there'd be 23 project-level namespaces under the Symfony >> vendor namespace (21 components, Framework, CMF). The expected number >> in the future is around 40, hosted in various GitHub repositories. >> > > If I follow the reasoning, each bundle should be its own project too then. > > > Dependencies >> ------------ >> Projects can have weak (optional) and strong (required) dependencies. >> Projects can also be completely independent. >> >> Examples (independent): >> >> Symfony\Twig >> Symfony\Validator >> >> Examples (dependencies): >> >> Symfony\Framework\FrameworkBundle -> Symfony\HttpFoundation, ... >> Symfony\CMF -> Symfony\Framework >> >> Repositories >> ------------ >> All projects CAN (not must) be hosted in different GitHub repositories >> and maintained by different people. >> >> The directory structure can be organized like the Doctrine2 >> repositories and like the current Symfony2 repository: Each repository >> has a top-level "src" (or "lib") folder and a top-level "tests" >> folder. >> >> Versioning >> ---------- >> Projects have independent versioning. So we can talk about Twig v2.0, >> Validator v2.5, CMF v1.0 etc. Because bundles are very likely to have >> their own release cycles, they have independent versioning as well, >> for example SecurityBundle v2.5, FrameworkBundle v2.1 etc. >> >> A Symfony Framework release is a combination of specific versions of >> its bundles and required projects. >> >> Package management >> ------------------ >> Once we have automated package management, each project, along with >> its version and dependency definitions, can be delivered in an >> installable package. >> >> Pros and Cons: >> >> + clear separation of projects and responsibilities >> + logical structure for people unrelated to Symfony >> >> - BC break, but can be fixed in an automated fashion by recursively >> renaming all namespaces >> >> This proposal is supported by: >> >> * bschussek >> * avalanche123 >> * Seldaek >> * johanness >> * pgodel >> * henrikbjorn >> * jmikola >> * lsmith >> * jonwage >> * naderman >> >> > -- > If you want to report a vulnerability issue on symfony, please send it to > security at symfony-project.com > > You received this message because you are subscribed to the Google > Groups "symfony developers" group. > To post to this group, send email to symfony-devs@googlegroups.com > To unsubscribe from this group, send email to > symfony-devs+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/symfony-devs?hl=en > -- *Bulat Shakirzyanov* | Software Alchemist *a: *about.me/avalanche123 *e:* mallluh...@gmail.com -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony developers" group. To post to this group, send email to symfony-devs@googlegroups.com To unsubscribe from this group, send email to symfony-devs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-devs?hl=en