Difference between revisions of "Scout/Contribution"
|Line 176:||Line 176:|
== Current Nominations ==
== Current Nominations ==
== Past Nominations ==
== Past Nominations ==
Revision as of 07:13, 16 August 2012
- 1 Introduction
- 2 Opening new Bugs
- 3 Bug Life Cycle
- 4 Contributing Patches
- 5 Development IDE Configuration
- 6 Getting the Scout Sources
- 7 Committer Nominations
- 8 More to come ...
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:
- You use Scout, i.e. install it, go through tutorials, build your own Scout apps
- You will find bugs, or have ideas for your great feature.
- You provide some public feedback
- Eventually, you might want to speed up bug fixing by providing patches
- Getting enthusiastic enough, you will contribute many valuable, high quality patches for Scout bugs/enhancements
- 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
- 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 ) 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...
 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
- Resolved (Fixed)
- 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
Please create a Bugzilla entry with a patch attached. Some guidelines on how to create such a patch can be found in the following Eclipse article (specifically the sections 'Fixing the Bug' and 'Submitting a Patch').
To successfully contribute you also have to follow the Eclipse legal guidelines.
Specifically, you need to:
- make sure the patch doesn't contain cryptography
- make sure the patch is written from scratch
- make sure the patch is submitted under the EPL
- make sure the change is less than 250 lines of code
- 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
Alternatively, you may browse the SVN repository online
The most current state of the Kepler release of Eclipse Scout is
Eclipse Scout 3.9.x (Kepler) Runtime: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/branches/3.9 SDK: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.sdk/branches/3.9
The most current state of the Juno release of Eclipse Scout is
Eclipse Scout 3.8.x (Juno) Runtime: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/branches/3.8 SDK: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.sdk/branches/3.8
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 (Juno) Runtime: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/tags/2012-06-13_S-3.8.0RC4 SDK: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.sdk/tags/2012-06-13_S-3.8.0RC4
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
To get access to the sources of the Indigo release you may access the repository through the tags provided below.
Eclipse Scout 3.7.2 (Indigo SR2) Runtime: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.rt/tags/2012-02-14_S-3.7.2RC4/ SDK: http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/scout.sdk/tags/2012-02-14_S-3.7.2RC4/
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.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
Nominations for committer status can be created in the committer portal. Nominations should follow the according to the Eclipse wiki guidlines
- Ken Lee, August 2012