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

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.0.0.Alpha1
    • Fix Version/s: 4.0.0.Beta2
    • Component/s: build
    • Labels:
      None

      Description

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

        Gliffy Diagrams

          Attachments

          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

            Issue Links

              Activity

                People

                • Assignee:
                  maxandersen Max Andersen
                  Reporter:
                  nickboldt Nick Boldt
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  9 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: