Jump to: navigation, search

Papyrus/Papyrus Developer Guide

< Papyrus
Revision as of 10:54, 19 January 2011 by Cedric.dumoulin.lifl.fr (Talk | contribs) (Papyrus Command Execution, History, Undo/Redo)

Development Environment

To ease the development on Papyrus, each member of the team works with basically the same configuration :
- [1] Eclipse Modelling 3.6M5 . GMF needs to be install on top of this release.
- [2] ANTLR 3.0.0. Download this plug-in and put it into the dropins folder.
- [3] SVN Subversive (or Subclipse)
- [4] CheckStyle
- [5] JAutoDoc

Development Plan


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 Bugzilla usage

When adding a task to the buzilla, the following grammar should be used:

  • '[' Category ']' NameOfTheTask

The category helps to filter the bugs for developers. There are already some existing categories: General, XXX Diagram, Common, Property View, etc.

Papyrus Log

Papyrus Build Process

Papyrus Creation Type

Papyrus Command Execution, History, Undo/Redo

  • A document is available in Papyrus SVN :
    • /trunk/doc/DevelopperDocuments/architecture/commandExecution.doc

  • And a UML model with code reverse :
    • /trunk/doc/DevelopperDocuments//architecture/CommandStackFramework.di
    • /trunk/doc/DevelopperDocuments//architecture/CommandStackFramework.notation
    • /trunk/doc/DevelopperDocuments//architecture/CommandStackFramework.uml