Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

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

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