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 "THyM/Development"

(Setting up IDE to contribute to THyM)
Line 1: Line 1:
 
{{THyM}}
 
{{THyM}}
 +
 +
 +
== Getting Started ==
 +
 +
* Make sure you have a completed and signed [https://www.eclipse.org/legal/CLA.php Eclipse CLA]
 +
* Make sure you have a [https://github.com/signup/free GitHub account]
 +
* [http://help.github.com/forking/ Fork] the repository on GitHub
 +
 +
== Getting the Code ==
 +
 +
* Clone your fork
 +
 +
    $ git clone git@github.com:<you>/thym.git
 +
    $ cd thym
 +
    $ git remote add upstream git@github.com:eclipse/thym.git
 +
 
 +
At any time, you can pull changes from the upstream and merge them onto your master.  The general idea is to keep your 'master' branch in-sync with the 'upstream/master'.
 +
 +
    $ git checkout master              # switches to the 'master' branch
 +
    $ git pull upstream master          # fetches all 'upstream' changes and merges 'upstream/master' onto your 'master' branch
 +
    $ git push origin                  # pushes all the updates to your fork, which should be in-sync with 'upstream'
 +
 +
 
 +
* Create a topic branch based on master, Please avoid working directly on the
 +
 +
  $ git checkout -b my_contribution
 +
 +
* Make changes for the bug or feature.
 +
* Make sure you have added the necessary tests for your changes.
 +
* Make sure that a full build (with unit tests) runs successfully.
 +
* Commit your changes and have your commit messages in the proper format
 +
For Example:
 +
 +
    [410937] Auto share multiple projects in single job
 +
   
 +
    When multiple projects are imported together, perform all the necessary
 +
    auto shares in a single job rather than spawning a separate job for each
 +
    project.
 +
   
 +
    Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=410937
 +
    Also-by: Some Otherperson <otherperson@someplace.net>
 +
    Signed-off-by: Joe Somebody <somebody@someplace.net>
 +
 +
Note that the "Signed-off-by" entry is required see [[Development_Resources/Contributing_via_Git]]
 +
 +
* You can then push your topic branch and its changes into your public fork repository:
 +
 +
    $ git push origin my_contribution        # pushes your topic branch into your fork
 +
 +
And then [http://help.github.com/pull-requests/ generate a pull-request] where we can
 +
review the proposed changes, comment on them, discuss them with you,
 +
and if everything is good merge the changes right into the official repository.
 +
  
 
== Setting up IDE to contribute to THyM ==
 
== Setting up IDE to contribute to THyM ==
  
We recommend using and enabling the following plugins in IDE: JDT, PDE, Code Recommenders, EGit and GitHub connectors, FindBugs, EclEmma.
+
We recommend using and enabling the following plugins in IDE: JDT, PDE, EGit and GitHub connectors
  
 
In order to resolve the various dependencies of THyM, you can find some target-definition files on the Git repository, under top-level folder ''target-platforms''. Import the ''target-platforms'' folder in your workspace and open the current main .target file (if there are more than one, see on parent pom the value of ''target-platform'' property which references the main one). Upon opening, the target content will be downloaded. When complete, you can press the Set as Target Platform link in the top right corner to update the target platform. PDE will then load the content of the target file, so it will be all set to resolve the various dependencies of THyM.
 
In order to resolve the various dependencies of THyM, you can find some target-definition files on the Git repository, under top-level folder ''target-platforms''. Import the ''target-platforms'' folder in your workspace and open the current main .target file (if there are more than one, see on parent pom the value of ''target-platform'' property which references the main one). Upon opening, the target content will be downloaded. When complete, you can press the Set as Target Platform link in the top right corner to update the target platform. PDE will then load the content of the target file, so it will be all set to resolve the various dependencies of THyM.
Line 9: Line 62:
 
== Bugs and enhancement requests ==
 
== Bugs and enhancement requests ==
  
* View open bugs: https://bugs.eclipse.org/bugs/buglist.cgi?product=Thym&resolution=---
+
* [https://bugs.eclipse.org/bugs/buglist.cgi?product=Thym&resolution=--- View open bugs]
* Create a new bug: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Thym
+
* [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Thym Create a new bug]
 
+
== Source and contributions ==
+
 
+
Sources are on [https://github.com/eclipse/thym GitHub]. You can contribute using the standard GitHub [https://help.github.com/articles/using-pull-requests Pull Request] workflow.
+
  
 
== Builds ==
 
== Builds ==

Revision as of 14:50, 8 July 2014


THyM
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source



Getting Started

Getting the Code

  • Clone your fork
   $ git clone git@github.com:<you>/thym.git
   $ cd thym
   $ git remote add upstream git@github.com:eclipse/thym.git
 

At any time, you can pull changes from the upstream and merge them onto your master. The general idea is to keep your 'master' branch in-sync with the 'upstream/master'.

   $ git checkout master               # switches to the 'master' branch
   $ git pull upstream master          # fetches all 'upstream' changes and merges 'upstream/master' onto your 'master' branch
   $ git push origin                   # pushes all the updates to your fork, which should be in-sync with 'upstream'


  • Create a topic branch based on master, Please avoid working directly on the
  $ git checkout -b my_contribution
  • Make changes for the bug or feature.
  • Make sure you have added the necessary tests for your changes.
  • Make sure that a full build (with unit tests) runs successfully.
  • Commit your changes and have your commit messages in the proper format

For Example:

   [410937] Auto share multiple projects in single job
   
   When multiple projects are imported together, perform all the necessary
   auto shares in a single job rather than spawning a separate job for each
   project.
   
   Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=410937
   Also-by: Some Otherperson <otherperson@someplace.net>
   Signed-off-by: Joe Somebody <somebody@someplace.net>

Note that the "Signed-off-by" entry is required see Development_Resources/Contributing_via_Git

  • You can then push your topic branch and its changes into your public fork repository:
   $ git push origin my_contribution         # pushes your topic branch into your fork

And then generate a pull-request where we can review the proposed changes, comment on them, discuss them with you, and if everything is good merge the changes right into the official repository.


Setting up IDE to contribute to THyM

We recommend using and enabling the following plugins in IDE: JDT, PDE, EGit and GitHub connectors

In order to resolve the various dependencies of THyM, you can find some target-definition files on the Git repository, under top-level folder target-platforms. Import the target-platforms folder in your workspace and open the current main .target file (if there are more than one, see on parent pom the value of target-platform property which references the main one). Upon opening, the target content will be downloaded. When complete, you can press the Set as Target Platform link in the top right corner to update the target platform. PDE will then load the content of the target file, so it will be all set to resolve the various dependencies of THyM.

Bugs and enhancement requests

Builds

Project can be built and tested locally with a simple mvn clean verify.

The is a Hudson instance for the project that hosts a few builds. See https://hudson.eclipse.org/thym/

Back to the top