Scout/Contribution

From Eclipsepedia

< Scout
Revision as of 05:18, 1 February 2012 by Jgu.bsiag.com (Talk | contribs)

Jump to: navigation, search

Contents

Introduction

The Eclipse wiki gives a good detailed overview of the various ways you can contribute to a project:

The typical contributor will go through the following steps:

  1. You use Scout, i.e. install it, go through tutorials, build your own Scout apps
  2. You will find bugs, or have ideas for your great feature.
  3. You provide some public feedback
    1. Read/ask questions on the Scout Scout Forum
    2. Report these bugs/enhancements via Scout bugzilla
  4. Eventually, you might want to speed up bug fixing by providing patches
  5. Getting enthusiastic enough, you will contribute many valuable, high quality patches for Scout bugs/enhancements
  6. Now is the time to start the committer election process :-)

Opening new Bugs

1) Before you do anything related to bugs please have a look at the Eclipse Bugzilla FAQ.

2) Before you open a new Scout bug, please try to scan through the known bugs to verify that you are not reporting a bug that is already known for Eclipse Scout. See next section.

Find Existing Scout Bugs

For your convenience a number of links are provided below:

Bug Report Quality Matters

High quality bug reports help to quickly understand/analyze/fix bugs. Bad quality bug reports lead to poor developer morale and slow down everything.

Good quality bug reports often feature many of the following things:

  • Well organized description
  • Clear distinction between observed behaviour and expected behaviour
  • Steps to reproduce
  • Stack traces
  • Screenshots
  • Source file and line numbers from attempts to locate the source of the bug

Lack of any of the above characteristics is considered poor quality. A drastic example (taken from [1]) reads as follows:

I wand to create a new plugin in Eclipse using CDT. Shall it possible.
I had made a R&D in eclipse documentation. I had get an idea about create a
plugin using Java. But i wand to create a new plugin ( user defined plugin )
using CDT. After that I wand to impliment it in my programe. If it possible?.
Any one can help me please...

[1] Nicolas Bettenburg et al. "Quality of bug reports in Eclipse", Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange, 2007

Good guidelines on how to write a bug may be found here:

Open a Scout bug

When you cannot find an existing bug, feel free to open a new bug:

Please also read the text below that introduces some Scout specific aspects of bug writing

Choose the proper Component and Version

Select the component according to the following criteria

  • Scout: Scout Runtime bugs, or anyting else that you are not sure what component to choose
  • Scout SDK: Bugs in the Scout SDK, e.g. wizards that create code that won't compile
  • Scout Docs: Bugs on www.eclipse.org/scout, wiki.eclipse.org/scout, and any other public communication regarding Scout

Choose the Scout version that you are having the issue with. For the Scout coming with Indigo this would be 3.7.0.

Use a decent Summary line

Helps a lot to identify the bug in a large list of bugs. Good example: SWT: Columns with an active filter should be identifiable. Bad example: Layout.

In case the bug relates to a specific Scout runtime UI please use one of the following prefixes:

  • Swing:: For bugs specific to the Scout Swing UI
  • SWT:: For bugs specific to the Scout SWT UI

Bug Life Cycle

Consult the Eclipse wiki for a diagram showing the possible bug live cycles.

Typical Life Cycle

  1. New
  2. Assigned
  3. Resolved (Fixed)
  4. Verified
  5. Closed

Some notes:

  • Status 'Assigned' may be skipped
  • For a bug in status 'Resolved' the 'Target Milestone' must be specified
  • If a patch contributed by a non-committer is applied, set the iplog flag to '+' and follow the guidelines in section below
  • Ideally, the implementation/Fix is verified by the person opening the bug
  • If bug and implementation is from the same person, someone else should verify the bug
  • Bugs are closed by Scout project leads after a release is shipped

Contributing Patches

Please create a Bugzilla entry with a patch attached.

To successfully contribute you also have to follow the Eclipse legal guidelines.

Specifically, you need to:

  1. make sure the patch doesn't contain cryptography
  2. make sure the patch is written from scratch
  3. make sure the patch is submitted under the EPL
  4. make sure the change is less than 250 lines of code

Special cases

  • If you're employed outside of bsi, you will need to explicitly confirm all above points in the bugzilla ticket
  • If your contribution is larger than 250 lines of code we need to fill in a contribution questionnaire and open a corresponding IPZilla bug
  • If the licence is not EPL we will need to have this verified (e.g GPL is a no-go)

Development IDE Configuration

Scout has Java 5.0 and Eclipse Platform 3.5 as minimum requirements, so dependencies to newer Java and platform versions must be avoided.

In order to minimize the inadvertent introduction of dependencies to Java 6.0, add both a Java5 and a Java 6 SDK to your workspace. Do this in Window/Preferences -> Java/Installed JREs. Then configure your Execution Environments so that J2SE-1.5 refer to a Java 5 SDK and JavaSE-1.6 refer to a Java 6 installation.

If you are using OS X Snow Leopard, then Java 5 is hard to find. Using the search button in Eclipse will tell you that you have a 1.5.0 version of Java. That is probably a lie. It is just a link to 1.6. Fortunately some nice guys have made a download that you may use. Follow these instructions to download and installl a real Java 5. You do not need to make it default. Downloading, unpacking and fixing the version links is enough.

Getting the Scout Sources

You may download the Eclipse Scout source code from eclipse.org

 https://dev.eclipse.org/svnroot/technology/org.eclipse.scout/

Alternatively, you may browse the SVN repository online

Indigo

To get access to the sources of the Indigo release you may access the repository through the tags provided below.

 Eclipse Scout 3.7.0 (Indigo) 
 Runtime: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/tags/2011-06-06_S-3.7.0RC4
 SDK: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.sdk/tags/2011-06-06_S-3.7.0RC4
 Eclipse Scout 3.7.1 (Indigo SR1)
 Runtime: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/tags/2011-09-14_S-3.7.1RC4
 SDK: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.sdk/tags/2011-09-14_S-3.7.1RC4
 Eclipse Scout 3.7.2 (Indigo SR2) not yet available

The most current state of the Indigo branch of Eclipse Scout is

 Eclipse Scout 3.7.x (Indigo)
 Runtime: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/branches/2011-Jun
 SDK: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.sdk/branches/2011-Jun

Juno

To get access to the sources of the Juno release you may access the repository through the tags provided below.

 Eclipse Scout 3.8.0 (M5) http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/tags/2012-01-31_S-3.8.0M5/


The most current state of the Juno release of Eclipse Scout is

 Eclipse Scout 3.8.x (Juno) http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/trunk

Committer Nominations

Nominations for committer status can be created in the committer portal. Nominations should follow the according to the Eclipse wiki guidlines

Current Nominations

Past Nominations

More to come ...