|
|
(165 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | = Introduction =
| + | We are now on GitHub! You'll find the new contribution guide here: https://github.com/eclipse-scout/scout.rt#contributing |
− | | + | |
− | The [http://wiki.eclipse.org/Development_Resources#Users:_Contributing_To_A_Project 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. {{ScoutLink|HowTo|Install Scout SDK|install}} it, go through {{ScoutLink|Tutorial|name=tutorials}}, build your own Scout apps
| + | |
− | # You will find bugs, or have ideas for your great feature.
| + | |
− | # You provide some public feedback
| + | |
− | ## Read/ask questions on the Scout [http://www.eclipse.org/forums/eclipse.scout Scout Forum]
| + | |
− | ## Report these bugs/enhancements via [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;product=Scout Scout bugzilla]
| + | |
− | # 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 [http://wiki.eclipse.org/Bug_Reporting_FAQ 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.
| + | |
− | | + | |
− | For your convenience a number of links are provided below:
| + | |
− | | + | |
− | * [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=RESOLVED;bug_status=VERIFIED;product=Scout All open Scout bugs]
| + | |
− | * [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;product=Scout All Scout bugs]
| + | |
− | | + | |
− | == 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=175222 drastic example] (taken from [1]) reads as follows:
| + | |
− | | + | |
− | : <i>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...</i>
| + | |
− | | + | |
− | [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:
| + | |
− | * [https://bugs.eclipse.org/bugs/bugwritinghelp.html Eclipse Bug Writing Guidelines]
| + | |
− | | + | |
− | == Open a Scout bug ==
| + | |
− | When you cannot find an existing bug, feel free to open a new bug:
| + | |
− | | + | |
− | * [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Scout Open a new Scout 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 [http://wiki.eclipse.org/Development_Resources/HOWTO/Bugzilla_Use Eclipse wiki] for a diagram showing the possible bug live cycles.
| + | |
− | | + | |
− | == Typical Life Cycle ==
| + | |
− | # New | + | |
− | # Assigned
| + | |
− | # Resolved (Fixed)
| + | |
− | # Verified
| + | |
− | # 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 [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Scout Bugzilla] entry with a patch attached.
| + | |
− | | + | |
− | To successfully contribute you also have to follow the Eclipse [http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf 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
| + | |
− | | + | |
− | Special cases
| + | |
− | * If you're employed outside of [http://www.bsiag.com 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 [http://wiki.oneswarm.org/index.php/OS_X_10.6_Snow_Leopard 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
| + | |
− | | + | |
− | http://dev.eclipse.org/svnroot/technology/org.eclipse.scout/
| + | |
− | | + | |
− | Alternatively, you may browse the SVN repository [http://dev.eclipse.org/viewcvs/viewvc.cgi/?root=Technology_SCOUT online]
| + | |
− | | + | |
− | = More to come ... =
| + | |