Skip to content

Commit

Permalink
feat: Working version of documentation extractor and markdown generated
Browse files Browse the repository at this point in the history
  • Loading branch information
thygesteffensen committed Nov 22, 2023
1 parent ad98f5f commit 007ba8f
Show file tree
Hide file tree
Showing 28 changed files with 394 additions and 252 deletions.
2 changes: 1 addition & 1 deletion EAVFW.Extensions.Manifest.ManifestEnricherTool.sln
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EAVFramework", "external\EA
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EAVFW.Extensions.Manifest.SDK", "external\EAVFramework\sdk\EAVFW.Extensions.Manifest.SDK.csproj", "{3BEF0769-ABD1-4D34-8004-C98DE9FB0339}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EAVFW.Extensions.Docs.Extracter", "src\EAVFW.Extensions.Docs.Extracter\EAVFW.Extensions.Docs.Extracter.csproj", "{432042AB-6A78-4ED7-B8AC-73B047F6630F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EAVFW.Extensions.Docs.Extractor", "src\EAVFW.Extensions.Docs.Extractor\EAVFW.Extensions.Docs.Extractor.csproj", "{432042AB-6A78-4ED7-B8AC-73B047F6630F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EAVFW.Extensions.Docs.Generator", "src\EAVFW.Extensions.Docs.Generator\EAVFW.Extensions.Docs.Generator.csproj", "{71FCB365-F4AE-4578-BF86-B4A3C278B6B1}"
EndProject
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

20 changes: 0 additions & 20 deletions src/EAVFW.Extensions.Docs.Extracter/Plugin/PluginDocumentation.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
using System.Linq;
using System.Reflection;

namespace EAVFW.Extensions.Docs.Extracter
namespace EAVFW.Extensions.Docs.Extractor
{
public static class CustomAssemblyResolver
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
using System.Linq;
using System.Reflection;
using System.Runtime.Loader;
using System.Security.Principal;
using System.Text.Json;
using System.Text.Json.Serialization;
using EAVFramework.Plugins;
using EAVFW.Extensions.Manifest.SDK;
using WorkflowEngine.Core;

namespace EAVFW.Extensions.Docs.Extracter
namespace EAVFW.Extensions.Docs.Extractor
{
public class DocumentLogic : IDocumentLogic
{
Expand Down Expand Up @@ -53,11 +51,12 @@ from implementingType in implementingTypes
.FirstOrDefault(i => i.GenericTypeArguments.Length == 2)
select new PluginDocumentation
{
PluginRegistrations = pluginRegistrations,
PluginRegistrations = pluginRegistrations.Select(x => new PluginRegistrationAttributeData
{ Order = x.Order, Execution = x.Execution, Operation = x.Operation, Mode = x.Mode }),
Name = implementingType.Name,
Summary = implementingType.GetDocumentation(),
Context = _interface.GetGenericArguments().First(),
Entity = _interface.GetGenericArguments().Last()
Context = new TypeInformation(_interface.GetGenericArguments().First()),
Entity = new TypeInformation(_interface.GetGenericArguments().Last())
};

return plugins;
Expand Down Expand Up @@ -106,7 +105,7 @@ from wizard in entity.Value.Wizards
from _tabs in wizard.Value.Tabs
select _tabs).AsEnumerable();

// Glorified for loop?
// Glorified for loop?w
var tabsWithWorkflows =
from tab in tabs
where tab.Value.OnTransitionOut?.Workflow != null || tab.Value.OnTransitionIn?.Workflow != null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<LangVersion>9.0</LangVersion>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<RootNamespace>EAVFW.Extensions.Docs.Extracter</RootNamespace>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.IO;
using EAVFW.Extensions.Manifest.SDK;

namespace EAVFW.Extensions.Docs.Extracter
namespace EAVFW.Extensions.Docs.Extractor
{
public interface IDocumentLogic
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace EAVFW.Extensions.Docs.Extracter
namespace EAVFW.Extensions.Docs.Extractor
{
public class AssemblyInfo
{
Expand Down
20 changes: 20 additions & 0 deletions src/EAVFW.Extensions.Docs.Extractor/Plugin/PluginDocumentation.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;

namespace EAVFW.Extensions.Docs.Extractor
{
public class PluginDocumentation
{
public IEnumerable<PluginRegistrationAttributeData> PluginRegistrations { get; set; } =
Array.Empty<PluginRegistrationAttributeData>();

public string? Name { get; set; }

[JsonPropertyName("context")] public TypeInformation Context { get; set; }

[JsonPropertyName("entity")] public TypeInformation Entity { get; set; }

public string Summary { get; set; } = "";
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System;
using System.IO;

namespace EAVFW.Extensions.Docs.Extracter
namespace EAVFW.Extensions.Docs.Extractor
{
public struct PluginInfo
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using EAVFramework.Plugins;

namespace EAVFW.Extensions.Docs.Extractor
{
public class PluginRegistrationAttributeData
{
public EntityPluginExecution Execution { get; set; }
public EntityPluginOperation Operation { get; set; }
public EntityPluginMode Mode { get; set; }
public int Order { get; set; }
}
}
24 changes: 24 additions & 0 deletions src/EAVFW.Extensions.Docs.Extractor/Plugin/TypeInformation.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
using System;
using System.Linq;
using System.Text.Json.Serialization;

namespace EAVFW.Extensions.Docs.Extractor
{
public class TypeInformation
{
[JsonPropertyName("AssemblyQualifiedName")]
public string AssemblyQualifiedName { get; set; }

[JsonIgnore]
public string Name => AssemblyQualifiedName.Split(',').First().Split('.').Last().Trim();

public TypeInformation()
{
}

public TypeInformation(Type type)
{
AssemblyQualifiedName = type.AssemblyQualifiedName;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System.Reflection;
using System.Xml;

namespace EAVFW.Extensions.Docs.Extracter
namespace EAVFW.Extensions.Docs.Extractor
{
public static class XmlDocumentationHelper
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Xml.Serialization;

namespace EAVFW.Extensions.Docs.Extracter
namespace EAVFW.Extensions.Docs.Extractor
{
[XmlRoot("member")]
public class XmlMemberElement
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Microsoft.Extensions.DependencyInjection;

namespace EAVFW.Extensions.Docs.Extracter
namespace EAVFW.Extensions.Docs.Extractor
{
public static class ServiceCollectionExtension
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\EAVFW.Extensions.Docs.Extracter\EAVFW.Extensions.Docs.Extracter.csproj" />
<ProjectReference Include="..\EAVFW.Extensions.Docs.Extractor\EAVFW.Extensions.Docs.Extractor.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
16 changes: 16 additions & 0 deletions src/EAVFW.Extensions.Docs.Generator/IDocumentationGenerator.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using EAVFW.Extensions.Docs.Extractor;
using EAVFW.Extensions.Manifest.SDK;

namespace EAVFW.Extensions.Docs.Generator
{
public interface IDocumentationGenerator
{
public void AddPluginSource(IEnumerable<PluginDocumentation> pluginDocumentations);
public void AddWizardSource(Dictionary<string, EntityDefinition> entitiesWithWizards);
public void AddGeneratedManifest(ManifestDefinition generatedManifest);
public Task Write(FileInfo outputLocation, string component);
}
}
Loading

0 comments on commit 007ba8f

Please sign in to comment.