Skip to content

Commit cee4a65

Browse files
Merge pull request #9 from A9G-Data-Droid/net8support
Net 8 support
2 parents 06313c5 + 8118b54 commit cee4a65

File tree

7 files changed

+24
-34
lines changed

7 files changed

+24
-34
lines changed

README.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,23 @@ classDiagram
5151
MermaidGraph.NET --> mermaid-graph
5252
class mermaid-graph{
5353
type Exe
54-
target net9.0
54+
target net8.0;net9.0
55+
}
56+
class Nerdbank.GitVersioning{
57+
type NuGet
58+
version 3.7.115
5559
}
60+
mermaid-graph ..> Nerdbank.GitVersioning
5661
class Microsoft.Build{
5762
type NuGet
58-
version 17.13.9
63+
version 17.11.4
5964
}
6065
mermaid-graph ..> Microsoft.Build
6166
class Microsoft.Build.Locator{
6267
type NuGet
6368
version 1.9.1
6469
}
6570
mermaid-graph ..> Microsoft.Build.Locator
66-
class Microsoft.Build.Utilities.Core{
67-
type NuGet
68-
version 17.13.9
69-
}
70-
mermaid-graph ..> Microsoft.Build.Utilities.Core
7171
class System.CommandLine.DragonFruit{
7272
type NuGet
7373
version 0.4.0-alpha.22272.1
@@ -79,6 +79,11 @@ classDiagram
7979
target net9.0
8080
}
8181
MermaidGraphTests ..> mermaid-graph
82+
class Nerdbank.GitVersioning{
83+
type NuGet
84+
version 3.7.115
85+
}
86+
MermaidGraphTests ..> Nerdbank.GitVersioning
8287
class coverlet.collector{
8388
type NuGet
8489
version 6.0.4
@@ -129,4 +134,4 @@ classDiagram
129134
version 5.0.0
130135
}
131136
MermaidGraphTests ..> NUnit3TestAdapter
132-
```
137+
```

mermaid-graph/Diagrams/Base/MermaidDiagram.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ protected MermaidDiagram()
4949
/// <summary>
5050
/// Initialize the graph output.
5151
/// </summary>
52-
public virtual void Header(string title)
52+
internal virtual void Header(string title)
5353
{
5454
Graph.Clear();
5555
Graph.AppendLine($"""
@@ -67,7 +67,7 @@ public virtual void Header(string title)
6767
/// Get the mermaid diagram Markdown text.
6868
/// </summary>
6969
/// <returns>The contents of the graph buffer.</returns>
70-
public override string ToString() => Graph.ToString();
70+
public sealed override string ToString() => Graph.ToString();
7171

7272
/// <inheritdoc />
7373
public virtual string Project(FileInfo file, string? filter = null, bool excludeNuget = false)

mermaid-graph/Diagrams/ClassDiagram.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace MermaidGraph.Diagrams;
1010
public sealed class ClassDiagram : MermaidDiagram
1111
{
1212
/// <inheritdoc />
13-
public override void Header(string title)
13+
internal override void Header(string title)
1414
{
1515
base.Header(title);
1616
Graph.AppendLine("classDiagram");
@@ -61,8 +61,9 @@ internal override void GraphProject(Project project, string? filter = null, bool
6161
{
6262
var projectName = Path.GetFileNameWithoutExtension(project.FullPath);
6363
var type = project.GetPropertyValue("OutputType");
64-
var targetFramework = project.GetPropertyValue("TargetFramework") ??
65-
project.GetPropertyValue("TargetFrameworks");
64+
var targetFramework = project.GetPropertyValue("TargetFramework");
65+
if (string.IsNullOrEmpty(targetFramework))
66+
targetFramework = project.GetPropertyValue("TargetFrameworks");
6667

6768
Graph.AppendLine($$"""
6869
class {{projectName}}{

mermaid-graph/Diagrams/GraphDiagram.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace MermaidGraph.Diagrams;
1010
public sealed class GraphDiagram : MermaidDiagram
1111
{
1212
/// <inheritdoc />
13-
public override void Header(string title)
13+
internal override void Header(string title)
1414
{
1515
base.Header(title);
1616
Graph.AppendLine("graph TD");

mermaid-graph/mermaid-graph.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net9.0</TargetFramework>
5+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
66
<RootNamespace>MermaidGraph</RootNamespace>
77
<ImplicitUsings>enable</ImplicitUsings>
88
<Nullable>enable</Nullable>
@@ -63,7 +63,7 @@
6363
</ItemGroup>
6464

6565
<ItemGroup>
66-
<PackageReference Include="Microsoft.Build" Version="17.13.9" ExcludeAssets="runtime" />
66+
<PackageReference Include="Microsoft.Build" Version="17.11.4" ExcludeAssets="runtime" />
6767
<PackageReference Include="Microsoft.Build.Locator" Version="1.9.1" />
6868
<PackageReference Include="System.CommandLine.DragonFruit" Version="0.4.0-alpha.22272.1" />
6969
</ItemGroup>

mermaid-graphTests/CommandsTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public void DogFoodSolutionTest(DiagramType type, string typeName)
5656

5757
Console.WriteLine(graph);
5858
Assert.That(graph, Is.Not.Null.Or.Empty, "Graph should not be null or empty.");
59+
Assert.That(graph, Does.Contain($"title: {info.Name}"));
5960
Assert.That(graph, Does.Contain("mermaid-graph"));
6061
Assert.That(graph, Does.Contain("MermaidGraphTests"));
6162
var graphType = DetectType(ExtractMermaid(graph));
@@ -74,6 +75,7 @@ public void DogFoodProjectTest(DiagramType type, string typeName)
7475
Assert.That(info.Exists);
7576
var graph = Commands.Project(info, type);
7677
Assert.That(graph, Is.Not.Null.Or.Empty, "Graph should not be null or empty.");
78+
Assert.That(graph, Does.Contain($"title: {info.Name}"));
7779
Assert.That(graph, Does.Contain("mermaid-graph"));
7880
Assert.That(graph, Does.Contain("MermaidGraphTests"));
7981
Console.WriteLine(graph);

mermaid-graphTests/MermaidDiagramTests.cs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,4 @@ public void GetDiagramType_ShouldThrowForUnsupportedType()
2828
Assert.Throws<NotImplementedException>(()=>
2929
MermaidDiagram.GetDiagramType((DiagramType)999));
3030
}
31-
32-
[Test]
33-
[TestCase(DiagramType.Class)]
34-
[TestCase(DiagramType.Graph)]
35-
public void Header_ShouldInitializeGraphWithTitle(DiagramType type)
36-
{
37-
var diagram = (MermaidDiagram)MermaidDiagram.GetDiagramType(type);
38-
39-
// Arrange
40-
const string title = "Test Diagram";
41-
42-
// Act
43-
diagram.Header(title);
44-
45-
// Assert
46-
Assert.That(diagram.ToString(), Does.Contain($"title: {title}"));
47-
}
4831
}
49-

0 commit comments

Comments
 (0)