Papyrus/Papyrus Developer Guide
- 1 Development Environment
- 2 Development Plan
- 3 Getting the code
- 4 Papyrus Generation
- 5 Papyrus Code Standards
- 6 Papyrus Coding guidelines
- 7 Papyrus Bugzilla usage
- 8 Papyrus Log
- 9 Papyrus Build Process
- 10 Papyrus Creation Type
- 11 Papyrus Command Execution, History, Undo/Redo
To ease the development on Papyrus, each member of the team works with basically the same configuration :
-  Eclipse Modelling 3.6M5 . GMF needs to be install on top of this release.
-  ANTLR 3.0.0. Download this plug-in and put it into the dropins folder.
-  SVN Subversive (or Subclipse)
-  CheckStyle
-  JAutoDoc
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/
PSF Following files will allow you to import all Papyrus plugins used during build phase:
- Nightly Builds:
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 mechanism is explained here : Papyrus Developer Guide/Papyrus diagram 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 :
- The usage of editing domains and gmf/gef/emf commands. See this detailed article Papyrus Developer Guide/Editing Domains and Commands
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 is explained here Papyrus Developer Guide/Papyrus Log
Papyrus Build Process
- Papyrus build process on Athena is explained here Papyrus Developer Guide/Build Process.
Papyrus Creation Type
- mechanism of type creation used in the model explorer and in the property view is explained Papyrus Developer Guide/Type Creation
Papyrus Command Execution, History, Undo/Redo
- A document is available in Papyrus SVN :
- And a UML model with code reverse :