Howto contribute to SWTBot

Version 3

    Howto contribute to SWTBot

    Document goal

    This article should provide basic howto about contributing to SWTBot which is testing tools for testing SWT and Eclipse based applications like JBoss Tools.

    The Process

    Process of SWTBot contribution is similar as any other Eclipse Project contribution. It is composed of these steps done by a contributor(C) and main developer(D):

    • (C) Finding/reporting appropriate issues in/into  Eclipse Bugzilla
    • (C) Creating and attaching patch into Bugzilla record
    • (D) Developer reviews the patch
    • (C) Update your patch if requested
    • (D) Commiting the patch into particular branch
    • (D) Building new version containing your fix or a new feature

    Let's take a look on particular steps in detail

    Finding/reporting appropriate issue

    As same as the rest of Eclipse projects SWTBot records are tracked via Eclipse Bugzilla. Let's assume we want to take a look on existing open SWTBot issues and feature requests to fix them later.

    • Open Bugzilla on Advance Search page Advance Search
    • Specify criteria      
      • Classification: Technology
      • Product: SWTBot
      • Component: Select Component which you're interested in'
      • Status: Unconfirmed, New, Assign, Reopened
      • Modify or add parameters as you need
    • Search
    • Select issue record and see details

    In case bug is not know you need to create no Bugzilla record.To do it, follow these steps:

     

    Note: You'll need account on Eclipse Bugzilla account to peform particular tasks

    Creating a patch

    For creating the patch you'will need SWTBot installed imported appropriate plugin containing the source code. The simplest way is to checkout swtbot from git repository. Minimal steps (to make it from Eclispe) to achieve this are these:

    • Install Eclipse 3.6 (RCP bundle would be sufficient)
    • Install eGit from http://download.eclipse.org/egit/updates
    • Clone master branch (Import ->Projects from git)  from swtbot git site (git clone git://github.com/ketan/SWTBot.git)
    • Create branch and perform code changes you have in mind
    • If appropriate then add new tests for it as well
    • Be sure it can be compiled without errors
    • Create patch file
    • Attach patch file into Bugzilla record ("Add an attachment" link on Bugzilla record page
    • Wait for response and try to cooperate with SWTBot Developer (can take time period from days to months)
    • Possible revisions could be asked here, so you might to repeat last two steps
    • After that, if you're lucky, you're patch should be submitted :) accepted      and you're fix/feature will be available in the next version

    Note: Beware some code in SWTBot is generated (mainly in SWT and Eclipse bot) and some not (like GEF bot)

    Several hints

    • widely needed patch has higher probability of acceptance
    • smaller patch has higher probability of acceptance - can be reviewed faster
    • be polite and patient - you can't speed the process with rudeness

    Useful links