Jump to: navigation, search

Papyrus Developer Guide

Development Environment

To ease the development on Papyrus, each member of the team works with basically the same configuration.

Common Environment

Following is a description of the basic configuration:

  • The latest Eclipse Modeling release.
  • [1] SVN Subversive (or Subclipse)
  • [2] CheckStyle
  • [3] JAutoDoc

Required External Plugins

Papyrus requires some external plugins in order to compile.
The following page maintain a list of Papyrus Required External Plugins

Development Plan

Specifications

The specifications are available here : http://wiki.eclipse.org/Papyrus_Developer_Guide/Specifications

Getting the code

Connecting to the svn

The code is available under svn at this location http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/

Retrieve code

PSF Following files will allow you to import all Papyrus plugins used during build phase:

Retrieve configuration files

The Papyrus Code Templates and Java Formatter files are available under the Papyrus repository in the plugin org.eclipse.papyrus.doc under the folder "templates"
FAQ How do I control the Java formatter
FAQ How can templates make me the fastest coder ever
Checkstyle : available soon

The note explains how to install the templates in your environment.

Papyrus Generation

Papyrus Code Standards

  • Java Doc - every class, method and field including private ones should be documented with Java Doc
  • No abbreviations - the class, methods and variables should have meaningful names
  • Formatting - the code should be formatted in accordance with format templates
  • Compile - the modified code and other plugins should be compilable. Be sure to use Java 1.5 code compatibility. Check other plugins that could be influenced before commiting!
  • Standard Java Rules coding - Unless specified differently, the Java Standard Coding rules should be applied : no abbreviations, variables starting with lower case; class and types with upper case; Composed name separated with upper case; no underscore in names; ...
  • In case of doubt - check existing code from those following the rules :-)

Papyrus Coding guidelines

A few points may be a little tricky when coding for Papyrus. Among them :

Papyrus Plugin Naming Scheme and Folders Structure

Structure and behavior of papyrus

Papyrus Command Execution, History, Undo/Redo


How To ...

Commit, Report Bugs, patchs (Code Contributing)

Papyrus Code Examples

Papyrus Log

Papyrus Editors

Currently Papyrus provides 2 editors kinds : Diagrams and Table. How to add your own editor kind is explained here Papyrus Developper Guide/How to - Add your own editor in Papyrus

Papyrus Build Process


New plugin Submition Process

New plugin should follow the submition process describe here: Papyrus New Plugin Submission Process