Skip to content

Commit 0f4fc3b

Browse files
authored
Merge pull request #2 from XerProjects/feature-v1
Update for v1
2 parents b6971df + 5b3f0e6 commit 0f4fc3b

File tree

13 files changed

+730
-55
lines changed

13 files changed

+730
-55
lines changed

.gitignore

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
## Ignore Visual Studio temporary files, build results, and
22
## files generated by popular Visual Studio add-ons.
3-
##
4-
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
53

64
# User-specific files
75
*.suo
@@ -42,11 +40,10 @@ TestResult.xml
4240
[Rr]eleasePS/
4341
dlldata.c
4442

45-
# .NET Core
43+
# DNX
4644
project.lock.json
4745
project.fragment.lock.json
4846
artifacts/
49-
**/Properties/launchSettings.json
5047

5148
*_i.c
5249
*_p.c
@@ -113,10 +110,6 @@ _TeamCity*
113110
# DotCover is a Code Coverage Tool
114111
*.dotCover
115112

116-
# Visual Studio code coverage results
117-
*.coverage
118-
*.coveragexml
119-
120113
# NCrunch
121114
_NCrunch_*
122115
.*crunch*.local.xml
@@ -150,7 +143,7 @@ publish/
150143
*.azurePubxml
151144
# TODO: Comment the next line if you want to checkin your web deploy settings
152145
# but database connection strings (with potential passwords) will be unencrypted
153-
*.pubxml
146+
#*.pubxml
154147
*.publishproj
155148

156149
# Microsoft Azure Web App publish settings. Comment the next line if you want to
@@ -166,7 +159,7 @@ PublishScripts/
166159
!**/packages/build/
167160
# Uncomment if necessary however generally it will be regenerated when needed
168161
#!**/packages/repositories.config
169-
# NuGet v3's project.json files produces more ignorable files
162+
# NuGet v3's project.json files produces more ignoreable files
170163
*.nuget.props
171164
*.nuget.targets
172165

@@ -199,6 +192,7 @@ ClientBin/
199192
*.jfm
200193
*.pfx
201194
*.publishsettings
195+
node_modules/
202196
orleans.codegen.cs
203197

204198
# Since there are multiple workflows, uncomment next line to ignore bower_components
@@ -219,7 +213,6 @@ UpgradeLog*.htm
219213
# SQL Server files
220214
*.mdf
221215
*.ldf
222-
*.ndf
223216

224217
# Business Intelligence projects
225218
*.rdl.data
@@ -234,20 +227,13 @@ FakesAssemblies/
234227

235228
# Node.js Tools for Visual Studio
236229
.ntvs_analysis.dat
237-
node_modules/
238-
239-
# Typescript v1 declaration files
240-
typings/
241230

242231
# Visual Studio 6 build log
243232
*.plg
244233

245234
# Visual Studio 6 workspace options file
246235
*.opt
247236

248-
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
249-
*.vbw
250-
251237
# Visual Studio LightSwitch build output
252238
**/*.HTMLClient/GeneratedArtifacts
253239
**/*.DesktopClient/GeneratedArtifacts
@@ -274,18 +260,9 @@ paket-files/
274260
__pycache__/
275261
*.pyc
276262

