Jump to: navigation, search

Difference between revisions of "JFace Data Binding/How to Contribute"

m
m (Newsgroup)
 
(3 intermediate revisions by 2 users not shown)
Line 18: Line 18:
 
* org.eclipse.jface.databinding.examples
 
* org.eclipse.jface.databinding.examples
 
* org.eclipse.jface.tests.databinding
 
* org.eclipse.jface.tests.databinding
 +
* org.eclipse.jface.tests.databinding.conformance
  
You can check these out from CVS manually or with a [http://www.eclipse.org/eclipse/platform-ui/psf/ Project Set File].  You can import the file into Eclipse via File->Import, Team->Team Project Set.  This will check out the necessary projects into your workspace.  We provide Project Sets for committers and contributors and for HEAD and maintenance branches.
+
You can check these out from CVS manually or with a [http://www.eclipse.org/eclipse/platform-ui/psf/ Project Set File].  You can import the file into Eclipse via File->Import, Team->Team Project Set.  This will check out the necessary projects into your workspace.  We provide Project Sets for committers and contributors and for HEAD and maintenance branches. The raw CVS location is: :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
  
 
=== Unit Testing===
 
=== Unit Testing===
Line 30: Line 31:
 
* If you create a new TestCase make sure to add it to BindingTestSuite.  Your TestCase will then be ran as part of the JFace-Data Binding Test Suite.
 
* If you create a new TestCase make sure to add it to BindingTestSuite.  Your TestCase will then be ran as part of the JFace-Data Binding Test Suite.
 
* If you want to make a good impression write tests.  This goes for any project but especially JDB.
 
* If you want to make a good impression write tests.  This goes for any project but especially JDB.
 +
 +
=== Contributing a Patch ===
 +
When you have made changes and want to contribute them back, you need to open a bugzilla and attach a patch. Select all the changed files (or the projects containing the changes, if you haven't made unrelated changes) and right-click, then select "Team > Create Patch...". Save the patch to somewhere in your file system so that you can upload it to Bugzilla later. Make sure you click "Next" to get to the second wizard page, where you should pick "Unified" as the output format and "Workspace" as the patch root. Note that any contributions you attach to a bugzilla will be contributed under the EPL implicitly as per the Terms of Use at eclipse.org. Have a look at [http://www.eclipse.org/mylyn Mylyn], it offers streamlined UI for doing this from within Eclipse itself.
  
 
=== The Build===
 
=== The Build===
Line 35: Line 39:
  
 
== Newsgroup==
 
== Newsgroup==
We try to be prompt and responsive on the [http://www.eclipse.org/newsportal/thread.php?group=eclipse.platform newsgroup] but there's always room for improvement.  If you know the answer to a query feel free to respond.
+
We try to be prompt and responsive on the [http://www.eclipse.org/newsportal/thread.php?group=eclipse.platform.jface newsgroup] but there's always room for improvement.  If you know the answer to a query feel free to respond.
  
 
== Wiki==
 
== Wiki==

Latest revision as of 15:48, 15 May 2009

This page is a starting point for where to begin when wanting to contribute to the project. The goal is educate and to be as up front as possible with expectations so that the process can be as efficient as possible.

JFace Data Binding
Home
How to Contribute
FAQ
Snippets
Concepts
Binding
Converter
Observable
Realm

Bugs

If you find a bug log it. See the FAQ entry "How to Report a Bug". If you find a bug that you think is a duplicate, is not a bug, etc. feel free to comment saying so.

If wanting to track bug changes in JDB there are a few ways:

  • Via email. If you want to receive email when a bug is logged you can watch the "Platform-UI-Inbox@eclipse.org" user. You will receive email anytime a new bug if logged to this user or an update is made while assigned to this user. To set this up see Preferences -> Email Preferences -> User Watching. This will email you for all Platform UI bugs, not just JDB. Depending upon your needs this might and might not be what you're looking for.
  • Via Atom. You can convert any query in bugzilla to a feed that will update when a matched bug changes. To convert a search to a feed perform a search and select "Feed" at the bottom of the search results. This query will update when a new bug is logged with "[DataBinding]" in the summary.

Contributing Code

Whether you're wanting to fix a typo in javadoc or to implement the next whiz bang feature of JDB you'll need to know a few things before you contribute code.

Checking out the Plug-ins

The project is comprised of the following plug-ins.

  • org.eclipse.core.databinding
  • org.eclipse.core.databinding.beans
  • org.eclipse.jface.databinding
  • org.eclipse.jface.databinding.examples
  • org.eclipse.jface.tests.databinding
  • org.eclipse.jface.tests.databinding.conformance

You can check these out from CVS manually or with a Project Set File. You can import the file into Eclipse via File->Import, Team->Team Project Set. This will check out the necessary projects into your workspace. We provide Project Sets for committers and contributors and for HEAD and maintenance branches. The raw CVS location is: :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse

Unit Testing

Testing is imperative to the health of the project. We have a significant amount of tests. The quantity of tests will keep growing as more functionality is added to the library. If you are contributing a fix or writing an enhancement it's a requirement that tests are written. If you don't write them a committer will have to and that could slow down the contribution process.

There are a couple of things that you should know about our testing process:

  • All tests are included in org.eclipse.jface.tests.databinding.
  • If looking for tests for a specific class look for a class named {THECLASS}Test.java (e.g. UpdateStrategy.java -> UpdateStrategyTest.java).
  • To run all tests see the FAQ entry "How do I run the tests?"
  • If you create a new TestCase make sure to add it to BindingTestSuite. Your TestCase will then be ran as part of the JFace-Data Binding Test Suite.
  • If you want to make a good impression write tests. This goes for any project but especially JDB.

Contributing a Patch

When you have made changes and want to contribute them back, you need to open a bugzilla and attach a patch. Select all the changed files (or the projects containing the changes, if you haven't made unrelated changes) and right-click, then select "Team > Create Patch...". Save the patch to somewhere in your file system so that you can upload it to Bugzilla later. Make sure you click "Next" to get to the second wizard page, where you should pick "Unified" as the output format and "Workspace" as the patch root. Note that any contributions you attach to a bugzilla will be contributed under the EPL implicitly as per the Terms of Use at eclipse.org. Have a look at Mylyn, it offers streamlined UI for doing this from within Eclipse itself.

The Build

The Eclipse build is a bit of a mystery to newcomers. But rest assured that if you break something everyone will know about it and we will laugh at you (not really but we might tease you). If you do one thing it should be to sign up for the platform-releng-dev mailing list. You'll receive emails when builds complete and when build and test failures occur. It's always good to pay extra special attention on the mornings after you make a commit or someone makes a commit on your behalf. The normal reaction to "breaking the build" is to log a bug, notify the platform-releng-dev list about it so that others can gauge the quality of the build, and then fix the bug. If your mail client allows it might be a good idea to setup a filter to flag anything with "databinding" in the message from platform-releng-dev. This will help filter out the signal from the noise.

Newsgroup

We try to be prompt and responsive on the newsgroup but there's always room for improvement. If you know the answer to a query feel free to respond.

Wiki

The wiki is open and can be edited by all. If you find a typo, a broken link, or anything that you view as a small issue feel free to fix it. If wanting to contribute a significant amount of information or create a new article we request that you log a bug so that we're aware of what you're contributing. This is so that we can ensure consistency structurally and in the message conveyed.

For more information on our wiki editing guidelines see JFace Data Binding/Wiki Guidelines.