How we create our update-sites? What are they? Which one you should use?

Version 4

    JBoss Tools is made of a lot of plugins coming from different component, and that are aggregated for ease their installation. There are a lot of repositories. This page is intended to explain what are our repositories, what are they aimed to, and where they are coming from:

     

    General process

    Here is the general process of the lifecycle of sites in the build.

    For each stream (branch or trunk) in progress:

    1. Mirror requirements and composite specific versions into a single Requirements site
    2. Build all common stuff (parent, target-platforms). Publish to maven artifacts to JBoss Nexus and update sites to download.jboss.org
    3. Build each component and publish to download.jboss.org
    4. A staging composite repository is used to provide a single URL for all components' update sites
    5. A nightly snapshot is continuously created from the composite site. It contains the latest good build of each component, including categorization & source features/plugins. A test site is also created, containing only test features/plugins.
    6. After a code-freeze, the nightly snapshot is first staged as a development milestone and passed to QE for validation. Upon approval, it is published to www.jboss.org.
    7. After several milestone and validation cycles, we publish our best development milestone as a stable release.

     

    The same applies to SOA components. Some additional steps exist to also build JBDS site and products continuously, following the same lifecycle.

     

    Here's a diagram which shows how all the jobs, update sites, and other artifacts co-exist:

     

    HowWeBuild_Diagram.png

    Repositories / Update-Sites

    Requirements / Target-platfoms sites / Mirrors

    These site are mirrors of dependencies of JBoss Tools. They are here to provide more performance and to ensure we have a backup of everything we depend on.

     

    URLNameProfile to activate in buildPerformance
    When to use it?
    http://download.jboss.org/jbosstools/updates/requirements/<NAME>/<VERSION>/Individual mirrorNot possibleGoodWhen you want to install a 3rd-party deps, and you prefer this server
    http://download.jboss.org/jbosstools/updates/<ECLIPSE_RELEASE_TRAIN>/Composute requirementsNot possible, should be part of Target PlatformBadTo build extras and target-platform site
    http://download.jboss.org/jbosstools/updates/target-platform_<NAME>/Target Platform siteBy default, as part of the target-platformGoodIs a mirror of the target platform. It is used whenever you use a .target file.

     

     

    JBT (non-SOA)

     

    URL

    Name

    Profile to activate in buildQuality/StabilityPerformancesWhen to use it?
    http://download.jboss.org/jbosstools/builds/staging/<COMPONENT_JOB_NAME>/all/repo/Component repNot possible, use composite insteadPoorGoodWhen you really want the latest stuff on a single component without loosing performances
    http://download.jboss.org/jbosstools/builds/staging/_composite_/core/<BRANCH_NAME>Composite repo-P jbosstools-nightly-compositePoorPoorIf you want very latest changes
    http://download.jboss.org/jbosstools/builds/staging/jbosstools-<BRANCH_NAME>.aggregate/all/repo/Aggregated snapshot repoNot possible, use jbosstools-nightly insteadPoorAverageNEVER. This is the temporary location of the aggregated site. It gets published to a better location afer
    http://download.jboss.org/jbosstools/updates/nightly/core/<BRANCH_NAME>Aggregated snapshot repoCurrently, use -P jbosstools-staging-aggregatePoorGood

    When you want to develop with recent version of dependencies (1 or 2 days ago). Suitable for local testing

    NOTE: this is the "work in progress" final site

    http://download.jboss.org/jbosstools/updates/nightly/coretests/<BRANCH_NAME>Aggegated testsCurrently, use -P jbosstools-staging-aggregatePoorGoodContains tests
    http://download.jboss.org/jbosstools/updates/JBossTools-<x.y.z.q>.core/MilestonesNot possibleAverageGoodGood for testing, evaluating features. Good for community contributors.
    http://download.jboss.org/jbosstools/updates/development/<TARGET_ECLIPSE_RELEASE_TRAIN>/Latest MilestoneNot possibleAverageGoodGood for testing, and for building stuff on top of JBT that will be released a bit later
    http://download.jboss.org/jbosstools/updates/stable/<TARGET_ECLIPSE_RELEASE_TRAIN>/ReleaseNot possibleGoodGoodGood for end-users

     

    JBT SOA

     

    URL
    NameProfile to activate in buildQuality/StabilityPerformanceWhen to use it?