From: Denis Golovin <dgolovin(a)exadel.com>
Subject: Re: Proposed New Github Component Chunks for JBoss Tools 4.0
Date: 24 Aug 2012 02:56:58 GMT+02:00
Below is the diagram I've got by analyzing dependencies it let reduce amount of
components to 13 without any changes to dependencies we have now ( transitive dependencies
aren't shown like openshift->common, because openshift->as and as->common).
Opened questions:
* openshift in as component?
* forge and freemarker inside common?
If we would revert central and examples dependencies and let interested components inject
examples and certain functionality into central (not sure if that possible) that would be
logical to have them in common component
That would reduce 13 to 9 counting forge, freemarker and openshift consumed by bigger
components.
# Current dependencies:
# final git modules dependencies
Denis
On 08/23/2012 12:00 PM, Nick Boldt wrote:
> As part of the planned migration to git [0] it's been suggested that we combine
some of the existing components into larger groups [1] so that it's more manageable in
terms of checking out sources and tagging/branching [2].
>
> Because 25 is a large number, and 1 is a small number, and we need some happy
compromise.
>
> Here's my proposal for how to divide the JBT 4.0 sources into 7 github repos
(chunks), comprising 4 tiers of dependency. This is akin to the +0, +1, +2, +3 labels
assigned to projects within the annual Eclipse release trains [3], used to define delivery
times based on dependencies between projects.
>
> == TIER 0: no upstream
JBoss.org chunks ==
>
> Base = tests + common + usage
>
> == TIER 1: 1 upstream chunk, Base ==
>
> AppServer = openshift + as + archives + jmx
> -> depends on Base
>
> Hibernate/Birt/Freemarker = hibernate + birt + freemarker
> -> depends on Base
>
> Visual Editing = vpe + xulrunner + gwt + struts + jsf + jst + cdi
> -> depends on Base
>
> Web Services = WS + Forge
> -> Depends on Base
>
> == TIER 2: 4 upstream chunks ==
>
> Seam/Runtime = Seam + Runtime
> -> depends on Hib + Vis + AppServer + Base
>
> == TIER 3: 5 upstream chunks ==
>
> Central/Examples/Maven/Portlet = central + examples + maven + portlet
> -> depends on Seam/Runtime + Hib + Vis + AppServer + Base
>
> I'm not thrilled with the names of the chunks, as something like
"Central/Examples/Maven/Portlet" doesn't exactly roll off the tongue. If you
have better names for the chunks, please suggest them.
>
> But regardless of name, I think the above separation of concerns, and the implied
build sequence workflow makes a lot of sense.
>
> [0]
http://tinyurl.com/git-migration-plan
> [1]
http://ether-man.rhcloud.com/p/build.next
> [2]
http://ether-man.rhcloud.com/p/jbosstools-2012-08-23
> [3]
http://wiki.eclipse.org/Juno/Simultaneous_Release_Plan#Milestones_and_Rel... -
"These delivery times are based on the dependencies between projects. They are
labeled +0, +1, +2, and +3, with +0 coming first (the Platform) and +3 coming last (EPP).
Projects themselves decide if they are +0, +1, +2, or +3."
>
> If you have comments or suggestions regarding this migration plan, please post them
here or in
https://issues.jboss.org/browse/JBIDE-12475.
>
> Thanks!
>