Skip to content

Commit

Permalink
Merge pull request #233 from Open-MBEE/release/5.1.0
Browse files Browse the repository at this point in the history
Release/5.1.0
  • Loading branch information
Enquier authored Nov 1, 2022
2 parents 979ee6d + d30d03e commit 393f584
Show file tree
Hide file tree
Showing 110 changed files with 2,460 additions and 408 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,15 @@ target
.project
.settings
*.iml
*.ipr
*.iws
*.mdxml.bak
*.jresult
*.diff
rebel.xml
.DS_Store
.vscode
venv/*
!venv/bin/
*.groovy
libz
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ Cameo MDK is a plugin for [Cameo Systems Modeler](https://www.nomagic.com/produc

# Quickstart

## User Guide

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

## Prerequisites

* [Cameo Systems Modeler (CSM)](https://www.nomagic.com/products/cameo-systems-modeler) or another No Magic environment bundle that includes the [SysML plugin](https://www.nomagic.com/product-addons/magicdraw-addons/sysml-plugin)
Expand All @@ -18,22 +22,20 @@ Cameo MDK is a plugin for [Cameo Systems Modeler](https://www.nomagic.com/produc
1. [Download](https://github.com/Open-MBEE/mdk/releases/latest) the Cameo MDK plugin, e.g. `mdk-*-plugin.zip`.

2. Run CSM. From the main menu, select "Help" > "Resource/Plugin Manager".
![Resource/Plugin Manager](doc/images/resource-plugin-manager.png)
![Resource/Plugin Manager](docs/source/images/resource-plugin-manager.png)

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](doc/images/mdk-installation-confirmation.png)
![MDK Installation Confirmation](docs/images/mdk-installation-confirmation.png)

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](doc/images/mdk-installed.png)
![MDK Installed](doc/source/images/mdk-installed.png)

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

Documentation can be accessed [online](src/main/dist/manual) or offline in CSM from the main menu "Help" > "Other Documentation" > "MDK [...] UserGuide".

# Contributing

Expand Down
290 changes: 158 additions & 132 deletions build.gradle

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions buildProfiles/opensource.properties
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
classpathLibraries = "lib/patch.jar,lib/brand.jar,lib/brand_api.jar,lib/md.jar,lib/md_api.jar,lib/md_common.jar,lib/md_common_api.jar,lib/md_common_test.jar,lib/tw_common.jar,lib/tw_common_api.jar,lib/launcher.jar,lib/activation.jar,lib/annotation.jar,lib/batik.jar,lib/bridj-0.7.0.jar,lib/bundles/ch.qos.logback.classic_1.2.3.jar,lib/bundles/ch.qos.logback.core_1.2.3.jar,lib/bundles/cmof_1.4.0.202006020804/cmof14.jar,lib/bundles/cmof_1.4.0.202006020804/tas.jar,lib/bundles/com.esotericsoftware.kryo_2.22.0.201401231130.jar,lib/bundles/com.google.guava_18.0.0.jar,lib/bundles/com.nomagic.annotations_1.0.0/com.nomagic.annotation-1.0.jar,lib/bundles/com.nomagic.ci.binary_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci.metamodel.project_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci.persistence.local_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci.persistence_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci.services_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.ci_17.0.5.v20200602-0758.jar,lib/bundles/com.nomagic.esi.api.messages_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.api_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.client.core_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.common_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.config_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.core.msg_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.emf_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.helper_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.net_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.serializer.akka_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.serializer_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.service.actorsystem_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.services_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.stream_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.esi.supervisor_1.0.0.v20191101-2128.jar,lib/bundles/com.nomagic.magicdraw.ce_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.core.diagram_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.core.project.options_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.core_1.0.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.esi.binary.metamodel_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.esi.esiproject_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.esi.uuidmap_18.1.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.foundation_2.0.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.osgi.fragment_1.0.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.security_18.3.0.202006020804.jar,lib/bundles/com.nomagic.magicdraw.uml2_2.5.1.202006020804.jar,lib/bundles/com.nomagic.magicdraw_17.0.5.202006020804.jar,lib/bundles/com.teamdev.jxbrowser.chromium.internal.linux64_6.24.1.jar,lib/bundles/com.teamdev.jxbrowser.chromium.internal.mac_6.24.1.jar,lib/bundles/com.teamdev.jxbrowser.chromium.internal.win32_6.24.1.jar,lib/bundles/com.teamdev.jxbrowser.chromium.internal.win64_6.24.1.jar,lib/bundles/com.teamdev.jxbrowser.chromium_6.24.1.jar,lib/bundles/com.typesafe.akka.actor_2.5.10.jar,lib/bundles/com.typesafe.akka.cluster.tools_2.5.10.jar,lib/bundles/com.typesafe.akka.cluster_2.5.10.jar,lib/bundles/com.typesafe.akka.osgi_2.5.10.jar,lib/bundles/com.typesafe.akka.protobuf_2.5.10.jar,lib/bundles/com.typesafe.akka.remote_2.5.10.jar,lib/bundles/com.typesafe.akka.slf4j_2.5.10.jar,lib/bundles/com.typesafe.akka.stream_2.5.10.jar,lib/bundles/com.typesafe.config_1.3.0.jar,lib/bundles/com.typesafe.sslconfig_0.2.2.jar,lib/bundles/de.schlichtherle.truezip_7.4.3.v20200602-0758/lib/truezip-driver-zip-7.4.3.jar,lib/bundles/de.schlichtherle.truezip_7.4.3.v20200602-0758/lib/truezip-kernel-7.4.3.jar,lib/bundles/gnu.trove_3.0.3/lib/trove-3.0.3.jar,lib/bundles/io.aeron.client_1.7.0.jar,lib/bundles/io.aeron.driver_1.7.0.jar,lib/bundles/io.dropwizard.metrics.core_3.1.2.jar,lib/bundles/io.dropwizard.metrics.graphite_3.1.2.jar,lib/bundles/io.netty.buffer_4.1.21.Final.jar,lib/bundles/io.netty.codec_4.1.21.Final.jar,lib/bundles/io.netty.common_4.1.21.Final.jar,lib/bundles/io.netty.handler_4.1.21.Final.jar,lib/bundles/io.netty.resolver_4.1.21.Final.jar,lib/bundles/javax.jmi_1.0.0.202006020804/javax_jmi-1_0-fr.jar,lib/bundles/io.netty.transport_4.1.21.Final.jar,lib/bundles/joda-time_2.9.1.jar,lib/bundles/lz4-java_1.3.0.jar,lib/bundles/org.agrona_0.9.12.jar,lib/bundles/org.apache.commons.codec_1.9.0.v20170208-1614.jar,lib/bundles/org.apache.commons.collections_3.2.1.jar,lib/bundles/org.apache.commons.compress_1.3.0.jar,lib/bundles/org.apache.commons.io_2.4.0.jar,lib/bundles/org.apache.commons.lang_2.6.0.v201404270220.jar,lib/bundles/org.apache.commons.logging_1.1.1.v201101211721.jar,lib/bundles/org.apache.felix.scr_2.0.10.v20170501-2007.jar,lib/bundles/org.apache.httpcomponents.httpclient_4.5.3.jar,lib/bundles/org.apache.httpcomponents.httpcore_4.4.6.v20170210-0925.jar,lib/bundles/org.apache.log4j_1.2.15.v201005080500.jar,lib/bundles/org.apache.servicemix.bundles.jsr305_2.0.1.1.jar,lib/bundles/org.apiguardian_1.1.0.v20190826-0900.jar,lib/bundles/org.eclipse.core.contenttype_3.6.0.v20170207-1037.jar,lib/bundles/org.eclipse.core.jobs_3.9.2.v20171030-1027.jar,lib/bundles/org.eclipse.core.runtime_3.13.0.v20170207-1030.jar,lib/bundles/org.eclipse.emf.common_2.13.0.v20170609-0707.jar,lib/bundles/org.eclipse.emf.ecore.xmi_2.13.0.v20170609-0707.jar,lib/bundles/org.eclipse.emf.ecore_2.13.0.v20170609-0707.jar,lib/bundles/org.eclipse.equinox.app_1.3.400.v20150715-1528.jar,lib/bundles/org.eclipse.equinox.common_3.9.0.v20170207-1454.jar,lib/bundles/org.eclipse.equinox.ds_1.5.0.v20170307-1429.jar,lib/bundles/org.eclipse.equinox.preferences_3.7.0.v20170126-2132.jar,lib/bundles/org.eclipse.equinox.registry_3.7.0.v20170222-1344.jar,lib/bundles/org.eclipse.osgi.services_3.6.0.v20170228-1906.jar,lib/bundles/org.eclipse.osgi.util_3.4.0.v20170111-1608.jar,lib/bundles/org.eclipse.osgi_3.12.50.v20170928-1321.jar,lib/bundles/org.eclipse.uml2.common_1.5.0.v200905041045.jar,lib/bundles/org.hamcrest.core_1.3.0.v201303031735.jar,lib/bundles/org.jboss.netty_3.10.6.Final.jar,lib/bundles/org.json_1.0.0.255610281323.jar,lib/bundles/org.junit.jupiter.api_5.5.1.v20190826-0900.jar,lib/bundles/org.junit.jupiter.params_5.5.1.v20190826-0900.jar,lib/bundles/org.junit.platform.commons_1.5.1.v20190826-0900.jar,lib/bundles/org.junit_4.12.0.v201504281640/junit.jar,lib/bundles/org.opentest4j_1.2.0.v20190826-0900.jar,lib/bundles/org.reactivestreams.reactive-streams_1.0.2.jar,lib/bundles/org.scala-lang.modules.scala-java8-compat_0.8.0.jar,lib/bundles/org.scala-lang.modules.scala-parser-combinators_1.0.4.jar,lib/bundles/org.scala-lang.scala-library_2.12.4.v20171010-220511-VFINAL-c2a5883.jar,lib/bundles/org.uncommons.maths_1.2.2.201301151508/lib/uncommons-maths-1.2.2a.jar,lib/bundles/slf4j.api_1.7.25.jar,lib/bundles/cmof_1.4.0.201912191136/cmof14.jar,lib/bundles/cmof_1.4.0.201912191136/tas.jar,lib/bundles/com.nomagic.ci.binary_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci.metamodel.project_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci.persistence.local_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci.persistence_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci.services_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.ci_17.0.5.v20191219-1130.jar,lib/bundles/com.nomagic.magicdraw.ce_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.core.diagram_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.core.project.options_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.core_1.0.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.esi.binary.metamodel_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.esi.esiproject_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.esi.uuidmap_18.1.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.foundation_2.0.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.osgi.fragment_1.0.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.security_18.3.0.201912191136.jar,lib/bundles/com.nomagic.magicdraw.uml2_2.5.1.201912191136.jar,lib/bundles/com.nomagic.magicdraw_17.0.5.201912191136.jar,lib/bundles/de.schlichtherle.truezip_7.4.3.v20191219-1130/lib/truezip-driver-zip-7.4.3.jar,lib/bundles/de.schlichtherle.truezip_7.4.3.v20191219-1130/lib/truezip-kernel-7.4.3.jar,lib/bundles/javax.jmi_1.0.0.201912191136/javax_jmi-1_0-fr.jar,lib/com.nomagic.osgi.launcher-17.0.5-SNAPSHOT.jar,lib/commons-compress-1.3.jar,lib/commons-httpclient-3.1.jar,lib/commons-logging-1.0.4.jar,lib/concurrent.jar,lib/EccpressoAll.jar,lib/HTMLEditorLight.jar,lib/JUnitParams-1.0.1.jar,lib/ehcache-2.10.1.jar,lib/flexlm.jar,lib/graphics/clibwrapper_jiio.jar,lib/graphics/freehep-base.jar,lib/graphics/freehep-graphics2d.jar,lib/graphics/freehep-graphicsio-emf.jar,lib/graphics/freehep-graphicsio-ps.jar,lib/graphics/freehep-graphicsio.jar,lib/graphics/jai_imageio.jar,lib/gson-2.2.4.jar,lib/hunspell-bridj-1.0.5-SNAPSHOT.jar,lib/javassist.jar,lib/jhall.jar,lib/jide-action.jar,lib/jide-charts.jar,lib/jide-common.jar,lib/jide-components.jar,lib/jide-diff.jar,lib/jide-dock.jar,lib/jide-editor.jar,lib/jide-gantt.jar,lib/jide-grids.jar,lib/jide-shortcut.jar,lib/jimi.jar,lib/jna.jar,lib/jnp-client.jar,lib/jsr250-api-1.0.jar,lib/jsr305.jar,lib/jtidy.jar,lib/lucene-analyzers-common-7.5.0.jar,lib/lucene-core-7.5.0.jar,lib/lucene-misc-7.5.0.jar,lib/poi-3.14-20160307.jar,lib/poi-ooxml-3.14-20160307.jar,lib/poi-ooxml-schemas-3.14-20160307.jar,lib/webservice/axis-config.jar,lib/webservice/axis.jar,lib/webservice/commons-discovery-0.2.jar,lib/webservice/jaxrpc.jar,lib/webservice/mdserviceclient.jar,lib/webservice/rsclient.jar,lib/webservice/wsdl4j-1.5.1.jar,lib/xalan.jar,lib/xmlbeans-2.6.0.jar,lib/y.jar"
repositories = [{"type": "ivy", "url": "http://download1.nomagic.com/", "layoutPattern": "/[module][revision]/[classifier].[ext]"}]
2 changes: 2 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
source/_build
source/generated
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
35 changes: 35 additions & 0 deletions docs/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build

if "%1" == "" goto help

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
21 changes: 21 additions & 0 deletions docs/source/api.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
********************
Developer Resources
********************

API
====

The Javadoc for MDK is included in the plugin and can be found in the MagicDraw plugins folder after installation. Note that only the classes found in gov.nasa.jpl.mbee.mdk.api are intended to be used by other plugins/tools and that the rest of the code can change without any notification.

MDK Environment Options
========================

Options for advanced users to customize certain behaviors or enable MDK functionality are available in MagicDraw's Environment Options.
- LOG_JSON: Enables logging of MMS request and response information, including sent and received JSON, to the MagicDraw log. To access these settings, navigate to the "Options Menu" -> "Environment" dialog, and select the "MDK" section. Several [DEVELOPER] options are also available, but are generally hidden from users. They are included here for completeness - we strongly recommend they not be modified unless for development purposes as they will likely result in data loss.
- PERSIST_CHANGELOG: [DEVELOPER] Enables persisting of the changelog in the \_MMSSync\_ package for uneditable model elements. Disabling this option will cause these changelogs to be lost after CSync and may cause loss of model parity.
- ENABLE_CHANGE_LISTENER: [DEVELOPER] Enables listeners for model changes in MagicDraw and MMS. Disabling this option will cause changes to not be tracked and may cause loss of model parity.
- ENABLE_COORDINATED_SYNC: [DEVELOPER] Enables Coordinated Sync on Teamwork Cloud project commit. Disabling this option will cause CSync to be skipped on Teamwork Cloud commit and may cause loss of model parity.


.. autosummary::
:toctree: generated
13 changes: 13 additions & 0 deletions docs/source/cameo.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
################################################
Cameo Model Development Kit (MDK) User's Guide
################################################

Model Development Kit (MDK) is a Cameo plugin that syncs models to the MMS, enabling interoperability
between Cameo and the broader OpenMBEE ecosystem including MMS and View Editor.
This guide is designed to introduce users to the various features of the Cameo MDK.

.. toctree::

initialization
functions
guide
36 changes: 36 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Configuration file for the Sphinx documentation builder.

# -- Project information

project = 'OpenMBEE Model Development Kit'
copyright = '2022, OpenMBEE Open Source Community'
author = 'OpenMBEE Open Source Community'

release = '0.1'
version = '5.1.0'

# -- General configuration

extensions = [
'sphinx.ext.duration',
'sphinx.ext.doctest',
'sphinx.ext.autodoc',
'sphinx.ext.autosectionlabel',
'sphinx.ext.autosummary',
'sphinx.ext.intersphinx',
]

intersphinx_mapping = {
'python': ('https://docs.python.org/3/', None),
'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
}
intersphinx_disabled_domains = ['std']

templates_path = ['_templates']

# -- Options for HTML output
numfig = True
autosectionlabel_prefix_document = True

# -- Options for EPUB output
epub_show_urls = 'footnote'
8 changes: 8 additions & 0 deletions docs/source/docgen.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*******************
DocGen Users Guide
*******************

Under Construction. For the latest DocGen users guide visit the community MMS at mms.openmbee.org or find the PDF guide located inside the MDK plugin
under:

``<MD_INSTALL_DIR/UNZIPPED PLUGIN>/manual/MDK DocGen UserGuide.pdf``
Loading

0 comments on commit 393f584

Please sign in to comment.