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

Linux Tools Project/Getting Involved

< Linux Tools Project
Revision as of 12:50, 8 December 2009 by Overholt.redhat.com (Talk | contribs) (New page: Getting involved in the Linux Tools project is easy and new contributors are always welcome! Many committers hang out on #eclipse-linux on Freenode and we all monitor our mailing list, [...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Getting involved in the Linux Tools project is easy and new contributors are always welcome! Many committers hang out on #eclipse-linux on Freenode and we all monitor our mailing list, linuxtools-dev@eclipse.org.

General Information

Getting Code

Our code is all maintained in the Eclipse Foundation Subversion server. It is best to check out the code directly into Eclipse. To do so, install either Subclipse (most committers use this) or Subversive. Once that is installed and functioning, check out our code using the following project set file:

http://dev.eclipse.org/svnroot/technology/org.eclipse.linuxtools/releng/trunk/org.eclipse.linuxtools.releng/psfs/linuxtools.psf

  1. Save the PSF file to your computer
  2. In Eclipse, select File -> Import -> Team -> Team Project Set
  3. Give the location where you saved the .psf file
  4. The checkout will proceed

Automated Builds

We use the Eclipse Hudson server to run continuous integration builds when SVN changes occur. Every 6 hours we poll for SVN changes and if they have occurred, we run a full build using Dash Athena and run all unit tests. See instructions for building locally for how to perform a full local build; note that this is normally not necessary for most developers. The unit tests results and output of the build including logs can be seen on our Hudson job page:

https://build.eclipse.org/hudson/job/cbi-linuxtools-Galileo/

Ways to get involved

Plugin Hacking

Eclipse plugins are written in Java and developed using Eclipse itself. It is easy to get started.

  1. Ensure you have the Eclipse Plugin Development Environment installed
  2. See "Getting Code" section above and check out plugin source code
  3. If you have errors (little red 'x's), resolve them by either installing plugin dependencies or checking out the source for these dependencies into Eclipse
    1. Hop on #eclipse-linux (Freenode) or email linuxtools-dev@eclipse.org if you have trouble
  4. Verify that the plugins in which you are interested function correctly by running them
    1. Right-click on any of the plugins and select Run As -> Eclipse Application
    2. The default is to run all plugins in your workspace PLUS all plugins that are running your host Eclipse workbench
    3. Ensure menu items and general plugin functionality is present and correct in your second Eclipse instance (aka "runtime workbench")
  5. Make changes, debug, set breakpoints, etc.

Helpful knowledge and skills:

  • Eclipse plugin development
  • Java
  • Underlying tool experience if developing an Eclipse plugin to interact with an existing tool

Time commitment: as much or as little as possible

Unit Tests

One area that is great for new contributors to help with is writing unit tests. Right-clicking on a plugin that has "test" in its name and selecting Run As -> JUnit Plugin Test will run that plugin's unit tests. They should all pass. We can always use more tests written and they are a good way to learn the code. A tool such as EclEmma can be used to determine unit test coverage and those plugins with low percentages are the best places to start.

Helpful knowledge and skills:

  • Eclipse plugin development
  • Java
  • Underlying tool experience if developing an Eclipse plugin to interact with an existing tool

Time commitment: a few hours per week

eclipse-build (building the Eclipse SDK)

One aspect of our project is to increase the quality and quantity of Eclipse technology in Linux distributions. A key aspect of this is the building of the Eclipse SDK. We call our efforts here "eclipse-build". Our work is kept in our SVN repository:

Be sure to use Subclipse or Subversive from within Eclipse to generate patches directly against SVN trunk.

Helpful knowledge and skills:

  • ant
  • p2
  • OSGi
  • PDE Build

Time commitment: a few hours per week

Release Engineering

Our automated builds are generally in good shape but there are always things we could do to make them more useful to developers. Adding tools such as PMD, FindBugs, EMMA can really help developers find problems. These can be done as part of Athena itself or simply enabled in our builds. More information is available on our [[Linux_Tools_Project/Releng Releng] page.

Helpful knowledge and skills:

  • Athena
  • PDE Build
  • Java
  • p2
  • ant

Time commitment: varies but not very much

Documentation

A few of our plugins have user guides. We could use more and a probably a nice guide to tie them all together. It would be nice to write use SWTBot to generate screenshots for the documentation upon each release so that

Time committment: a few hours per week

Bug Filing

Time committment: a few hours per week

Bug Triage

Web and Wiki

Back to the top