Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Papyrus/Papyrus Developer Guide"
(→Retrieve configuration files) |
|||
Line 1: | Line 1: | ||
== Development Environment == | == Development Environment == | ||
− | To ease the development on Papyrus, each member of the team works with basically the same configuration : <br> - [http://www.eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/heliosm5] Eclipse Modelling 3.6M5 . GMF needs to be install on top of this release. <br> - [http://download.eclipse.org/tools/orbit/downloads/drops/S20100120144102/bundles/org.antlr.runtime_3.0.0.v200803061811.jar] ANTLR 3.0.0. Download this plug-in and put it into the dropins folder. <br> - [http://www.eclipse.org/projects/project_summary.php?projectid=technology.subversive] SVN Subversive (or Subclipse) <br> - [http://eclipse-cs.sourceforge.net/downloads.html] CheckStyle <br> - [http://jautodoc.sourceforge.net/] JAutoDoc <br> | + | To ease the development on Papyrus, each member of the team works with basically the same configuration : <br> - [http://www.eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/heliosm5] Eclipse Modelling 3.6M5 . GMF needs to be install on top of this release. <br> - [http://download.eclipse.org/tools/orbit/downloads/drops/S20100120144102/bundles/org.antlr.runtime_3.0.0.v200803061811.jar] ANTLR 3.0.0. Download this plug-in and put it into the dropins folder. <br> - [http://www.eclipse.org/projects/project_summary.php?projectid=technology.subversive] SVN Subversive (or Subclipse) <br> - [http://eclipse-cs.sourceforge.net/downloads.html] CheckStyle <br> - [http://jautodoc.sourceforge.net/] JAutoDoc <br> |
== Development Plan == | == Development Plan == | ||
− | === Specifications === | + | |
− | The specifications are available here : http://wiki.eclipse.org/Papyrus_Developer_Guide/Specifications | + | === Specifications === |
+ | |||
+ | The specifications are available here : http://wiki.eclipse.org/Papyrus_Developer_Guide/Specifications | ||
== Getting the code == | == Getting the code == | ||
Line 19: | Line 21: | ||
=== Retrieve configuration files === | === Retrieve configuration files === | ||
− | The Papyrus [http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/trunk/doc/DevelopperDocuments/templates/Papyrus%20Code%20templates.xml Code Templates] and [http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/trunk/doc/DevelopperDocuments/templates/Papyrus%20Code%20templates.xml Java Formatter] files are available under the Papyrus repository in the plugin org.eclipse.papyrus.doc under the folder "templates"<br> | + | The Papyrus [http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/trunk/doc/DevelopperDocuments/templates/Papyrus%20Code%20templates.xml Code Templates] and [http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/trunk/doc/DevelopperDocuments/templates/Papyrus%20Code%20templates.xml Java Formatter] files are available under the Papyrus repository in the plugin org.eclipse.papyrus.doc under the folder "templates"<br> [[FAQ How do I control the Java formatter?|FAQ How do I control the Java formatter]]<br> [[FAQ How can templates make me the fastest coder ever?|FAQ How can templates make me the fastest coder ever]]<br> Checkstyle : available soon <br> |
− | [[FAQ How do I control the Java formatter?|FAQ How do I control the Java formatter]]<br> | + | |
− | [[FAQ How can templates make me the fastest coder ever?|FAQ How can templates make me the fastest coder ever]]<br> Checkstyle : available soon <br> | + | [http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/trunk/doc/DevelopperDocuments/templates/HowToUseTemplates.txt The note] explains how to install the templates in your environment. |
+ | |||
+ | == Papyrus Generation == | ||
+ | |||
+ | *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. 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''<br> | ||
− | + | The category helps to filter the bugs for developers. There are already some existing categories: General, XXX Diagram, Common, Property View, etc. | |
− | == Papyrus | + | == Papyrus Log == |
− | + | ||
− | + | *Papyrus Log is explained here [[Papyrus Developer Guide/Papyrus Log]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == Papyrus | + | == Papyrus Build Process == |
− | + | ||
− | + | ||
− | + | *Papyrus build process on Athena is explained here [[Papyrus Developer Guide/Build Process]].<br> | |
− | + | ||
− | * | + | |
− | + | ||
− | == Papyrus | + | == Papyrus Creation Type == |
− | + | ||
− | + | mechanism of type creation used in the model explorer and in the property view is explained [[Papyrus Developer Guide/Type Creation]] <br> | |
− | + |
Revision as of 10:42, 25 August 2010
Contents
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
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 Files can be found here (in the plugin org.eclipse.mdt.papyrus.releng under the folder psf).
Check out this project, and import the "Papyrus-ALL-pserver.psf".
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 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. 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
- 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