Skip to content

Open-MBEE/mdk

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
August 25, 2022 14:59
lib
October 17, 2016 15:18
August 8, 2022 16:37
November 2, 2018 12:09
January 26, 2017 11:15
August 17, 2022 15:43
October 31, 2022 14:48
January 25, 2023 12:40
August 25, 2022 10:56

Cameo Model Development Kit (MDK)

GitHub release (latest SemVer) Maven Central Jira CircleCI Language grade: Java

Cameo MDK is a plugin for Cameo Systems Modeler and other No Magic environment bundles that’s primary purposes are to sync models with the MMS and implement the DocGen language, which allows modelers to dynamically generate documents in a model-based approach using the view and viewpoint concept.

Quickstart

User Guide

The latest user documentation can be accessed online: https://mdk.readthedocs.io/en/latest

Prerequisites

Installation

  1. Download the Cameo MDK plugin, e.g. mdk-*-plugin.zip.

  2. Run CSM. From the main menu, select "Help" > "Resource/Plugin Manager". Resource/Plugin Manager

  3. Click "Import", navigate to the downloaded Cameo MDK plugin, and click "Open".

  4. CSM should confirm installation with the following prompt.

    MDK Installation Confirmation

  5. Restart CSM. To check installation, select from the main menu "Help" > "Resource/Plugin Manager" > "Plugins (no cost)" and ensure a row exists for "Model Development Kit" and its status is "Installed" with the correct version. MDK Installed

Cameo MDK can also be installed headlessly by simply unzipping the plugin archive into the directory that CSM is installed in.

Contributing

To learn how you can get involved in a variety of ways, please see Contibuting to OpenMBEE.

Local Development

Cameo MDK is a Java project that uses the Gradle build tool. It can be imported as a Gradle project in IDEs like IntelliJ and Eclipse.

Custom Build Profiles

Starting with version 4.5.1+ you will be able to define custom build profiles (in ./buildProfiles) which will house the classpath and other variables previously managed by setting -buildAccess=internal. These profiles will allow customization based on your build process and for your particular version of Cameo.

NOTE: By default build profiles are excluded from being committed to git by a buildProfiles/.gitignore

Create a new profile

Create a new java properties file in buildProfiles/<yourProfileName>.properties. In order to use a custom profile to run any of the below commands. Use the command with -PbuildProfile=<yourProfileName>

For more examples of what properties are available in profiles see the example file in buildProfiles/example.properties

For users of non-standard cameo bundles

To retrieve the classpath:

  1. Copy the CLASSPATH entry from your ${md.install.dir}/bin/(magicraw/csm/cea).properties file.
  2. Paste the entire line into a new file and find replace the \: with , and set it equal to classpath
  3. Save this file to buildProfiles/<yourProfileName>.properties

This is only necessary for custom build repositories or non-SP3 builds, most users will not need to modify the classpath and modification of the classpath is not necessary to use profiles!

Build

In order to use a custom profile to run any of the below commands. Use the command with -PbuildProfile=<yourProfileName> otherwise it will default to using opensource.

  • ./gradlew dependencies will download all necessary dependencies.
  • ./gradlew assemble will compile Cameo MDK from source.
  • ./gradlew distZip will package the installable plugin.
  • ./gradlew installDist will install the plugin in a staging environment.
  • ./gradlew runJava will interactively run CSM with Cameo MDK from the staging environment.

Task dependencies are declared such that all necessary prerequisites are executed/cached, e.g. runJava will first dependencies, assemble, distZip, etc.