Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 3.08 KB

contribute.md

File metadata and controls

68 lines (48 loc) · 3.08 KB

Developer's Guide

Prerequisites

Set up the Project

  1. Checkout the ADMentor repository
  2. Copy Interop.EA.dll from your local Enterprise Architect installation to the root folder of the checked out repository
  3. Start Visual Studio as Administrator
  4. Open the ADMentor solution (ADMentor.sln in root folder of repository)
  5. Right click on the ADMentor project and choose "Set as StartUp Project"
  6. Open the properties of the ADMentor project and go to the "Debug" tab
  7. Set the path to the executable in your EA installation in the "Start external program" field
  8. Make sure the "Register for COM interop" checkbox is selected in the "Build" tab of the ADMentor and EAAddInBase project properties
  9. Run the PowerShell command registerADMentor.ps1 as Administrator to register the add-in class as an EA extension (adds required entries to the registry)

Update Model Templates

  1. Modify one of the template models in docs/ModelTemplates.eap.
  2. Right click on the updated template model and select "Import/Export" -> "Export Package to XMI File..."
  3. Select the path of the according template XML (e.g. ADMentor\ADTechnology\DemoTemplate.xml)
  4. Select Export Type XMI 1.1
  5. Run release.ps1 to clean up unnecessary meta data in the XMI files.

Release a new Version

  1. Update version and modelVersion (if necessary) in AdAddIn.ADTechnology.Technologies
  2. Make sure all model templates are up to date:
  3. Open ModelTemplates.eap and recreate the examples and templates if necessary
  4. Export the templates (as XMI) to the according .XML files in ADTechnology
  5. Run realease.ps1 . This script performs mandatory clean up steps on the model templates.
  6. Rebuild the ADMentor.Setup project. The build puts the installer into the ADMentor.Setup\Debug/ADMentor.Setup\Release folder.
  7. Make sure all changes have been committed (usual git workflow)
  8. Tag the release in your local repository: git tag vX.Y.Z
  9. Push the tag to remote: git push --tags

Project Layout

EAAddInBase

EAAddInBase is a small framework for EA Add-Ins that provides core functionalities required by many EA Add-Ins:

  • Event Processing
  • Context Item Handling
  • Menu Handling
  • Validation Rules
  • C# DSL for defining MDG technologies
  • Unified hierarchy for EA entities

EAAddInBase.Utils

Some useful utility classes and functions that support a more functional and generic programming style in C#. For example implementations of the Option and Unit types and various extension methods.

ADMentor

The ADMentor add-in.

ADMentor.Setup

The ADMentor installer based on Visual Studio Installer Projects Extensions.

ADMentor.ADRepoConnector

A separated add-in that integrates an ADRepo client into ADMentor (experimental).