21 releases

new 0.3.2 Mar 10, 2025
0.3.1 Sep 2, 2024
0.2.13 Jun 28, 2024
0.2.11 Feb 21, 2024
0.1.8 Aug 10, 2023

#3 in #modeling


Used in sdml-cli

Apache-2.0

1MB
27K SLoC

Package sdml-generate

Rust Library of artifact generators from the Simple Domain Modeling Language (SDML).

[https://crates.io/crates/sdml_generate] [https://docs.rs/sdml_generate]

This package is part of the Rust SDML project and specifically defines the model-to-other generators for SDML modules. The project's intent is to provide an idiomatic implementation of the in-memory model, parser, generators, and the CLI tool.

The following figure demonstrates this package in the broader project context.

Package Overview

Changes

Version 0.3.2

  • Style: Changed cargo file to use license key instead of license-file.

Version 0.3.1

  • Fix: update dev-dependency for sdml-parse.

Version 0.3.0

  • Feature: updates to support the latest grammar, see sdml-core.
  • Refactor: update generates which use the walker/visitor internally.
  • Refactor: drop the old style /write/-style traits and unify into a single Generator trait.
  • Feature: more flexible s-expression generator with more Lisp-y output.
  • Test: added a set of macros to test generator output for the set of test examples.
    • Added expected output for RDF turtle.
    • Updated existing dependency-tree tests to use these macros.

Version 0.2.13

  • Feature: added new command doc-book to create a more complex documentation output for a collection of modules.
    • Refactor: added more traits for documentation generation allowing existing doc code to be reused by doc-book.
    • Refactor: added a common module for low-level formatting traits.
  • Build: bump version of sdml-errors and sdml-core.

Version 0.2.12

  • Build: update dependency from sdml_error to sdml-errors.
  • Build: bump version of sdml-core.

Version 0.2.11

  • Feature: add initial implementation for DiagramContentFilter.
    • Add: module and member import filters.
    • Add: local definition filter.
    • Add: association filter.

This release does not use the content filter yet, it is to elicit feedback on the provided filters.

Version 0.2.10

  • Build: upgrade to sdml_core version 0.2.14 and the new ModelStore trait.

Version 0.2.9

  • Fix: formatting of annotations was broken for the view command.

Version 0.2.8

  • Feature: adapted to new HeaderValue type in core.

Version 0.2.7

  • Feature: Document generation for org-mode now includes the RDF version of a module and the dependency graph.
  • Fix: The trait function write_to_string_in_format was previously calling write, not write_in_format.
  • Fix: Rustdoc for convert::source fixed to turn off colorization.
  • Build: Using core 0.2.10 for new stdlib names.

Version 0.2.6

  • Feature: Add color output for RDF source generation.
    1. Rename module console to color.
    2. Add new color::rdf module for helper functions.
    3. Rewrite convert::rdf to output colorized listings.
  • Feature: Add version URLs into the dependency tree test cases.
  • Feature: Removed indirect dependencies from Cargo.toml.

Version 0.2.5

  • Feature: Add ModuleCache as parameter to methods on the GenerateToFile and GenerateToWriter traits.
  • Feature: Add new source generator to show file source, including elided versions.
  • Feature: Complete dependency generation logic -- work to be done on the API.
    • Fix: The depth tests for dependency generation was applied incorrectly.
    • Fix: Correct logic for module dependencies not in the cache.
    • Fix: GraphViz error, edges defined as --> should be ->.
    • Add: Colorize output, with new console module to manage global color flag.
    • Add: Add version URI to node output.
  • Feature: Add output of RDF definitions to the s-expression generator.
  • Feature: Add bare-bones output of RDF definitions to the RDF generator.
  • Feature: Add more output to the RDF generator.
  • Test: Start new test suites with dependency tree generator.
    • Add a copy of all test examples from sdml_parse.
    • Adjust the test_examples.rs file so that the macros can take multiple generators for testing.
    • Add generate_dependency_tree for all import_* test cases.

Version 0.2.4

  • Feature: add new stdlib modules with standard layout.
  • Feature: minor refactor of cache and loader.

Version 0.2.3

  • Feature: Update to latest grammar for version URIs and RDF definitions.
    • Add support for base URI on modules.
    • Add support for version info and URI on modules.
    • Add support for version URI on module import.
    • Parse RDF definitions for classes and properties.

Version 0.2.2

  • Feature: Remove member groups.

Version 0.2.1

  • Fix: replace "-" with "__" as qualified identifier replacement.

Version 0.2.0

  • Feature: Update to latest grammar.
    • Remove ValueVariant numeric values.
    • Update formal constraints.
    • Add type classes.

Version 0.1.8

  • Feature: Add mapping type to the s-expr and UML generators.
  • Build: Update to latest tree-sitter-sdml to pick up changes in highlighting.
  • Build: Update to latest sdml-core to pick up changes in Cardinality::to_uml_string.

Version 0.1.7

  • Build: Update with recent model changes and fixes.
  • Fix: Clean-up the UML output.

Version 0.1.6

  • Feature: Updated org-mode and UML generators with a number of model changes from sdml-core.

Version 0.1.5

  • Feature: Updated with a number of model changes from sdml-core.

Version 0.1.4

Previously part of a single crate sdml.

Dependencies

~18–31MB
~492K SLoC