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 "EASE/Contributor Guide"

m (Typo)
 
(10 intermediate revisions by 2 users not shown)
Line 13: Line 13:
 
* [https://git.eclipse.org/r/#/settings/http-password Find your Gerrit password]
 
* [https://git.eclipse.org/r/#/settings/http-password Find your Gerrit password]
  
We receive conrtibutions via Gerrit. If you know how to setup Gerrit, you may skip the next section.
+
We receive contributions via Gerrit. If you know how to setup Gerrit, you may skip the next section.
  
 
=== How to checkout with Gerrit ===
 
=== How to checkout with Gerrit ===
  
* make sure you have installed following components (or directly get [https://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/lunasr1 Eclipse for RCP and RAP Developers]):
+
* make sure you have installed the following components (or directly get [https://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/lunasr1 Eclipse for RCP and RAP Developers]):
* Eclipse Git Team Provider
+
::* Eclipse Git Team Provider
* Mylyn Reviews Connector: Gerrit
+
::* Mylyn Reviews Connector: Gerrit
* Mylyn Versions Connector: Git
+
::* Mylyn Versions Connector: Git
* Open the Git Repositories view
+
* Open the ''Git Repositories'' view
* "Clone from repo"
+
* select ''Clone a Git repository''
* Select Gerrit
+
* Select ''Gerrit'', ''Next''
* "Add a new repository"
+
* Select ''Add...''
* screenshot
+
* Provide Eclipse Gerrit repository settings
* select the appropriate repo
+
::[[File:Ease contribute1.png]]
* clone
+
* select the appropriate repository
* import all projects
+
::[[File: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 [http://www.vogella.com/tutorials/Gerrit/article.html#gerritsetup_user this excellent tutorial] from Lars Vogel.
+
For detailed instructions on how to contribute with Gerrit, please read [http://www.vogella.com/tutorials/Gerrit/article.html#gerritsetup_user this excellent tutorial] from Lars Vogel.
  
 
=== Script Contributions ===
 
=== Script Contributions ===
  
To consume/provide sample scripts use [https://git.eclipse.org/r/#/admin/projects/ease/org.eclipse.ease.scripts org.eclipse.ease.scripts]. To test your scripts you need EASE to be installed in your running IDE.
+
Provide your favorite scripts that enhance your productivity or provide scripts for others to learn how to use EASE.
 +
 
 +
* check out [https://git.eclipse.org/r/#/admin/projects/ease/org.eclipse.ease.scripts org.eclipse.ease.scripts]
 +
* to test your scripts you need to [https://www.eclipse.org/ease/download/ install EASE] in your running IDE.
  
 
=== Module Contributions ===
 
=== Module Contributions ===
  
To provide new script modules use [https://git.eclipse.org/r/#/admin/projects/ease/org.eclipse.ease.modules org.eclipse.ease.modules]. You need the EASE core components to be part of your target platform.
+
Add new modules or extend existing ones to add new functionality to the scripting languages.
 +
 
 +
* check out [https://git.eclipse.org/r/#/admin/projects/ease/org.eclipse.ease.modules org.eclipse.ease.modules]
 +
* set the target platform located at: [http://git.eclipse.org/c/ease/org.eclipse.ease.modules.git/tree/releng/org.eclipse.ease.modules.releng.target/org.eclipse.ease.modules.releng.target.target org.eclipse.ease.modules.releng.target/org.eclipse.ease.modules.releng.target.target].
  
 
=== Core Framework Contributions ===
 
=== Core Framework Contributions ===
Line 47: Line 57:
 
* set the target platform located at: [http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/tree/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target].
 
* set the target platform located at: [http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/tree/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target].
  
=== Coding Rules ===
+
=== Coding & Contribution Rules ===
 +
 
 +
==== Java code ====
 +
 
 +
Please use our code formatter template: Preferences/Java/Code Style/Formatter, click import and load the file [http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/tree/developers/formatter.xml 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>: <data>
 +
  * <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 [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EASE&rep_platform=All&op_sys=All bug report].
  
Before you commit changes please load our code formatter template: Preferences/Java/Code Style/Formatter, click import and load the file [http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/tree/developers/formatter.xml developers/formatter.xml].
+
==== Plug-in / Feature templates ====
  
 +
To keep default preferences and disclaimers consistent we provide a [http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/tree/developers/org.eclipse.ease.sample.project sample Plug-in project] and a [http://git.eclipse.org/c/ease/org.eclipse.ease.core.git/tree/developers/org.eclipse.ease.sample.feature 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 ==
 
== Bug Reports ==

Latest revision as of 08:48, 29 November 2016

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.

Back to the top