SwitchYard Tooling Development and Build Process

Version 6

    This document attempts to pull together everything we know about the SwitchYard Tooling Development process and the Build process that goes with it.

     

    Tooling Development Process

    Basically the development process for the SwitchYard Tooling is the same as is followed by the Runtime team. You can see that here: https://developer.jboss.org/wiki/DevelopmentOnSwitchYard

     

    We differ in two areas:

     

    Setting up your workspace

    2. Fork jboss-switchyard/tools (jboss-switchyard/tools · GitHub)

    3. Clone your newly forced copy into your local workspace

    $ git clone git@github.com:[your user]/tools.git
    
    
    
    
    
    
    

     

    4. Add a remote remote ref to upstream for pulling future updates

    $ cd ../tools
    git remote add upstream git://github.com/jboss-switchyard/tools.git 

     

    Contributing a change

    Same except that we don't use FindBugs with tooling builds.

     

    Tooling Build Process

    We have a Hudson/Jenkins build - SwitchYard-Tools [Jenkins] which has a link at the end to SwitchYard-Tools-publish, which can also be called separately.

     

    To do a build, log into Jenkins and go to the SwitchYard-Tools job.

    • Click "Build with Parameters"
    • Specify a BUILD_ALIAS (CI is the default, but can be something like CR1, M2, etc.)
    • Specify the BUILD_TYPE (Continuous Integration is the default, but use Development Milestone for CR/M builds and Stable for Final builds)
    • Kick off the build

     

    To kick off a standalone publish of a successful build, go to the SwitchYard-Tools-publish job.

    • Click "Build with Parameters"
    • Specify the BUILD_TYPE (integration is the default, but can change to development or stable just like with builds)
    • Update the TARGET_FOLDER (to something useful like 2.0.0.Beta1 or 2.0.0.CR1 or 2.0.0.Final)
    • Kick off the build

     

    Updating Release Versions

    When updating to another version in the tooling - for instance when moving from 2.0.0.Beta1 to 2.0.0.Final - you can follow these steps:

     

    1) org.switchyard.tools.ui.wizards.NewSwitchYardProjectWizard - update DEFAULT_RUNTIME_VERSION to the new version

     

    2) follow the steps here - https://developer.jboss.org/wiki/SwitchYardEclipseToolingVersioningProcess

     

    3) org.switchyard.tools.ui.tests/test-data/validation directory - update these files

    • add_dependency_pom.xml (update switchyard.version)
    • create_service_pom.xml (update switchyard.version)

     

    Adding a Temporary Maven Repository to Test Runtime Builds

    When the runtime team is about to release a new version of the SwitchYard runtime, they will often provide a staging repository against which to test the tooling. To test against this temporary repository:

     

    1. Update Maven settings.xml file

     

    a) Add new repository in the repositories list for a profile you have enabled.

    ...
    <repositories>
    ...
                   <repository>
                        <id>temporary-repo</id>
                        <name>Temporary Repo</name>
                        <url>[temporary repo URL in Nexus]</url>
                    </repository>
    ...
    </repositories>
    

     

    b) Add the same repository to the pluginRepositories list.

    ...
     <pluginRepositories>
    ...
                   <pluginRepository>
                        <id>temporary-repo</id>
                        <name>Temporary Repo</name>
                        <url>[temporary repo URL in Nexus]</url>
                    </pluginRepository>
    ...
    </pluginRepositories>
    

     

    2) Add the same entries to the settings.xml files in tools/eclipse/tests/org.switchyard.tools.m2e.tests and tools/eclipse/tests/org.switchyard.tools.ui.tests