Difference between revisions of "SWTBot/Contributing"

From Eclipsepedia

Jump to: navigation, search
(Continuous integration)
Line 8: Line 8:
  
 
You can also browse the repository using [https://git.eclipse.org/c/swtbot/org.eclipse.swtbot.git/ a web interface] or even by monitoring the [https://github.com/eclipse/swtbot mirror of the repository on GitHub].
 
You can also browse the repository using [https://git.eclipse.org/c/swtbot/org.eclipse.swtbot.git/ a web interface] or even by monitoring the [https://github.com/eclipse/swtbot mirror of the repository on GitHub].
 +
 +
== Code ==
 +
=== Recommended Eclipse plugins ===
 +
It's advised that you use the following plugins in Eclipse:
 +
* EGit
 +
* FindBugs
 +
* Configure JDT in "pedantic" mode (make all violations send a warning, ignore nothing)
 +
* EclEmma is useful to analyze Coverage Reports
 +
* ... Any other tool that makes you write better code faster ...
 +
 +
=== Target Platform ===
 +
 +
You can find a ready-to-use target platform for development in the ''devtools/target-platforms'' folder. This target-platform is recommended since it contains all SWTBot dependencies. Beware, this target-platform is not used at build time, so you may experiment some differences. In such case, please report them as a bug. Enable it by opening it in IDE with the target definition editor, and click ''Set As Target Platform''.
  
 
== Building SWTBot ==
 
== Building SWTBot ==

Revision as of 10:03, 27 November 2012


SWTBot
Website
Update Sites
Community
Mailing List
Forums/Newsgroups
IRC
Contribute
Open Bugzilla tickets
Open Gerrit reviews
Browse Source
Continuous Integration


Contents

Getting the source

You can use a git mirror of that repository:

git clone git://git.eclipse.org/gitroot/swtbot/org.eclipse.swtbot.git

You can also browse the repository using a web interface or even by monitoring the mirror of the repository on GitHub.

Code

Recommended Eclipse plugins

It's advised that you use the following plugins in Eclipse:

  • EGit
  • FindBugs
  • Configure JDT in "pedantic" mode (make all violations send a warning, ignore nothing)
  • EclEmma is useful to analyze Coverage Reports
  • ... Any other tool that makes you write better code faster ...

Target Platform

You can find a ready-to-use target platform for development in the devtools/target-platforms folder. This target-platform is recommended since it contains all SWTBot dependencies. Beware, this target-platform is not used at build time, so you may experiment some differences. In such case, please report them as a bug. Enable it by opening it in IDE with the target definition editor, and click Set As Target Platform.

Building SWTBot

  1. First Get the sources, as explained a few lines above.
  2. then mvn clean install
  3. That's all!

NOTE: default build performs against Eclipse Indigo. You can test and build against Juno instead by activatin the "juno" profile: mvn clean install -P juno

Continuous integration

Continuous integrations build for swtbot are available here:

A view also exists, it contains also older build configurations: https://hudson.eclipse.org/hudson/view/SWTBot/

Sonar

Sonar is used in order to track Code Quality:

Contributing

Generalities

Patches and contributions are always welcome! There are many general articles about contributing to Eclipse projects:

Contributions list

Be notified

Use Gerrit

  1. First, read carefully this documents: Gerrit to set up commit hooks and other things. We recommand using the EGit-Gerrit connector.

In case you work without EGit Gerrit connector:

  1. Make your change locally, and git commit them in your local repo
  2. when you're ready, git push your change to Gerrit using the following command: git push ssh://username@git.eclipse.org:29418/swtbot/org.eclipse.swtbot.git HEAD:refs/for/master
  3. After the push, log tells you about a URL which tracks the contribution

In any case

  1. Share this URL on the bug you're working on.

Provide a patch (Deprecated in favor of Gerrit)

In order to provide a patch, follow the following process:

  1. git checkout branch_you_want_to_edit
  2. Modify code
  3. git add your/modified/file1 your/modified/file2 ...
  4. git commit Put number of the bug you are working on at the beginning of commit message
  5. git format-patch HEAD^
  6. Attach generated patch to the bug you want to contribute to.

Committers

  • Committer must subscribe to notifications to not miss a contribution. See how to set up nofications
  • Committer have to use Gerrit too and follow same process as contributors. They can approve their own contributions, but asking review from another contributor is a cool thing.
  • A Gerrit contribution is automatically merged when all "acceptance flags" (Verification, review, IP) are OK.

See also