|
|
(31 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
− | == How to contribute patches to Tycho ==
| + | See https://github.com/eclipse/tycho/blob/master/CONTRIBUTING.md |
− | | + | |
− | First, read [[Developing Tycho]] .
| + | |
− | | + | |
− | If you want to do an enhancement but don't know where to start or if it's going in the right direction, just ask on [mailto:tycho-dev@eclipse.org tycho-dev@eclipse.org] and we will help.
| + | |
− | If the patch is not trivial, make sure you include a test case that reproduces the bug or proves that the enhancement works.
| + | |
− | | + | |
− | == Writing Tests ==
| + | |
− | Tycho has two types of tests: unit tests (locally in each module) and a global integration test suite in module [http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/tree/tycho-its tycho-its].
| + | |
− | | + | |
− | Unit tests are preferred if possible because they are in general much faster and better targeted at the functionality under test.
| + | |
− | Integration tests generally invoke a forked maven build on a sample project (stored under [http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/tree/tycho-its/projects projects/]) and then do some assertions on the build output.
| + | |
− | | + | |
− | See an example for a [http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/tree/tycho-core/src/test/java/org/eclipse/tycho/core/locking/FileLockServiceTest.java unit test] and an [http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/tree/tycho-its/src/test/java/org/eclipse/tycho/test/featurePatch/external/EclipseRepoIncludingFeaturePatchTest.java integration test]. | + | |
− | | + | |
− | == Patch Format ==
| + | |
− | | + | |
− | We prefer git patches created with [http://schacon.github.com/git/user-manual.html#submitting-patches git format-patch] since they preserve a commit message as well as author information. This gives you the credit you deserve in the git history.
| + | |
− | | + | |
− | == Contributing the Patch ==
| + | |
− | | + | |
− | Open a [https://bugs.eclipse.org/bugs/buglist.cgi?product=Tycho bug] and attach the patch. This is the only channel we can accept patches (until we may be able to use gerrit for accepting patches at some point in the future).
| + | |
− | | + | |
− | You will have to include answers to the following questions:
| + | |
− | | + | |
− | # Did you author 100% of the content you are contributing ?
| + | |
− | # Do you have the rights to donate the content to Eclipse ?
| + | |
− | # Are you contributing the content under the EPL ?
| + | |
− | | + | |
− | For larger patches (>250 LoC) we will also have to create a contribution questionnaire with the Eclipse IP team.
| + | |
− | | + | |
− | In general, also see [[Development Resources#Users: Contributing To A Project]].
| + | |
− | | + | |
− | [[Category:Tycho|Contributor Guide]]
| + | |