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

Gendoc/developerResources/architecture

Features & Bundles

  • org.eclipse.gendoc.feature
    • all the common bundles needed to use Gendoc
    • org.eclipse.gendoc.batch
    • org.eclipse.gendoc.bundle.acceleo.commons
    • org.eclipse.gendoc.bundle.acceleo.gmf
    • org.eclipse.gendoc.document.parser
    • org.eclipse.gendoc.documents.image.svg
    • org.eclipse.gendoc.documents
    • org.eclipse.gendoc.m2t
    • org.eclipse.gendoc.process
    • org.eclipse.gendoc.script.acceleo
    • org.eclipse.gendoc.services.docx
    • org.eclipse.gendoc.services.odt
    • org.eclipse.gendoc.services
    • org.eclipse.gendoc.tags.handlers
    • org.eclipse.gendoc.tags.html
    • org.eclipse.gendoc.tags.hyperlink
    • org.eclipse.gendoc.tags.parsers
    • org.eclipse.gendoc.tags
    • org.eclipse.gendoc.ui
    • org.eclipse.gendoc.wizard.gmf
    • org.eclipse.gendoc.wizard
    • org.eclipse.gendoc
  • org.eclipse.gendoc.papyrus.feature
    • specific bundles (diagram and queries) for Papyrus
    • org.eclipse.gendoc.wizard.papyrus
    • org.eclipse.gendoc.bundle.acceleo.papyrus
  • org.eclipse.gendoc.sirius.feature
    • specific bundles (diagram and queries) for Sirius
    • org.eclipse.gendoc.bundle.acceleo.sirius

List of Services

all of the declared services bellow can be overridden by a developer using the extension point org.eclipse.gendoc.services

org.eclipse.gendoc.services

GendocDiagnostician

  • Information displayed to the user at the end of the process
  • interface : org.eclipse.gendoc.services.IGendocDiagnostician

Logger

  • log creation (error log for example)
  • interface : org.eclipse.gendoc.services.ILogger

ProgressMonitorService

  • a service to manage progress
  • interface : org.eclipse.gendoc.services.IProgressMonitorService

RegistryService

  • a map which can be used by developers to share data through services
  • interface : org.eclipse.gendoc.services.IRegistryService

BookmarkService

  • The service linked to bookmark tag
  • save all the bindings from the bookmark tag
  • interface : org.eclipse.gendoc.services.IBookmarkService

org.eclipse.gendoc.documents

DocumentManager

  • load template Document
  • interface : org.eclipse.gendoc.documents.IDocumentManager

DocumentService

  • main operations for document modifications
  • interface : org.eclipse.gendoc.documents.IDocumentService

IImageInfoServiceFactory

  • image information and transformations for specific formats
  • interface : org.eclipse.gendoc.documents.IImageManipulationServiceFactory

org.eclipse.gendoc.process

ProcessExtensionService

  • Manage the list of processes of the platorm
  • interface : org.eclipse.gendoc.process.IProcessExtensionService

org.eclipse.gendoc.tags

ConfigurationService

  • The service linked to config tag
  • information about : parameters, output path ...
  • interface : org.eclipse.gendoc.tags.parsers.ITagParserService

org.eclipse.gendoc.tags.parsers

TagExtensionService

  • information about registered tags through extension points
  • interface : org.eclipse.gendoc.tags.ITagExtensionService

org.eclipse.gendoc.tags.handler

TagParserService

  • transform text into tags
  • interface : org.eclipse.gendoc.tags.handlers.IConfigurationService

ContextService

  • the service linked to context tag
  • information about : model path, context eobject, path to the eobject, the way to compute path ...
  • interface : org.eclipse.gendoc.tags.handlers.IContextService

PropertiesService

  • the service linked to properties tag
  • load a file to register parameters
  • interface : org.eclipse.gendoc.tags.handlers.IPropertiesService

TagHandlerService

  • the service used by gendoc to determine handlers from an org.eclipse.gendoc.tags.ITag
  • interface : org.eclipse.gendoc.tags.handlers.ITagHandlerService

EMFModelLoaderService

  • the service which loads EMF models
  • used mainly by the IConfigurationService
  • interface : org.eclipse.gendoc.tags.handlers.IEMFModelLoaderService

TagAnalyserBuffer

  • the service used to bufferize tag transformation content
  • interface : org.eclipse.gendoc.tags.handlers.process.buffers.ITagAnalyserBuffer

org.eclipse.gendoc.m2t

ScriptLanguageExtensionService

  • The service able to get a script processor
  • interface : org.eclipse.gendoc.m2t.IScriptLanguageExtensionService

FragmentService

  • the service linked to fragment tag
  • parse and compile fragment content
  • interface : org.eclipse.gendoc.m2t.IFragmentService

org.eclipse.gendoc.script.acceleo

ModuleManager

  • The service able to manage acceleo modules and dependencies
  • interface : org.eclipse.gendoc.script.services.IModuleManagerService

FileAndMetaModelsRegistry

  • The service managing metamodels registry
  • interface : org.eclipse.gendoc.script.acceleo.IFileAndMMRegistry

org.eclipse.gendoc.tags.html

HtmlService

  • the service linked to richText tag
  • The service able to manage rich text content (html content by default)
  • interface : org.eclipse.gendoc.tags.html.IHtmlService

Processes

Processes in gendoc are java classes which implement org.eclipse.gendoc.process.IProcess (or inherit from org.eclipse.gendoc.process.AbstractProcess)

A process is declared through the extension point : org.eclipse.gendoc.processes.

Each Process mentions its id, label, if it can run in parallel, priority, and java class (processor)

It is also possible to mention predecessors or successors. It is gendoc engine which will schedule the processes according the defined rules.

List of processes

Processes.png

when a node have several incoming edges all the previous activities must be finished to start its execution

green edges are successor constraints, blue edges are predecessor constraints

org.eclipse.gendoc.process

  • countSteps
    • A process that identifies the number of steps in the document (useful for the gendoc progress monitor)

org.eclipse.gendoc

  • generate
    • predecessor : countSteps
    • parse and analyse the tags in the document
  • save
    • predecessor : generate
  • additionalResources
    • predecessor : generate
    • successor : save
    • add the additional ressources potentially generated during the gendoc process

org.eclipse.gendoc.tags.handlers

  • drop
    • predecessor : generate
    • successor : save
    • remove paragraphs containing drop tags
  • nobr
    • predecessor : drop
    • successor : save
    • remove line breaks
  • fragment
    • predecessor : countSteps
    • successor : generate
    • analyse and compile fragment tags
  • RegisterVariableProcess
    • predecessor : countSteps
    • successor : generate
    • register predefined variables available in gendoc
  • bookmark
    • predecessor : countSteps
    • successor : fragment
    • analyse bookmarks for replacement

org.eclipse.gendoc.tags.html

  • additionalStyles
    • predecessor : generate
    • successor : save
    • add styles according to HTML content

org.eclipse.gendoc.bundle.acceleo.papyrus

  • org.eclipse.gendoc.bundle.acceleo.papyrus.factoryassignment
    • successor : countSteps
    • override the factories for Papyrus model loading

Back to the top