Skip to content

Commit 214dfaa

Browse files
committed
Extracted Plugin Framework abstractions into .NET Standard 2.0 library.
1 parent 3d4cade commit 214dfaa

18 files changed

+66
-114
lines changed

src/PluginFramework.sln

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Microsoft Visual Studio Solution File, Format Version 12.00
33
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Weikio.PluginFramework", "Weikio.PluginFramework\Weikio.PluginFramework.csproj", "{BB67695B-1CDF-4FEC-8627-82FD349D1403}"
44
EndProject
5+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Weikio.PluginFramework.Abstractions", "Weikio.PluginFramework.Abstractions\Weikio.PluginFramework.Abstractions.csproj", "{5C264288-C384-48A3-AF94-850D98830E13}"
6+
EndProject
57
Global
68
GlobalSection(SolutionConfigurationPlatforms) = preSolution
79
Debug|Any CPU = Debug|Any CPU
@@ -12,5 +14,9 @@ Global
1214
{BB67695B-1CDF-4FEC-8627-82FD349D1403}.Debug|Any CPU.Build.0 = Debug|Any CPU
1315
{BB67695B-1CDF-4FEC-8627-82FD349D1403}.Release|Any CPU.ActiveCfg = Release|Any CPU
1416
{BB67695B-1CDF-4FEC-8627-82FD349D1403}.Release|Any CPU.Build.0 = Release|Any CPU
17+
{5C264288-C384-48A3-AF94-850D98830E13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
18+
{5C264288-C384-48A3-AF94-850D98830E13}.Debug|Any CPU.Build.0 = Debug|Any CPU
19+
{5C264288-C384-48A3-AF94-850D98830E13}.Release|Any CPU.ActiveCfg = Release|Any CPU
20+
{5C264288-C384-48A3-AF94-850D98830E13}.Release|Any CPU.Build.0 = Release|Any CPU
1521
EndGlobalSection
1622
EndGlobal

src/Weikio.PluginFramework/IPluginCatalog.cs renamed to src/Weikio.PluginFramework.Abstractions/IPluginCatalog.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,13 @@
33
using System.Reflection;
44
using System.Threading.Tasks;
55

6-
namespace Weikio.PluginFramework
6+
namespace Weikio.PluginFramework.Abstractions
77
{
88
public interface IPluginCatalog
99
{
1010
Task Initialize();
1111
bool IsInitialized { get; }
12-
1312
Task<List<PluginDefinition>> GetAll();
14-
15-
//
1613
Task<PluginDefinition> Get(string name, Version version);
1714
Task<Assembly> GetAssembly(PluginDefinition definition);
1815
}

src/Weikio.PluginFramework/IPluginExporter.cs renamed to src/Weikio.PluginFramework.Abstractions/IPluginExporter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using System.Collections.Generic;
33
using System.Threading.Tasks;
44

5-
namespace Weikio.PluginFramework
5+
namespace Weikio.PluginFramework.Abstractions
66
{
77
public interface IPluginExporter
88
{

src/Weikio.PluginFramework/Plugin.cs renamed to src/Weikio.PluginFramework.Abstractions/Plugin.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Linq;
44
using System.Reflection;
55

6-
namespace Weikio.PluginFramework
6+
namespace Weikio.PluginFramework.Abstractions
77
{
88
public class Plugin
99
{
@@ -18,7 +18,7 @@ public List<Type> Types
1818
return PluginTypes.Select(x => x.Type).ToList();
1919
}
2020
}
21-
21+
2222
public Plugin(PluginDefinition definition, Assembly assembly, List<(string Tag, Type Type)> pluginTypes)
2323
{
2424
Definition = definition;

src/Weikio.PluginFramework/PluginDefinition.cs renamed to src/Weikio.PluginFramework.Abstractions/PluginDefinition.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System;
22

3-
namespace Weikio.PluginFramework
3+
namespace Weikio.PluginFramework.Abstractions
44
{
55
public class PluginDefinition
66
{

src/Weikio.PluginFramework/PluginExporter.cs renamed to src/Weikio.PluginFramework.Abstractions/PluginExporter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Linq;
44
using System.Threading.Tasks;
55

6-
namespace Weikio.PluginFramework
6+
namespace Weikio.PluginFramework.Abstractions
77
{
88
public class PluginExporter : IPluginExporter
99
{
@@ -14,7 +14,7 @@ public async Task<Plugin> Get(PluginDefinition definition)
1414

1515
public async Task<Plugin> Get(PluginDefinition definition, Predicate<Type> filter)
1616
{
17-
var taggedFilters = new Dictionary<string, Predicate<Type>>() {{string.Empty, filter}};
17+
var taggedFilters = new Dictionary<string, Predicate<Type>>() { { string.Empty, filter } };
1818

1919
return await Get(definition, taggedFilters);
2020
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>netstandard2.0</TargetFramework>
5+
<IsPackable>true</IsPackable>
6+
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
7+
<Authors>Weik.io</Authors>
8+
<Company>Weik.io</Company>
9+
<Description>Abstractions for Plugin Framework.</Description>
10+
<PackageDescription>Abstractions for Plugin Framework.</PackageDescription>
11+
<PackageProjectUrl>https://www.pluginframework.com</PackageProjectUrl>
12+
<Copyright>©2019 Weik.io</Copyright>
13+
<PackageId>Weikio.PluginFramework.Abstractions</PackageId>
14+
<Product>Weikio.PluginFramework.Abstractions</Product>
15+
<AssemblyName>Weikio.PluginFramework.Abstractions</AssemblyName>
16+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
17+
<RepositoryUrl>https://github.com/weikio/PluginFramework</RepositoryUrl>
18+
<PackageTags>plugins;addons;extensions;plugin framework</PackageTags>
19+
<PackageIcon>logo_256.png</PackageIcon>
20+
<Title>Plugin Framework</Title>
21+
<MinVerMinimumMajorMinor>1.0</MinVerMinimumMajorMinor>
22+
</PropertyGroup>
23+
24+
<ItemGroup>
25+
<None Include="../../docs/logo_256.png" Pack="true" Visible="false" PackagePath="" />
26+
</ItemGroup>
27+
28+
<ItemGroup>
29+
<PackageReference Include="MinVer" Version="2.0.0" />
30+
</ItemGroup>
31+
32+
</Project>

src/Weikio.PluginFramework/Catalogs/AssemblyPluginCatalog.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections.Generic;
33
using System.Reflection;
44
using System.Threading.Tasks;
5+
using Weikio.PluginFramework.Abstractions;
56

67
namespace Weikio.PluginFramework.Catalogs
78
{
@@ -38,7 +39,7 @@ public Task Initialize()
3839

3940
public Task<List<PluginDefinition>> GetAll()
4041
{
41-
var result = new List<PluginDefinition>() {_pluginDefinition};
42+
var result = new List<PluginDefinition>() { _pluginDefinition };
4243

4344
return Task.FromResult(result);
4445
}

src/Weikio.PluginFramework/Catalogs/AssemblyToPluginDefinitionConverter.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Diagnostics;
33
using System.Reflection;
4+
using Weikio.PluginFramework.Abstractions;
45

56
namespace Weikio.PluginFramework.Catalogs
67
{

src/Weikio.PluginFramework/Catalogs/CompositePluginCatalog.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Linq;
44
using System.Reflection;
55
using System.Threading.Tasks;
6+
using Weikio.PluginFramework.Abstractions;
67

78
namespace Weikio.PluginFramework.Catalogs
89
{

0 commit comments

Comments
 (0)