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/Papyrus Plugin Naming Scheme"
m (New page: This page explain how Papyrus plugins are named. <br> All papyrus plugin should start with the same prefix: ''org.eclipse.papyrus'' <br> {| cellspacing="1" cellpadding="1" border="1" sty...) |
|||
Line 1: | Line 1: | ||
− | This page explain how Papyrus plugins are named. <br> All papyrus plugin should start with the same prefix: ''org.eclipse.papyrus'' <br> | + | This page explain:<br> |
+ | |||
+ | *how Papyrus plugins are named and located. | ||
+ | *the structure of the trunk and branches<br> | ||
+ | |||
+ | All papyrus plugin should start with the same prefix: | ||
+ | |||
+ | ''''' org.eclipse.papyrus''''' <br> | ||
+ | |||
+ | = Naming Scheme<br> = | ||
+ | |||
+ | 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 '''<br> | ||
+ | |||
+ | But this is not enough. The next step is to decide where your plugin should be located:<br> | ||
+ | |||
+ | #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<br> = | ||
+ | |||
+ | The trunk and the branches have the same structure. Here we will only describe the trunk structure.<br> | ||
+ | |||
+ | The trunk contains the following folders:<br> | ||
+ | |||
+ | *'''plugins''' - contains all plugins included in the Papyrus distribution: core, main uml diagras, sysml<br> | ||
+ | *'''tests''' - contains tests plugin. The internal structure is the same as plugins, but here we have tests.<br> | ||
+ | *'''extraplugins''' - contains plugins that can be added to Papyrus in order to bring some extra functionalities: java reverse, autolayout, marte, ...<br> | ||
+ | *'''incoming''' - this is a special folder used by Papyrus developper to propose new plugins (see [[Papyrus New Plugin Submition Process|Papyrus_New_Plugin_Submition_Process]])<br> | ||
+ | *'''examples''' - contains some example of plugins, for user and developper.<br> | ||
+ | |||
+ | These folders can also contains subfolders.<br> | ||
+ | |||
+ | == plugins == | ||
+ | |||
+ | {| cellspacing="1" cellpadding="1" border="1" style="width: 1003px; height: 148px;" | ||
+ | |- | ||
+ | | '''folder<br>''' | ||
+ | | '''plugin prefixes'''<br> | ||
+ | | '''description'''<br> | ||
+ | |- | ||
+ | | plugins/core<br> | ||
+ | | bgcolor="#66ffff" | ''org.eclipse.papyrus''.'''core.'''*'''<br>''' | ||
+ | | <br> | ||
+ | |- | ||
+ | | plugins/uml<br> | ||
+ | | bgcolor="#66ffff" | ''org.eclipse.papyrus''.'''uml.*'''<br> | ||
+ | | All plugins related to UML diagrams and UML should be locate in this repository, except plugins related to a particular profile<br> | ||
+ | |- | ||
+ | | plugins/developer | ||
+ | | bgcolor="#66ffff" | <br> | ||
+ | | <br> | ||
+ | |- | ||
+ | | plugins/marte | ||
+ | | bgcolor="#66ffff" | org.eclipse.papyrus.'''marte.*'''<br> | ||
+ | | All plugins related to marte UML profile<br> | ||
+ | |} | ||
+ | |||
+ | |||
+ | == tests == | ||
+ | |||
+ | <br> | ||
+ | |||
+ | == 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: | ||
+ | |||
+ | <br> | ||
+ | |||
+ | {| cellspacing="1" cellpadding="1" border="1" style="width: 1003px; height: 148px;" | ||
+ | |- | ||
+ | | '''folder<br>''' | ||
+ | | '''plugin prefixes'''<br> | ||
+ | | '''description'''<br> | ||
+ | |- | ||
+ | | plugins/core<br> | ||
+ | | bgcolor="#66ffff" | ''org.eclipse.papyrus''.'''core.'''*'''<br>''' | ||
+ | | <br> | ||
+ | |- | ||
+ | | plugins/uml<br> | ||
+ | | bgcolor="#66ffff" | ''org.eclipse.papyrus''.'''uml.*'''<br> | ||
+ | | All plugins related to UML diagrams and UML should be locate in this repository, except plugins related to a particular profile<br> | ||
+ | |- | ||
+ | | plugins/developer | ||
+ | | bgcolor="#66ffff" | <br> | ||
+ | | <br> | ||
+ | |- | ||
+ | | plugins/marte | ||
+ | | bgcolor="#66ffff" | org.eclipse.papyrus.'''marte.*'''<br> | ||
+ | | All plugins related to marte UML profile<br> | ||
+ | |} | ||
+ | |||
+ | = Actual Sub-Foldersand proposed Refactoring<br> = | ||
+ | |||
+ | The following table try to resume the actual existing folders, their purpose, and eventually the proposed refactoring: | ||
{| cellspacing="1" cellpadding="1" border="1" style="width: 999px; height: 1053px;" | {| cellspacing="1" cellpadding="1" border="1" style="width: 999px; height: 1053px;" | ||
|- | |- | ||
− | | ''' | + | | '''folder<br>''' |
| bgcolor="#66ffff" | '''plugin prefixes'''<br> | | bgcolor="#66ffff" | '''plugin prefixes'''<br> | ||
| '''description'''<br> | | '''description'''<br> | ||
Line 104: | Line 209: | ||
|- | |- | ||
| | | | ||
− | tests/recipes/plugins | + | tests/recipes/plugins |
− | tests/recipes/extraplugins | + | tests/recipes/extraplugins |
| bgcolor="#66ffff" | sameNameAsTestedPlugin.recipetest<br> | | bgcolor="#66ffff" | sameNameAsTestedPlugin.recipetest<br> | ||
Line 114: | Line 219: | ||
| <br> | | <br> | ||
|- | |- | ||
− | | tests/swbot | + | | tests/swbot |
− | | bgcolor="#66ffff" | | + | | bgcolor="#66ffff" | <br> |
− | | ??? | + | | ??? |
| please complete | | please complete | ||
|} | |} | ||
<br> | <br> |
Revision as of 06:02, 5 April 2011
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 |