Jump to: navigation, search

EASE/Contributor Guide

EASE Contributor Guide

Contribution to an open source project is not only about coding. There are multiple other ways to help this project, which we will describe below.

Source Contributions

Basic Setup

We receive contributions via Gerrit. If you know how to setup Gerrit, you may skip the next section.

How to checkout with Gerrit

  • Eclipse Git Team Provider
  • Mylyn Reviews Connector: Gerrit
  • Mylyn Versions Connector: Git
  • Open the Git Repositories view
  • select Clone a Git repository
  • Select Gerrit, Next
  • Select Add...
  • Provide Eclipse Gerrit repository settings
Ease contribute1.png
  • select the appropriate repository
Ease contribute2.png
Use the URI selector to go for an https or ssh checkout. For ssh you need to setup your keys in Eclipse and on the gerrit server. If not sure, take https.
  • select the master branch
  • select Import all existing projects after clone finishes
  • Finish the wizard

For detailed instructions on how to contribute with Gerrit, please read this excellent tutorial from Lars Vogel.

Script Contributions

Provide your favorite scripts that enhance your productivity or provide scripts for others to learn how to use EASE.

Module Contributions

Add new modules or extend existing ones to add new functionality to the scripting languages.

Core Framework Contributions

Work on the core framework, UI integration and script interpreters.

Coding & Contribution Rules

Java code

Please use our code formatter template: Preferences/Java/Code Style/Formatter, click import and load the file developers/formatter.xml. For new files add following header:

/*******************************************************************************
 * Copyright (c) <year> <author> and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     <author> - initial API and implementation
 *******************************************************************************/

Script code

We do not have code formatters yet, just try to keep your code clean and easily to understand. Add following header to new files:

/*******************************************************************************
 * Copyright (c) <year> <author> and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     <author> - initial API and implementation
 * <keyword1>: 
 * <keyword2>: <data>
 *******************************************************************************/

As keywords are detected in the header section only, it is important to keep them directly in the header and not in a separate comment.

Commit messages

Keep commits centered around a single topic. If you want to change 2 independent topics use 2 commits. Commit messages should follow a dedicated format:

Bug <bug ID>: Bug title from bugzilla

explain what this commit does in detail:
What the bug is all about should be addressed by the title.
Explain why and how you did things if not immediately clear.

Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=[bug ID]
Change-Id: I0000000000000000000000000000000000000000

Each contribution must be accompanied by a bug report.

Plug-in / Feature templates

To keep default preferences and disclaimers consistent we provide a sample Plug-in project and a feature. They contain not only license files, but also code formatting rules that will be applied on a project specific basis. Thus we can keep code contributions more consistent. Please use those templates when creating new plug-ins/features.

Bug Reports

Creating bug reports and feature requests is a valuable contribution to the project. Please be as precise as possible when describing your problem. When facing exceptions a stacktrace is a valuable piece of information. Starting eclipse with the -console command line parameter might reveal such information.

File your bugs under technology/EASE.

Help newcomers

Answering questions on the forums, mailing list and on stackoverflow encourage new users to work with EASE and eventually become contributors in the future. Be polite and help out wherever you can. Do not rely on committers to answer every question. Even if we try, we want to encourage our users to help each other.

Create UIs/Graphics

UI and icon design are important to attract users. Bad visuals might repel users without even exploring the great things you could do with EASE. We host a special EASE UI Design project for icon ideas, templates and UI mockups. For mockups we prefer Wireframe Sketcher, but accept any other freely consumable format, too.

Promotion

Blog, write, chat about EASE and spread the word. Attracting new users and developers is crucial to build up a living community.