publish-dot#

Introduction#

Generates graph(s) showing connections between Item types and, optionally, Composite types in the model.

Requires that dotnet is installed. Raw DOT output does not require Graphviz; rendered formats do. Missing Graphviz for a rendered format, or an invoked Graphviz process that fails, is an error.

Command Line Arguments#

Required inputs for the publish-dot command (must be specified in order).

  • [CogsLocation]

    The location of the folder containing the model.

  • [TargetLocation]

    The location of the folder where the output will be created.

Command Line Flags#

Optional inputs for the publish-dot command.

  • -?|-h|--help

    Displays all possible command arguments and flags for the publish-dot command.

  • -o|--overwrite

    If the [TargetLocation] is not empty, erase all files in the folder before generation.

  • --dot PATH

    Path to the Graphviz dot executable. If omitted, discovery checks COGS_DOT and then PATH.

  • -f|--format

    Specifies the format of the outputted file (default is SVG). Supported Formats

  • -a|--all

    Generates one graph containing all objects (default is one graph for each topic). Cannot be used with -s.

  • -s|--single

    Generates a local graph for every item and composite type, showing declared direct incoming and outgoing links. Neighboring items are not expanded, and inherited properties and hidden composite paths are not added. The default is one graph for each topic. Cannot be used with -a.

  • -i|--inheritance

    Shows inheritance in the generated graph(s). Per-type graphs include only the focal type’s immediate parent and children, without inherited property expansion.

  • -c|--composite

    Displays composite types and their properties in the generated graph(s). Per-type graphs expose only the focal type’s contained composite structure; item neighbors remain unexpanded.

Command Line Usage#

Format

$ cogs publish-dot (-h) (-o) [--dot PATH] (-f [format]) (-a) (-s) (-i) (-c) [CogsLocation] [TargetLocation]

Examples

A few examples of how the command line arguments and flags can be used together.

$ cogs publish-dot -h
$ cogs publish-dot MyCogsModelDirectory MyOutputDirectory
$ cogs publish-dot -o -a -i -c MyCogsModelDirectory MyOutputDirectory
$ cogs publish-dot -o --dot /opt/graphviz/bin/dot -f jpg MyCogsModelDirectory MyOutputDirectory