20 releases
0.3.1 | Sep 2, 2024 |
---|---|
0.3.0 | Sep 1, 2024 |
0.2.13 | Jun 28, 2024 |
0.2.11 | Feb 21, 2024 |
0.1.8 | Aug 10, 2023 |
#474 in Development tools
1,214 downloads per month
Used in sdml-cli
1MB
27K
SLoC
#+TITLE: Package sdml-generate #+AUTHOR: Simon Johnston #+EMAIL: johnstonskj@gmail.com #+LANGUAGE: en #+STARTUP: overview hidestars inlineimages entitiespretty #+OPTIONS: author:nil created:nil creator:nil date:nil email:nil num:3 toc:nil
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.
#+CAPTION: Package Organization #+BEGIN_EXAMPLE ╭───────╮ │ CLI │ ╔══ │ crate │ ══╗ ║ ╰───────╯ ║ ┌╌╌╌╌╌╌╌╌┐ V V ┆ ┆ ╭───────╮ ╭──────────╮ Formatted Source ┆ source ┆ ══> │ parse │ ══> │ generate │ ══> RDF Representation ┆ file ┆ ╭───│ crate │───────│ crate │───╮ Documentation ┆ ┆ │ ╰───────╯ ╰──────────╯ │ Diagrams └╌╌╌╌╌╌╌╌┘ │ core/errors crate │ ╰──────────────────────────────────╯ ┌───────┐ ⋀ │ other │ ║ │ tools │ ════════════════╝ └───────┘ #+END_EXAMPLE
- Changes
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
Generatortrait. - 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.
- Rename module =console= to =color=.
- Add new =color::rdf= module for helper functions.
- 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 [[https://crates.io/crates/sdml][sdml]].
Dependencies
~19–31MB
~466K SLoC