[
https://issues.jboss.org/browse/JBIDE-12475?page=com.atlassian.jira.plugi...
]
Nick Boldt commented on JBIDE-12475:
------------------------------------
BTW, the other approach, which iterates through all the folders in the svngit mirror clone
we DO NOT WANT...
{code}
# $dd is a for-loop variable matching as, archives, birt, bpel, build, cdi, central,
deltacloud, documentation,
download.jboss.org, drools, ...
git filter-branch --force --index-filter "git rm -r -f -q --cached --ignore-unmatch
${dd}/" --prune-empty HEAD
{code}
... will take DAYS to process. Started it at 2012-09-13 4:45am and as of 2012-09-14
12:27am (about 20hrs later) it's managed to wipe the folders above and about half of
drools. That only leaves 22.5 folders to go, or perhaps another 40hrs. Hugely impractical
for the javaee, Persistence (datatools), and Server (as) multicomponent repos, if it's
~2.5days each to simply process the excess git history & artifacts.
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