Skip to main content
Jump to: navigation, search

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:  
 +
 
 +
'''''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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:
 +
 
 +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '''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&nbsp; 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;"
 
|-
 
|-
| '''repository<br>'''  
+
| '''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>
| ???
+
| &nbsp;???  
 
| 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

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:

  1. Read carrefully the next paragraph, and decide in which folder/subfolder your plugin will be located
  2. Use the proposed prefix (ex: org.eclipse.papyrus.example. )
  3. If you want to contribute a set of plugins, give them a namespace name to identify all of them
  4. 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:

  • Java reverse tool
  • diagram auto layout
  • ...

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


Back to the top