[jbosstools-issues] [JBoss JIRA] (JBIDE-12475) Split JBoss Tools into several functional groups of components for migration to Github

Nick Boldt (JIRA) jira-events at lists.jboss.org
Fri Sep 14 00:25:33 EDT 2012


    [ https://issues.jboss.org/browse/JBIDE-12475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12718520#comment-12718520 ] 

Nick Boldt commented on JBIDE-12475:
------------------------------------

Proposed new strategy for handling the merged-component cases (in trunk only, until we branch for Alpha2):

a) migrate individual components to new repos, eg., for Base we would create jbosstools-common, jbosstools-tests, jbosstools-runtime, and jbosstools-usage.

b) use [1] and [2] to merge all 4 components into a new repo, jbosstools-base, keeping each one in its own subfolder (and adding a root pom.xml for building convenience)

c) new pair of Jenkins jobs (4.0_trunk and 4.0_stable_branch) would be updated to build from jbosstools-base rather than needing 4 jobs for common, tests, runtime, and usage.

For 3.3.x builds, we will just use the 4 individual component repos and 4 matching jobs. But in 4.0_trunk/4.0_stable_branch, we can use a single job for all 4 components.

[1] http://ftp.sunet.se/pub/Linux/kernel.org/software/scm/git/docs/howto/using-merge-subtree.html
[2] http://stackoverflow.com/questions/277029/combining-multiple-git-repositories

                
> 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.Alpha1
>            Reporter: Nick Boldt
>            Assignee: Nick Boldt
>             Fix For: 4.0.0.Beta1
>
>         Attachments: Components-Final .gliffy, Components-Final .png, git-decomposition-bigger.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_Release_Candidates - "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
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbosstools-issues mailing list