277-
# Cake - Uncomment if you are using it
278-
# tools/**
279-
# !tools/packages.config
280-
281-
# Telerik's JustMock configuration file
282-
*.jmconfig
283-
284-
# BizTalk build output
285-
*.btp.cs
286-
*.btm.cs
287-
*.odx.cs
288-
*.xsd.cs
289-
290263
# VS Code
291-
.vscode/
264+
.vscode/
265+
266+
tools/**
267+
!tools/packages.config
268+
BuildArtifacts/**

GitVersion.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mode: ContinuousDelivery
2+
next-version: 1.0.0
3+
branches: {}
4+
ignore:
5+
sha: []

Src/Xer.Cqrs.Extensions.SimpleInjector/AssemblyInfo.cs

Lines changed: 0 additions & 2 deletions
This file was deleted.

Src/Xer.Cqrs.Extensions.SimpleInjector/CqrsBuilder.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
using Xer.Delegator.Registrations;
88
using Xer.Delegator.Resolvers;
99

10+
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Xer.Cqrs.Extensions.SimpleInjector.Tests")]
11+
1012
namespace Xer.Cqrs.Extensions.SimpleInjector
1113
{
1214
internal class CqrsBuilder : ICqrsBuilder

Src/Xer.Cqrs.Extensions.SimpleInjector/CqrsCommandHandlerSelector.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,18 @@ public ICqrsCommandHandlerSelector ByInterface(Lifestyle lifeStyle, params Assem
3737
throw new ArgumentNullException(nameof(assemblies));
3838
}
3939

40+
if (assemblies.Length == 0)
41+
{
42+
throw new ArgumentException("No assemblies were provided.", nameof(assemblies));
43+
}
44+
4045
IEnumerable<Assembly> distinctAssemblies = assemblies.Distinct();
4146

4247
_container.Register(typeof(ICommandAsyncHandler<>), distinctAssemblies, lifeStyle);
4348
_container.Register(typeof(ICommandHandler<>), distinctAssemblies, lifeStyle);
4449

4550
// Register resolver.
46-
_container.AppendToCollection(
51+
_container.Collections.AppendTo(
4752
typeof(CommandHandlerDelegateResolver),
4853
Lifestyle.Singleton.CreateRegistration(() =>
4954
new CommandHandlerDelegateResolver(
@@ -74,6 +79,11 @@ public ICqrsCommandHandlerSelector ByAttribute(Lifestyle lifeStyle, params Assem
7479
{
7580
throw new ArgumentNullException(nameof(assemblies));
7681
}
82+
83+
if (assemblies.Length == 0)
84+
{
85+
throw new ArgumentException("No assemblies were provided.", nameof(assemblies));
86+
}
7787

7888
// Get all types that has methods marked with [CommandHandler] attribute from distinct assemblies.
7989
IEnumerable<Type> allTypes = assemblies.Distinct()
@@ -83,7 +93,7 @@ public ICqrsCommandHandlerSelector ByAttribute(Lifestyle lifeStyle, params Assem
8393
CommandHandlerAttributeMethod.IsFoundInType(type))
8494
.ToArray();
8595

86-
foreach(Type type in allTypes)
96+
foreach (Type type in allTypes)
8797
{
8898
// Register type as self.
8999
_container.Register(type, type, lifeStyle);
@@ -93,7 +103,7 @@ public ICqrsCommandHandlerSelector ByAttribute(Lifestyle lifeStyle, params Assem
93103
singleMessageHandlerRegistration.RegisterCommandHandlerAttributes(allTypes, _container.GetInstance);
94104

95105
// Register resolver.
96-
_container.AppendToCollection(
106+
_container.Collections.AppendTo(
97107
typeof(CommandHandlerDelegateResolver),
98108
Lifestyle.Singleton.CreateRegistration(() =>
99109
new CommandHandlerDelegateResolver(singleMessageHandlerRegistration.BuildMessageHandlerResolver()),

Src/Xer.Cqrs.Extensions.SimpleInjector/CqrsEventHandlerSelector.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public ICqrsEventHandlerSelector ByInterface(Lifestyle lifeStyle, params Assembl
4242
_container.Register(typeof(IEventHandler<>), distinctAssemblies, lifeStyle);
4343

4444
// Register resolver.
45-
_container.AppendToCollection(
45+
_container.Collections.AppendTo(
4646
typeof(EventHandlerDelegateResolver),
4747
Lifestyle.Singleton.CreateRegistration(() =>
4848
new EventHandlerDelegateResolver(new ContainerEventHandlerResolver(new SimpleInjectorContainerAdapter(_container))),
@@ -78,7 +78,7 @@ public ICqrsEventHandlerSelector ByAttribute(Lifestyle lifeStyle, params Assembl
7878
EventHandlerAttributeMethod.IsFoundInType(type))
7979
.ToArray();
8080

81-
foreach(Type type in allTypes)
81+
foreach (Type type in allTypes)
8282
{
8383
// Register type as self.
8484
_container.Register(type, type, lifeStyle);
@@ -88,7 +88,7 @@ public ICqrsEventHandlerSelector ByAttribute(Lifestyle lifeStyle, params Assembl
8888
multiMessageHandlerRegistration.RegisterEventHandlerAttributes(allTypes, _container.GetInstance);
8989

9090
// Register resolver.
91-
_container.AppendToCollection(
91+
_container.Collections.AppendTo(
9292
typeof(EventHandlerDelegateResolver),
9393
Lifestyle.Singleton.CreateRegistration(() =>
9494
new EventHandlerDelegateResolver(multiMessageHandlerRegistration.BuildMessageHandlerResolver()),

Src/Xer.Cqrs.Extensions.SimpleInjector/Xer.Cqrs.Extensions.SimpleInjector.csproj

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5+
<Authors>jeyjeyemem;mvput;xerprojects-contributors;</Authors>
6+
<Description>SimpleInjector container integration for Xer.Cqrs.</Description>
7+
<Copyright>Copyright (c) XerProjects contributors</Copyright>
8+
<PackageLicenseUrl>https://github.com/XerProjects/Xer.Cqrs.Extensions.SimpleInjector/blob/master/LICENSE</PackageLicenseUrl>
9+
<PackageProjectUrl>https://github.com/XerProjects/Xer.Cqrs.Extensions.SimpleInjector</PackageProjectUrl>
10+
<PackageTags>simple-injector;container;ioc;ioc-container;cqrs;extension</PackageTags>
511
</PropertyGroup>
612

713
<ItemGroup>
8-
<PackageReference Include="SimpleInjector" Version="4.0.12" />
9-
<PackageReference Include="Xer.Cqrs.CommandStack" Version="0.2.3" />
10-
<PackageReference Include="Xer.Cqrs.EventStack" Version="0.2.3" />
11-
<PackageReference Include="Xer.Delegator" Version="0.3.0" />
14+
<PackageReference Include="SimpleInjector" Version="4.1.1" />
15+
<PackageReference Include="Xer.Cqrs.CommandStack" Version="1.0.0" />
16+
<PackageReference Include="Xer.Cqrs.EventStack" Version="1.0.0" />
1217
</ItemGroup>
1318

1419
</Project>

Tests/Xer.Cqrs.Extensions.SimpleInjector.Tests/SimpleInjectorContainerExtensionsTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void ShouldRegisterAllCommandHandlersAndEventHandlersInAssembly()
2929
{
3030
Container container = new Container();
3131
container.RegisterCqrs(_handlerAssembly);
32-
container.RegisterSingleton(_outputHelper);
32+
container.RegisterInstance(_outputHelper);
3333
container.Verify();
3434

3535
var commandHandlerResolvers = container.GetAllInstances<CommandHandlerDelegateResolver>();
@@ -62,7 +62,7 @@ public void ShouldRegisterAllCommandHandlersInAssembly()
6262
container.RegisterCqrsCore()
6363
.RegisterCommandHandlers(select => select.ByInterface(_handlerAssembly));
6464

65-
container.RegisterSingleton(_outputHelper);
65+
container.RegisterInstance(_outputHelper);
6666
container.Verify();
6767

6868
var resolvers = container.GetAllInstances<CommandHandlerDelegateResolver>();
@@ -80,7 +80,7 @@ public void ShouldRegisterAllCommandHandlerAttributesInAssembly()
8080
Container container = new Container();
8181
container.RegisterCqrsCore()
8282
.RegisterCommandHandlers(select => select.ByAttribute(Lifestyle.Transient, _handlerAssembly));
83-
container.RegisterSingleton(_outputHelper);
83+
container.RegisterInstance(_outputHelper);
8484
container.Verify();
8585

8686
var resolvers = container.GetAllInstances<CommandHandlerDelegateResolver>();
@@ -104,7 +104,7 @@ public void ShouldRegisterAllEventHandlersInAssembly()
104104
container.RegisterCqrsCore()
105105
.RegisterEventHandlers(select => select.ByInterface(Lifestyle.Transient, _handlerAssembly));
106106

107-
container.RegisterSingleton(_outputHelper);
107+
container.RegisterInstance(_outputHelper);
108108
container.Verify();
109109

110110
var resolvers = container.GetAllInstances<EventHandlerDelegateResolver>();
@@ -123,7 +123,7 @@ public void ShouldRegisterAllEventHandlerAttributesInAssembly()
123123
container.RegisterCqrsCore()
124124
.RegisterEventHandlers(select => select.ByAttribute(Lifestyle.Transient, _handlerAssembly));
125125

126-
container.RegisterSingleton(_outputHelper);
126+
container.RegisterInstance(_outputHelper);
127127
container.Verify();
128128

129129
var resolvers = container.GetAllInstances<EventHandlerDelegateResolver>();

Tests/Xer.Cqrs.Extensions.SimpleInjector.Tests/Xer.Cqrs.Extensions.SimpleInjector.Tests.csproj

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,8 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="FluentAssertions" Version="5.1.1" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
12-
<PackageReference Include="SimpleInjector" Version="4.0.12" />
13-
<PackageReference Include="Xer.Cqrs.CommandStack" Version="0.2.3" />
14-
<PackageReference Include="Xer.Cqrs.EventStack" Version="0.2.3" />
15-
<PackageReference Include="Xer.Delegator" Version="0.3.0" />
10+
<PackageReference Include="FluentAssertions" Version="5.2.0" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
1612
<PackageReference Include="xunit" Version="2.3.1" />
1713
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
1814
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />

Tools/packages.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<packages>
3+
<package id="Cake" version="0.26.1" />
4+
</packages>

0 commit comments

Comments
 (0)