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.
Contents
Source Contributions
Basic Setup
- Create an Eclipse account if you do not have one yet
- Sign the CLA
- Find your Gerrit password
We receive contributions via Gerrit. If you know how to setup Gerrit, you may skip the next section.
How to checkout with Gerrit
- make sure you have installed the following components (or directly get Eclipse for RCP and RAP Developers):
- 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
- select the appropriate repository
- 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.
- check out org.eclipse.ease.scripts
- to test your scripts you need to install EASE in your running IDE.
Module Contributions
Add new modules or extend existing ones to add new functionality to the scripting languages.
- check out org.eclipse.ease.modules
- set the target platform located at: org.eclipse.ease.modules.releng.target/org.eclipse.ease.modules.releng.target.target.
Core Framework Contributions
Work on the core framework, UI integration and script interpreters.
- check out org.eclipse.ease.core.
- set the target platform located at: org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target.
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.