Skip to content

Commit 6c5d1b2

Browse files
authored
Merge pull request #8 from XerProjects/hotfix-2.0.1
Hotfix 2.0.1
2 parents f01e739 + 3ed7f98 commit 6c5d1b2

File tree

9 files changed

+102
-159
lines changed

9 files changed

+102
-159
lines changed

GitVersion.yml

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

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2018 XerProjects
3+
Copyright (c) 2018 Joel Jeremy Marquez
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

Src/Xer.Cqrs.Extensions.Microsoft.DependencyInjection/CqrsBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public ICqrsBuilder AddCommandHandlers(Action<ICqrsCommandHandlerSelector> selec
4646
}
4747

4848
// Empty delegator.
49-
return new CommandDelegator(new SingleMessageHandlerRegistration().BuildMessageHandlerResolver());
49+
return new CommandDelegator(NullMessageHandlerDelegateResolver.Instance);
5050
});
5151

5252
return this;
@@ -75,7 +75,7 @@ public ICqrsBuilder AddEventHandlers(Action<ICqrsEventHandlerSelector> selector)
7575
}
7676

7777
// Empty delegator.
78-
return new EventDelegator(new MultiMessageHandlerRegistration().BuildMessageHandlerResolver());
78+
return new EventDelegator(NullMessageHandlerDelegateResolver.Instance);
7979
});
8080

8181
return this;

Src/Xer.Cqrs.Extensions.Microsoft.DependencyInjection/CqrsCommandHandlerSelector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public ICqrsCommandHandlerSelector ByInterface(ServiceLifetime lifetime, params
3333

3434
if (assemblies.Length == 0)
3535
{
36-
throw new ArgumentException("No assemblies were provided.", nameof(assemblies));
36+
throw new ArgumentException("No command handler assemblies were provided.", nameof(assemblies));
3737
}
3838

3939
_serviceCollection.Scan(scan => scan
@@ -69,7 +69,7 @@ public ICqrsCommandHandlerSelector ByAttribute(ServiceLifetime lifetime, params
6969

7070
if (assemblies.Length == 0)
7171
{
72-
throw new ArgumentException("No assemblies were provided.", nameof(assemblies));
72+
throw new ArgumentException("No command handler assemblies were provided.", nameof(assemblies));
7373
}
7474

7575
_serviceCollection.Scan(scan => scan

Src/Xer.Cqrs.Extensions.Microsoft.DependencyInjection/CqrsEventHandlerSelector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public ICqrsEventHandlerSelector ByInterface(ServiceLifetime lifetime, params As
3232

3333
if (assemblies.Length == 0)
3434
{
35-
throw new ArgumentException("No assemblies were provided.", nameof(assemblies));
35+
throw new ArgumentException("No event handler assemblies were provided.", nameof(assemblies));
3636
}
3737

3838
_serviceCollection.Scan(scan => scan
@@ -65,7 +65,7 @@ public ICqrsEventHandlerSelector ByAttribute(ServiceLifetime lifetime, params As
6565

6666
if (assemblies.Length == 0)
6767
{
68-
throw new ArgumentException("No assemblies were provided.", nameof(assemblies));
68+
throw new ArgumentException("No event handler assemblies were provided.", nameof(assemblies));
6969
}
7070

7171
_serviceCollection.Scan(scan => scan
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using Xer.Delegator;
3+
4+
namespace Xer.Cqrs.Extensions.Microsoft.DependencyInjection
5+
{
6+
internal class NullMessageHandlerDelegateResolver : IMessageHandlerResolver
7+
{
8+
private static readonly Lazy<NullMessageHandlerDelegateResolver> _singleton = new Lazy<NullMessageHandlerDelegateResolver>(() => new NullMessageHandlerDelegateResolver());
9+
public static readonly NullMessageHandlerDelegateResolver Instance = _singleton.Value;
10+
11+
private NullMessageHandlerDelegateResolver() { }
12+
13+
public MessageHandlerDelegate ResolveMessageHandler(Type messageType) => NullMessageHandlerDelegate.Instance;
14+
}
15+
}

Src/Xer.Cqrs.Extensions.Microsoft.DependencyInjection/ServiceCollectionExtensions.cs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Reflection;
1+
using System;
2+
using System.Reflection;
23
using Xer.Cqrs.Extensions.Microsoft.DependencyInjection;
34

45
namespace Microsoft.Extensions.DependencyInjection
@@ -7,6 +8,21 @@ public static class ServiceCollectionExtensions
78
{
89
public static IServiceCollection AddCqrs(this IServiceCollection serviceCollection, params Assembly[] assemblies)
910
{
11+
if (serviceCollection == null)
12+
{
13+
throw new ArgumentNullException(nameof(serviceCollection));
14+
}
15+
16+
if (assemblies == null)
17+
{
18+
throw new ArgumentNullException(nameof(assemblies));
19+
}
20+
21+
if (assemblies.Length == 0)
22+
{
23+
throw new ArgumentException("No assemblies were provided.", nameof(assemblies));
24+
}
25+
1026
AddCqrsCore(serviceCollection)
1127
.AddCommandHandlers(select =>
1228
select.ByInterface(assemblies)

appveyor.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
version: '{build}'
2+
pull_requests:
3+
do_not_increment_build_number: true
4+
image: Visual Studio 2017
5+
nuget:
6+
disable_publish_on_pr: true
7+
build_script:
8+
- ps: .\build.ps1
9+
test: off
10+
artifacts:
11+
- path: .\BuildArtifacts\*.nupkg
12+
name: NuGet
13+
skip_commits:
14+
message: /^\[nobuild\](.*)?/ # Skip build if commit message starts with [nobuild]
15+
deploy:
16+
- provider: NuGet
17+
server: https://www.myget.org/F/xerprojects-ci/api/v2/package
18+
api_key:
19+
secure: u04sQwcw2Dg6ymwifBf1PoYRwo6HrQOsEagB7IQYvwRPt+10tyFcrbuKq7Az34Oz
20+
skip_symbols: true
21+
on:
22+
branch: /(^dev$|^master$|^release[-/](.*)|^hotfix[-/](.*))/ # Branches: dev, master, release-*, release/*, hotfix-*, hotfix/*
23+
- provider: NuGet
24+
name: production
25+
skip_symbols: true
26+
api_key:
27+
secure: 1fEVy/0Jgny/LKUOQC75fofhRjEfpAaVV0Y8u3nH+oKdmrPFFFEF1swA+iS0W0rV
28+
on:
29+
branch: master
30+
appveyor_repo_tag: true # Only deploy to NuGet if a tag is found.

0 commit comments

Comments
 (0)