-
Notifications
You must be signed in to change notification settings - Fork 0
Refactor SoftwareInfo metadata and enhance SysML dependency modeling #100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| // Shared metadata definitions for annotating software-item model elements with traceability | ||
| // links to their supporting project artifacts (source, test, design, verification, requirements). | ||
| // Intended to be reused as-is across multiple DEMA Consulting repositories - keep this package | ||
| // self-contained (no repo-specific imports) so it can be copied/synced without modification. | ||
| package SoftwareItemMetadata { | ||
| private import ScalarValues::String; | ||
|
|
||
| metadata def SoftwareInfo { | ||
| doc /* Traceability links from a model element to its supporting project artifacts. */ | ||
|
|
||
| attribute description : String [0..1]; | ||
| attribute sourceFiles : String [0..*]; | ||
| attribute testFiles : String [0..*]; | ||
| attribute designFiles : String [0..*]; | ||
| attribute verificationFiles : String [0..*]; | ||
| attribute requirementFiles : String [0..*]; | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,27 +1,32 @@ | ||
| package OtsDependencies { | ||
| private import SoftwareItemMetadata::*; | ||
|
|
||
| doc /* Off-the-shelf (OTS) runtime dependencies used by VersionMark. */ | ||
|
|
||
| part def YamlDotNet { | ||
| doc /* OTS: YamlDotNet. */ | ||
|
|
||
| comment designRef /* Design: docs/design/ots/yaml-dot-net.md */ | ||
| comment verificationRef /* Verification: docs/verification/ots/yaml-dot-net.md */ | ||
| comment reqRef /* Requirements: docs/reqstream/ots/yaml-dot-net.yaml */ | ||
| metadata info : SoftwareInfo { | ||
| description = "OTS: YamlDotNet."; | ||
| designFiles = ("docs/design/ots/yaml-dot-net.md"); | ||
| verificationFiles = ("docs/verification/ots/yaml-dot-net.md"); | ||
| requirementFiles = ("docs/reqstream/ots/yaml-dot-net.yaml"); | ||
| } | ||
| } | ||
|
|
||
| part def FileSystemGlobbing { | ||
| doc /* OTS: Microsoft.Extensions.FileSystemGlobbing. */ | ||
|
|
||
| comment designRef /* Design: docs/design/ots/microsoft-extensions-file-system-globbing.md */ | ||
| comment verificationRef /* Verification: docs/verification/ots/microsoft-extensions-file-system-globbing.md */ | ||
| comment reqRef /* Requirements: docs/reqstream/ots/microsoft-extensions-file-system-globbing.yaml */ | ||
| metadata info : SoftwareInfo { | ||
| description = "OTS: Microsoft.Extensions.FileSystemGlobbing."; | ||
| designFiles = ("docs/design/ots/microsoft-extensions-file-system-globbing.md"); | ||
| verificationFiles = ("docs/verification/ots/microsoft-extensions-file-system-globbing.md"); | ||
| requirementFiles = ("docs/reqstream/ots/microsoft-extensions-file-system-globbing.yaml"); | ||
| } | ||
| } | ||
|
|
||
| part def TestResults { | ||
| doc /* OTS: DemaConsulting.TestResults. */ | ||
|
|
||
| comment designRef /* Design: docs/design/ots/dema-consulting-test-results.md */ | ||
| comment verificationRef /* Verification: docs/verification/ots/dema-consulting-test-results.md */ | ||
| comment reqRef /* Requirements: docs/reqstream/ots/dema-consulting-test-results.yaml */ | ||
| metadata info : SoftwareInfo { | ||
| description = "OTS: DemaConsulting.TestResults."; | ||
| designFiles = ("docs/design/ots/dema-consulting-test-results.md"); | ||
| verificationFiles = ("docs/verification/ots/dema-consulting-test-results.md"); | ||
| requirementFiles = ("docs/reqstream/ots/dema-consulting-test-results.yaml"); | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,22 @@ | ||
| package VersionMark { | ||
| private import SoftwareItemMetadata::*; | ||
| private import ScalarValues::String; | ||
|
|
||
| part def VersionInfo { | ||
| doc /* Captured version record; JSON serialization for capture/publish handoff. */ | ||
| metadata info : SoftwareInfo { | ||
| description = "Captured version record; JSON serialization for capture/publish handoff."; | ||
| sourceFiles = ("src/DemaConsulting.VersionMark/Capture/VersionInfo.cs"); | ||
| testFiles = ("test/DemaConsulting.VersionMark.Tests/Capture/VersionInfoTests.cs"); | ||
| designFiles = ("docs/design/version-mark/capture/version-info.md"); | ||
| verificationFiles = ("docs/verification/version-mark/capture/version-info.md"); | ||
| requirementFiles = ("docs/reqstream/version-mark/capture/version-info.yaml"); | ||
| } | ||
|
|
||
| attribute jobId : String; | ||
|
|
||
| comment sourceRef /* Source: src/DemaConsulting.VersionMark/Capture/VersionInfo.cs */ | ||
| comment testRef /* Test: test/DemaConsulting.VersionMark.Tests/Capture/VersionInfoTests.cs */ | ||
| comment designRef /* Design: docs/design/version-mark/capture/version-info.md */ | ||
| comment verificationRef /* Verification: docs/verification/version-mark/capture/version-info.md */ | ||
| comment reqRef /* Requirements: docs/reqstream/version-mark/capture/version-info.yaml */ | ||
| // Captured tool versions dictionary (Dictionary<string, string> in code), split into | ||
| // parallel key/value lists since a native map attribute is not representable here. | ||
| attribute versions_key : String [0..*]; | ||
| attribute versions_value : String [0..*]; | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,14 @@ | ||
| package VersionMark { | ||
| part def Context { | ||
| doc /* Command-line argument and output container (console, error, log file). */ | ||
| private import SoftwareItemMetadata::*; | ||
|
|
||
| comment sourceRef /* Source: src/DemaConsulting.VersionMark/Cli/Context.cs */ | ||
| comment testRef /* Test: test/DemaConsulting.VersionMark.Tests/Cli/ContextTests.cs */ | ||
| comment designRef /* Design: docs/design/version-mark/cli/context.md */ | ||
| comment verificationRef /* Verification: docs/verification/version-mark/cli/context.md */ | ||
| comment reqRef /* Requirements: docs/reqstream/version-mark/cli/context.yaml */ | ||
| part def Context { | ||
| metadata info : SoftwareInfo { | ||
| description = "Command-line argument and output container (console, error, log file)."; | ||
| sourceFiles = ("src/DemaConsulting.VersionMark/Cli/Context.cs"); | ||
| testFiles = ("test/DemaConsulting.VersionMark.Tests/Cli/ContextTests.cs"); | ||
| designFiles = ("docs/design/version-mark/cli/context.md"); | ||
| verificationFiles = ("docs/verification/version-mark/cli/context.md"); | ||
| requirementFiles = ("docs/reqstream/version-mark/cli/context.yaml"); | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,22 @@ | ||
| package VersionMark { | ||
| part def Program { | ||
| doc /* Entry point and mode dispatcher (capture, publish, lint, validate). */ | ||
| private import SoftwareItemMetadata::*; | ||
|
|
||
| comment sourceRef /* Source: src/DemaConsulting.VersionMark/Program.cs */ | ||
| comment testRef /* Test: test/DemaConsulting.VersionMark.Tests/ProgramTests.cs */ | ||
| comment designRef /* Design: docs/design/version-mark/cli/program.md */ | ||
| comment verificationRef /* Verification: docs/verification/version-mark/cli/program.md */ | ||
| comment reqRef /* Requirements: docs/reqstream/version-mark/cli/program.yaml */ | ||
| part def Program { | ||
| metadata info : SoftwareInfo { | ||
| description = "Entry point and mode dispatcher (capture, publish, lint, validate)."; | ||
| sourceFiles = ("src/DemaConsulting.VersionMark/Program.cs"); | ||
| testFiles = ("test/DemaConsulting.VersionMark.Tests/ProgramTests.cs"); | ||
| designFiles = ("docs/design/version-mark/cli/program.md"); | ||
| verificationFiles = ("docs/verification/version-mark/cli/program.md"); | ||
| requirementFiles = ("docs/reqstream/version-mark/cli/program.yaml"); | ||
| } | ||
| } | ||
|
|
||
| // Program dispatches each operational mode to the unit that implements it. | ||
| dependency Program to Context; | ||
| dependency Program to VersionMarkConfig; | ||
| dependency Program to VersionInfo; | ||
| dependency Program to MarkdownFormatter; | ||
| dependency Program to GlobMatcher; | ||
| dependency Program to Validation; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
31 changes: 25 additions & 6 deletions
31
docs/sysml2/model/version-mark/configuration/lint-issue.sysml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,30 @@ | ||
| package VersionMark { | ||
| private import SoftwareItemMetadata::*; | ||
| private import ScalarValues::Integer; | ||
| private import ScalarValues::String; | ||
|
|
||
| enum def LintSeverity { | ||
| enum warning; | ||
| enum error; | ||
| } | ||
|
|
||
| part def LintIssue { | ||
| doc /* Represents a single configuration validation issue with source location. */ | ||
| metadata info : SoftwareInfo { | ||
| description = "Represents a single configuration validation issue with source location."; | ||
| sourceFiles = ("src/DemaConsulting.VersionMark/Configuration/LintIssue.cs"); | ||
| testFiles = ("test/DemaConsulting.VersionMark.Tests/Configuration/LintIssueTests.cs"); | ||
| designFiles = ("docs/design/version-mark/configuration/lint-issue.md"); | ||
| verificationFiles = ("docs/verification/version-mark/configuration/lint-issue.md"); | ||
| requirementFiles = ("docs/reqstream/version-mark/configuration/lint-issue.yaml"); | ||
| } | ||
|
|
||
| comment sourceRef /* Source: src/DemaConsulting.VersionMark/Configuration/LintIssue.cs */ | ||
| comment testRef /* Test: test/DemaConsulting.VersionMark.Tests/Configuration/LintIssueTests.cs */ | ||
| comment designRef /* Design: docs/design/version-mark/configuration/lint-issue.md */ | ||
| comment verificationRef /* Verification: docs/verification/version-mark/configuration/lint-issue.md */ | ||
| comment reqRef /* Requirements: docs/reqstream/version-mark/configuration/lint-issue.yaml */ | ||
| attribute filePath : String; | ||
| attribute line : Integer; | ||
| attribute column : Integer; | ||
| attribute severity : LintSeverity; | ||
| attribute description : String; | ||
| } | ||
|
|
||
| // ReportIssues writes discovered issues to the Cli Context. | ||
| dependency LintIssue to Context; | ||
| } | ||
28 changes: 22 additions & 6 deletions
28
docs/sysml2/model/version-mark/configuration/tool-config.sysml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,27 @@ | ||
| package VersionMark { | ||
| private import SoftwareItemMetadata::*; | ||
| private import ScalarValues::String; | ||
|
|
||
| part def ToolConfig { | ||
| doc /* Per-tool capture configuration (command, regex, OS-specific overrides). */ | ||
| metadata info : SoftwareInfo { | ||
| description = "Per-tool capture configuration (command, regex, OS-specific overrides)."; | ||
| sourceFiles = ("src/DemaConsulting.VersionMark/Configuration/VersionMarkConfig.cs"); | ||
| testFiles = ("test/DemaConsulting.VersionMark.Tests/Configuration/VersionMarkConfigTests.cs"); | ||
| designFiles = ("docs/design/version-mark/configuration/tool-config.md"); | ||
| verificationFiles = ("docs/verification/version-mark/configuration/tool-config.md"); | ||
| requirementFiles = ("docs/reqstream/version-mark/configuration/tool-config.yaml"); | ||
| } | ||
|
|
||
| // Command dictionary, keyed by OS name ("" for default, "win", "linux", "macos"), | ||
| // split into parallel key/value lists since a native map attribute is not | ||
| // representable here. | ||
| attribute command_key : String [0..*]; | ||
| attribute command_value : String [0..*]; | ||
|
|
||
| comment sourceRef /* Source: src/DemaConsulting.VersionMark/Configuration/VersionMarkConfig.cs (ToolConfig record; no dedicated file) */ | ||
| comment testRef /* Test: test/DemaConsulting.VersionMark.Tests/Configuration/VersionMarkConfigTests.cs */ | ||
| comment designRef /* Design: docs/design/version-mark/configuration/tool-config.md */ | ||
| comment verificationRef /* Verification: docs/verification/version-mark/configuration/tool-config.md */ | ||
| comment reqRef /* Requirements: docs/reqstream/version-mark/configuration/tool-config.yaml */ | ||
| // Regex dictionary, keyed by OS name ("" for default, "win", "linux", "macos"), | ||
| // split into parallel key/value lists since a native map attribute is not | ||
| // representable here. | ||
| attribute regex_key : String [0..*]; | ||
| attribute regex_value : String [0..*]; | ||
| } | ||
| } |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.