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.
Papyrus/Papyrus Developer Guide/Papyrus Plugin Naming Scheme
This page explain:
- how Papyrus plugins are named and located.
- the structure of the trunk and branches
All papyrus plugin should start with the same prefix:
org.eclipse.papyrus
Contents
Naming Scheme
So you want to propose a new plugin. You need to give it a name.
All papyrus plugins should start with the same prefix:
org.eclipse.papyrus
But this is not enough. The next step is to decide where your plugin should be located:
- Read carrefully the next paragraph, and decide in which folder/subfolder your plugin will be located
- Use the proposed prefix (ex: org.eclipse.papyrus.example. )
- If you want to contribute a set of plugins, give them a namespace name to identify all of them
- Try to give a self explanatory name.
Folders Structure
The trunk and the branches have the same structure. Here we will only describe the trunk structure.
The trunk contains the following folders:
- plugins - contains all plugins included in the Papyrus distribution: core, main uml diagras, sysml
- tests - contains tests plugin. The internal structure is the same as plugins, but here we have tests.
- extraplugins - contains plugins that can be added to Papyrus in order to bring some extra functionalities: java reverse, autolayout, marte, ...
- incoming - this is a special folder used by Papyrus developper to propose new plugins (see Papyrus_New_Plugin_Submition_Process)
- examples - contains some example of plugins, for user and developper.
These folders can also contains subfolders.
plugins
folder |
plugin prefixes |
description |
plugins/core |
org.eclipse.papyrus.core.* |
|
plugins/uml |
org.eclipse.papyrus.uml.* |
All plugins related to UML diagrams and UML should be locate in this repository, except plugins related to a particular profile |
plugins/developer | |
|
plugins/marte | org.eclipse.papyrus.marte.* |
All plugins related to marte UML profile |
tests
extraplugins
incoming
examples
Plugin Main Sub-Folders
Papyrus plugins are dispatched in several main folders, each one dedicated to a particular layer. the following table try to summarize the main folders and their purpose:
folder |
plugin prefixes |
description |
plugins/core |
org.eclipse.papyrus.core.* |
|
plugins/uml |
org.eclipse.papyrus.uml.* |
All plugins related to UML diagrams and UML should be locate in this repository, except plugins related to a particular profile |
plugins/developer | |
|
plugins/marte | org.eclipse.papyrus.marte.* |
All plugins related to marte UML profile |
Actual Sub-Foldersand proposed Refactoring
The following table try to resume the actual existing folders, their purpose, and eventually the proposed refactoring:
folder |
plugin prefixes |
description |
required actions (column to be removed) |
plugins/core |
org.eclipse.papyrus.core.* |
|
|
plugins/uml |
org.eclipse.papyrus.uml.* |
All plugins related to UML diagrams and UML should be locate in this repository, except plugins related to a particular profile |
|
plugins/uml |
org.eclipse.papyrus.uml.diagram.* |
All plugins related to UML diagrams. |
|
plugins/developer | |
|
|
plugins/marte | org.eclipse.papyrus.marte.* |
All plugins related to marte UML profile |
|
plugins/others | org.eclipse.papyrus.??? |
Plugins that do no feet in other repository |
Need to clarify this. |
plugins/sysml | org.eclipse.papyrus.sysml.* |
All plugins related to sysml UML profile |
|
plugins/profile-tool | |
??? |
clarify this repository, its purpose, and its naming scheme |
incoming |
org.eclipse.papyrus.* |
New plugins that should be added to Papyrus. See Build_Process. Plugins in this repository should follow the naming scheme of there targeted repository. |
|
extraplugins |
org.eclipse.papyrus.* |
This repository contains plugins providing some extra functionalities to Papyrus. For example:
|
|
examples |
org.eclipse.papyrus.examples.* |
Examples for Papyrus users. This |
Need to separate user examples from developers examples. |
examples |
org.eclipse.papyrus.examples.* |
Examples for Papyrus developpers / customizers. This repository contains some plugins illustrating how to use some Papyrus functionalities, or how to extends Papyrus. |
|
tests/junit/plugins tests/junit/extraplugins |
sameNameAsTestedPlugin.tests |
These repositories contain the same hierarchies as in plugins. The test plugins should have the name of its tested plugin, suffixed with ".tests" |
|
tests/recipes/plugins tests/recipes/extraplugins |
sameNameAsTestedPlugin.recipetest |
These repositories contain the same hierarchies as in plugins.
The recipetest plugins should have the name of its tested plugin, suffixed with ".recipetest" |
|
tests/swbot | |
??? | please complete |