[
https://issues.jboss.org/browse/JBIDE-12475?page=com.atlassian.jira.plugi...
]
Nick Boldt edited comment on JBIDE-12475 at 8/27/12 2:17 PM:
-------------------------------------------------------------
Denis' variation involves 13 chunks:
!git-decomposition.png!
{code:title=TIER 0: no upstream
JBoss.org chunks}
Common = tests + common + usage
Xulrunner = xulrunner
{code}
{code:title=TIER 1: 1 upstream chunk, Common or Xulrunner}
AppServer = as + archives + jmx
-> depends on Common
Freemarker = freemarker
-> depends on Common
Datatools = hibernate + birt
-> depends on Common
GWT = gwt
-> depends on Common
Web Services = WS
-> depends on Common
Forge = Forge
-> depends on Common
{code}
{code:title=TIER 2: 2 upstream chunks}
OpenShift = OpenShift
-> depends on Common + AppServer
{code}
{code:title=TIER 3: 4 upstream chunks}
JEE = vpe + struts + jsf + jst + cdi + seam + portlet
-> depends on Xulrunner + Common + AppServer + Datatools
{code}
{code:title=TIER 4: 5 upstream chunks}
Runtime = Runtime
-> depends on Common + AppServer + Datatools + JEE + Xulrunner
{code}
{code:title=TIER 5: 6 upstream chunks}
Maven = maven
-> depends on Runtime + JEE + Common + AppServer + Datatools + Xulrunner
{code}
{code:title=TIER 6: 8 upstream chunks}
Central = central + examples
-> depends on Maven + Freemarker + Runtime + JEE + Common + AppServer + Datatools +
Xulrunner
{code}
was (Author: nickboldt):
Denis' variation involves 13 chunks:
!git-decomposition.png!
{code:title=TIER 0: no upstream
JBoss.org chunks}
Common = tests + common + usage
Xulrunner = xulrunner
{code}
{code:title=TIER 1: 1 upstream chunk, Common or Xulrunner}
AppServer = as + archives + jmx
-> depends on Common
Freemarker = freemarker
-> depends on Common
Datatools = hibernate + birt
-> depends on Common
GWT = gwt
-> depends on Common
Web Services = WS
-> depends on Common
Forge = Forge
-> depends on Common
{code}
{code:title=TIER 2: 2 upstream chunks}
OpenShift = OpenShift
-> depends on Common + AppServer
{code}
{code:title=TIER 3: 5 upstream chunks}
JEE = vpe + struts + jsf + jst + cdi + seam + portlet
-> depends on Xulrunner + Common + AppServer + Datatools
{code}
{code:title=TIER 4: 6 upstream chunks}
Runtime = Runtime
-> depends on Common + AppServer + Datatools + JEE + Xulrunner
{code}
{code:title=TIER 5: 7 upstream chunks}
Maven = maven
-> depends on Runtime + JEE + Common + AppServer + Datatools + Xulrunner
{code}
{code:title=TIER 6: 9 upstream chunks}
Central = central + examples
-> depends on Maven + Freemarker + Runtime + JEE + Common + AppServer + Datatools +
Xulrunner
{code}
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: git-decomposition.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
-> 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
{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:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira