Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "SWTBot/Contributing"
(→Provide a contribution using Gerrit) |
(→Editing website) |
||
Line 94: | Line 94: | ||
* A Gerrit contribution is automatically merged when all "acceptance flags" (Verification, review, IP) are OK. | * A Gerrit contribution is automatically merged when all "acceptance flags" (Verification, review, IP) are OK. | ||
− | == | + | == Contribute changes to website == |
Website can also be edited using Git and Gerrit process mentioned about for sources: | Website can also be edited using Git and Gerrit process mentioned about for sources: | ||
Line 100: | Line 100: | ||
[[Category:Draft Documentation]] | [[Category:Draft Documentation]] | ||
+ | |||
+ | == Release process == | ||
+ | |||
+ | # Announce wish to release on swtbot-dev mailing-list, and wait for approval of committers | ||
+ | # Run all builds on Hudson (swtbot-tycho, swtbot-tycho-e42, swtbot-sonar). | ||
+ | # Tag the builds with the version of the release | ||
+ | # Tag source | ||
+ | <source lang="bash"> | ||
+ | $ git fetch eclipse master | ||
+ | $ git checkout FETCH_HEAD | ||
+ | $ git tag 2.1.1 -m "SWTBot 2.1.1 release" | ||
+ | $ git push gerrit 2.1.1 | ||
+ | </source> | ||
+ | # Once all CI builds are done, go on build.eclipse.org, copy make the release available | ||
+ | <source lang="bash"> | ||
+ | $ ssh mistria@build.eclipse.org | ||
+ | $ cd download/technology/swtbot | ||
+ | $ cp snapshots releases/2.1.1 | ||
+ | $ rm -r releases/latest | ||
+ | $ cp releases/2.1.1 releases/latest | ||
+ | </source> | ||
+ | # Change all pom.xml, MANIFEST.MF and feature.xml to use the version of next release, git commit and push | ||
+ | # Change bugzilla milestones (from portal.eclipse.org) to create a new release (2.1.1) and a new milestone (2.1.2) | ||
+ | # Update wiki pages | ||
+ | # Announce release on swtbot-dev mailing-list and SWTBot forum | ||
+ | <pre> | ||
+ | Hi all, | ||
+ | |||
+ | We're happy to announce you the release of SWTBot 2.1.1. | ||
+ | Main changes are: | ||
+ | * Compatibility with Eclipse 4.3 (and backward compatibility with previous releases) | ||
+ | * Improvement on code recorder and generator | ||
+ | The full list of changes can be found here: https://bugs.eclipse.org/bugs/buglist.cgi?list_id=6242414&classification=Technology&query_format=advanced&target_milestone=2.1.1&product=SWTBot | ||
+ | Git tag can be found here: http://git.eclipse.org/c/swtbot/org.eclipse.swtbot.git/tag/?id=2.1.1 | ||
+ | And release p2 repository can be found here http://download.eclipse.org/technology/swtbot/releases/2.1.1 (and http://download.eclipse.org/technology/swtbot/releases/latest ). | ||
+ | |||
+ | Enjoy! | ||
+ | </pre> |
Revision as of 05:54, 12 July 2013
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.
To contribute changes to the website, use this git repo: https://git.eclipse.org/c/www.eclipse.org/swtbot.git
IDE tips
Recommended Eclipse plugins
It's advised that you use the following plugins in Eclipse:
- EGit
- FindBugs (with a high "Minimum rank to report" set in Window > Preferences > Java > Findbugs)
- Configure JDT in "pedantic" mode: from Window > Preferences > Java > Compiler > Errors/Warning 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 Platforms
You can find some ready-to-use target platforms for development in the devtools/target-platforms folder. Each target-platform basically target a version of the Eclipse release train. It's recommended to use one of these target-platform since it contains all SWTBot dependencie. These target-platforms are also used at build time, so your dependencies in IDE will be consistent with dependencies during build. Enable the selected target-platform by opening it in IDE with the target definition editor, and click Set As Target Platform.
In case something is not working well, please report them as a bug.
Building SWTBot
- First Get the sources, as explained a few lines above.
- then mvn clean verify
- 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 verify -P juno, and for Kepler, run mvn clean verify -P kepler.
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:
- How to contribute to Eclipse projects...
- Getting started with Eclipse plug-ins: contributing to Eclipse
- 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, make sure you have agreed and signed the Eclipse Contribution CLA.
- Then, 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:
- 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: git push ssh://username@git.eclipse.org:29418/swtbot/org.eclipse.swtbot.git HEAD:refs/for/master
- 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:
- git checkout branch_you_want_to_edit
- Modify code
- git add your/modified/file1 your/modified/file2 ...
- git commit Put number of the bug you are working on at the beginning of commit message
- git format-patch HEAD^
- 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.
Contribute changes to website
Website can also be edited using Git and Gerrit process mentioned about for sources:
- Gerrit repo is https://git.eclipse.org/r/p/www.eclipse.org/swtbot.git
Release process
- Announce wish to release on swtbot-dev mailing-list, and wait for approval of committers
- Run all builds on Hudson (swtbot-tycho, swtbot-tycho-e42, swtbot-sonar).
- Tag the builds with the version of the release
- Tag source
$ git fetch eclipse master $ git checkout FETCH_HEAD $ git tag 2.1.1 -m "SWTBot 2.1.1 release" $ git push gerrit 2.1.1
- Once all CI builds are done, go on build.eclipse.org, copy make the release available
$ ssh mistria@build.eclipse.org $ cd download/technology/swtbot $ cp snapshots releases/2.1.1 $ rm -r releases/latest $ cp releases/2.1.1 releases/latest
- Change all pom.xml, MANIFEST.MF and feature.xml to use the version of next release, git commit and push
- Change bugzilla milestones (from portal.eclipse.org) to create a new release (2.1.1) and a new milestone (2.1.2)
- Update wiki pages
- Announce release on swtbot-dev mailing-list and SWTBot forum
Hi all, We're happy to announce you the release of SWTBot 2.1.1. Main changes are: * Compatibility with Eclipse 4.3 (and backward compatibility with previous releases) * Improvement on code recorder and generator The full list of changes can be found here: https://bugs.eclipse.org/bugs/buglist.cgi?list_id=6242414&classification=Technology&query_format=advanced&target_milestone=2.1.1&product=SWTBot Git tag can be found here: http://git.eclipse.org/c/swtbot/org.eclipse.swtbot.git/tag/?id=2.1.1 And release p2 repository can be found here http://download.eclipse.org/technology/swtbot/releases/2.1.1 (and http://download.eclipse.org/technology/swtbot/releases/latest ). Enjoy!