[
https://issues.jboss.org/browse/JBIDE-12475?page=com.atlassian.jira.plugi...
]
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/usin...
[2]
http://stackoverflow.com/questions/277029/combining-multiple-git-reposito...
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_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
For more information on JIRA, see:
http://www.atlassian.com/software/jira