]
Nick Boldt commented on JBIDE-12475:
------------------------------------
@Denis:
You omitted OpenShift in your bigger-components diagram vs. the git-decomposition1
diagram.
Does it stand alone or merge into the "as" chunk? Also, why not put WS into the
"as" chunk too?
I'm trying to ensure that no git repo contains only a single project because by doing
so we ensure fewer checkouts and fewer tagging operations.
So why not include XulRunner in the "javaee" chunk, and GWT in the
"as" or "common" one?
That would reduce the number of repos from 9 to 5, and greatly simplify the overall view
of the components and their interdependencies.
Split JBoss Tools into several functional groups of components for
migration to Github
--------------------------------------------------------------------------------------
Key: JBIDE-12475
URL:
https://issues.jboss.org/browse/JBIDE-12475
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: Build/Releng
Affects Versions: 4.0.0.M1
Reporter: Nick Boldt
Assignee: Nick Boldt
Fix For: 4.0.0.M1
Attachments: bigger-components.png, git-decomposition.png,
git-decomposition1.png
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.
{code:title=TIER 0: no upstream
JBoss.org chunks}
Base = tests + common + usage
{code}
{code:title=TIER 1: 1 upstream chunk, Base}
AppServer = openshift + as + archives + jmx + ws
-> depends on Base
Hibernate/Birt/Freemarker = hibernate + birt + freemarker
-> depends on Base
Visual Editing = vpe + xulrunner + gwt + struts + jsf + jst + cdi
-> depends on Base
Forge = forge
-> Depends on Base
{code}
{code:title=TIER 2: 4 upstream chunks}
Seam/Runtime = Seam + Runtime
-> depends on Hib + Vis + AppServer + Base
{code}
{code:title=TIER 3: 5 upstream chunks}
Central/Examples/Maven/Portlet = central + examples + maven + portlet
-> depends on Seam/Runtime + Hib + Vis + AppServer + Base
{code}
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."
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: