Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "SWTBot/Contributing"

m (added a link for the maintaining separate versions for the team)
(Building SWTBot)
(27 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
{{SWTBot}}
 
{{SWTBot}}
=== Get the source ===
 
  
The source code of the SWTBot project can be found in the Subversion repository. It contains the usual SVN directory structure TRUNK, BRANCHES, and TAGS. The development version of the code (HEAD) can be found in TRUNK.
+
== Getting the source ==
  
* '''SVN''': http://dev.eclipse.org/svnroot/technology/org.eclipse.swtbot/
+
You can use a git mirror of that repository:
* '''Git''': http://github.com/ketan/swtbot
+
  
Browse the repository:
+
{{codeblock|git clone git://git.eclipse.org/gitroot/swtbot/org.eclipse.swtbot.git}}
* '''Git''': http://github.com/ketan/swtbot
+
* '''ViewSvn''': http://dev.eclipse.org/viewcvs/index.cgi/trunk/?root=Technology_SWTBot
+
  
You can check out from the SVN/git repository all the single plug-ins by hand, and refer to the ''readme.txt'' file inside the ''org.eclipse.swtbot.releng'' plugin to setup your environment.
+
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].
  
=== Contributing ===
+
== IDE tips ==
 +
=== 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 ...
  
There are many articles about contributing to Eclipse projects like [http://blog.hantsuki.org/2008/03/07/how-to-contribute-to-eclipse-projects/ Remy Suens blog] or the [http://wiki.eclipse.org/index.php/Mylyn/Contributor_Reference Mylyn Contributor reference].
+
=== Target Platform ===
  
=== See also ===
+
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 ==
 +
 
 +
# First Get the sources, as explained a few lines above.
 +
# then <tt>mvn clean verify</tt>
 +
# That's all!
 +
 
 +
NOTE: default build performs against Eclipse Indigo. You can test and build against Juno instead by activatin the "juno" profile: <tt>mvn clean install -P juno</tt>
 +
 
 +
== Continuous integration ==
 +
 
 +
Continuous integrations build for swtbot are available here:
 +
* https://hudson.eclipse.org/hudson/job/swtbot-tycho/
 +
* https://hudson.eclipse.org/hudson/job/swtbot-tycho-e4.2/
 +
 
 +
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:
 +
* https://dev.eclipse.org/sonar/dashboard/index/1
 +
* contains results of dedicated build https://hudson.eclipse.org/sandbox/job/SWTBot-Sonar/
 +
 
 +
== Submit a contribution ==
 +
 
 +
=== Generalities ===
 +
 
 +
Patches and contributions are always welcome! There are many general articles about contributing to Eclipse projects:
 +
* [http://blog.hantsuki.org/2008/03/07/how-to-contribute-to-eclipse-projects/ How to contribute to Eclipse projects...]
 +
* [http://www.eclipsezone.com/eclipse/forums/t99339.html Getting started with Eclipse plug-ins: contributing to Eclipse]
 +
* [http://www.eclipse.org/articles/article.php?file=Article-How-to-Fix-a-Bug-in-Eclipse/index.html How to Fix a Bug in Eclipse]
 +
 
 +
=== Contributions list ===
 +
 
 +
* Unresolved '''Bugzilla''' tickets: https://bugs.eclipse.org/bugs/buglist.cgi?list_id=2369532;classification=Technology;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=SWTBot
 +
* Open '''Gerrit''' reviews: https://git.eclipse.org/r/#/q/status:open+project:swtbot/org.eclipse.swtbot,n,z
 +
 
 +
=== Be notified ===
 +
 
 +
* To receive notifications from '''Gerrit''', go to https://git.eclipse.org/r/#/settings/projects , add project ''swtbot/org.eclipse.swtbot.git and tick all checkboxes'' for this project to receive notifications.
 +
* To receive notifications from '''Bugzilla''', go to https://bugs.eclipse.org/bugs/userprefs.cgi?tab=email , and add in '''User watching''' the following mail: ''swtbot-inbox@eclipse.org''.
 +
 
 +
=== Provide a contribution using Gerrit ===
 +
 
 +
# First, read '''carefully''' this documents: [[Gerrit]] to set up commit hooks and other things. We recommand using the [[Gerrit#Using_Gerrit_with_EGit: | EGit-Gerrit connector]].
 +
In case you work without EGit Gerrit connector:
 +
# Make your change locally, and ''git commit'' them in your local repo. Commit message must contain Bug Number.
 +
# when you're ready, ''git push'' your change to Gerrit using the following command: <tt>git push ssh://username@git.eclipse.org:29418/swtbot/org.eclipse.swtbot.git HEAD:refs/for/master</tt>
 +
# After the push, log tells you about a URL which tracks the contribution
 +
In any case
 +
# 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:
 +
# <tt>git checkout branch_you_want_to_edit</tt>
 +
# Modify code
 +
# <tt>git add your/modified/file1 your/modified/file2 ...</tt>
 +
# <tt>git commit</tt> Put number of the bug you are working on at the beginning of commit message
 +
# <tt>git format-patch HEAD^</tt>
 +
# Attach generated patch to the bug you want to contribute to.
 +
 
 +
== Committers ==
 +
 
 +
* Committer must '''subscribe to notifications''' to not miss a contribution. See [[#Be Notified|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 ==
  
 
* {{SWTBotLink|Maintaining SWTBot Versions For Your Team|Maintaining SWTBot Versions For Your Team}}
 
* {{SWTBotLink|Maintaining SWTBot Versions For Your Team|Maintaining SWTBot Versions For Your Team}}
 +
 +
[[Category:Draft Documentation]]

Revision as of 06:17, 20 February 2013


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


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.

IDE tips

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 verify
  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:

Submit a contribution

Generalities

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

Contributions list

Be notified

Provide a contribution using 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. Commit message must contain Bug Number.
  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

Back to the top