Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-12475

Split JBoss Tools into several functional groups of components for migration to Github

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.0.0.Beta2
    • 4.0.0.Alpha1
    • build
    • None

      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.

      TIER 0: no upstream JBoss.org chunks
      Base = tests + common + usage
      
      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
      
      TIER 2: 4 upstream chunks
      Seam/Runtime = Seam + Runtime 
        -> depends on Hib + Vis + AppServer + Base
      
      TIER 3: 5 upstream chunks
      Central/Examples/Maven/Portlet = central + examples + maven + portlet
        -> depends on Seam/Runtime + Hib + Vis + AppServer + Base
      

      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."

        1. Components-And-Groups-Final.png
          Components-And-Groups-Final.png
          77 kB
        2. Components-Final .gliffy
          216 kB
        3. Components-Final .png
          Components-Final .png
          59 kB
        4. git-decomposition.png
          git-decomposition.png
          233 kB
        5. git-decomposition1.png
          git-decomposition1.png
          98 kB
        6. git-decomposition-bigger.png
          git-decomposition-bigger.png
          16 kB
        7. max_suggestio.gliffy
          334 kB
        8. max_suggestio.png
          max_suggestio.png
          49 kB

              manderse@redhat.com Max Andersen
              nickboldt Nick Boldt
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: