Giter VIP home page Giter VIP logo

mdk's Introduction

Cameo Model Development Kit (MDK)

GitHub release (latest SemVer) Maven Central CircleCI

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.

mdk's People

Contributors

ivan-gomes avatar ablack-jpl avatar w3e avatar enquier avatar davidwillard avatar miyakowilson avatar dlamoris avatar beninada avatar bradnasa avatar ba-mbse avatar jjsalcedo avatar paulgaspardo avatar cgaley-lmco avatar wobrschalek avatar zepedar avatar borozcod avatar openmbeeorg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.