Skip to content

Commit ffe9208

Browse files
committed
Merge pull request #1033 from Aaronontheweb/master
Akka.NET v1.0.2 stable release
2 parents 020f62d + cf6863f commit ffe9208

File tree

355 files changed

+11703
-2936
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

355 files changed

+11703
-2936
lines changed

.editorconfig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ root = true
77
end_of_line = CRLF
88

99
[*.cs]
10-
indent_style = tab
10+
indent_style = space
11+
indent_size = 4

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,3 +210,4 @@ FakesAssemblies/
210210
/src/.Akka.boltdata/Settings.json
211211
/src/.Akka.boltdata/TestResults.json
212212
resetdev.bat
213+
/src/packages/repositories.config

README.md

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

1616
### Documentation and resources
1717

18-
#### [Akka.NET Community SIte](http://getakka.net)
18+
#### [Akka.NET Community Site](http://getakka.net)
1919

2020

2121
### Install Akka.NET via NuGet
@@ -38,6 +38,6 @@ PM> Install-Package Akka.FSharp
3838
### Contribute
3939
If you are interested in helping porting Akka to .NET please take a look at [Contributing to Akka.NET](http://akkadotnet.github.io/wiki/Contributing to Akka.NET).
4040

41-
Also, please see [Building Akka .NET](https://github.com/akkadotnet/akka.net/wiki/Building-and-Distributing-Pigeon).
41+
Also, please see [Building Akka.NET](http://getakka.net/docs/Building%20and%20Distributing%20Akka).
4242

4343
<a href="http://www.jetbrains.com/resharper"><img src="http://i61.tinypic.com/15qvwj7.jpg" alt="ReSharper" title="ReSharper"></a>

RELEASE_NOTES.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,63 @@
1+
#### 1.0.2 June 2 2015
2+
**Bugfix release for Akka.NET v1.0.1.**
3+
4+
Fixes & Changes - Akka.NET Core
5+
* [Routers seem ignore supervision strategy](https://github.com/akkadotnet/akka.net/issues/996)
6+
* [Replaced DateTime.Now with DateTime.UtcNow/MonotonicClock](https://github.com/akkadotnet/akka.net/pull/1009)
7+
* [DedicatedThreadScheduler](https://github.com/akkadotnet/akka.net/pull/1002)
8+
* [Add ability to specify scheduler implementation in configuration](https://github.com/akkadotnet/akka.net/pull/994)
9+
* [Added generic extensions to EventStream subscribe/unsubscribe.](https://github.com/akkadotnet/akka.net/pull/990)
10+
* [Convert null to NoSender.](https://github.com/akkadotnet/akka.net/pull/993)
11+
* [Supervisor strategy bad timeouts](https://github.com/akkadotnet/akka.net/pull/986)
12+
* [Updated Pigeon.conf throughput values](https://github.com/akkadotnet/akka.net/pull/980)
13+
* [Add PipeTo for non-generic Tasks for exception handling](https://github.com/akkadotnet/akka.net/pull/978)
14+
15+
Fixes & Changes - Akka.NET Dependency Injection
16+
* [Added Extensions methods to ActorSystem and ActorContext to make DI more accessible](https://github.com/akkadotnet/akka.net/pull/966)
17+
* [DIActorProducer fixes](https://github.com/akkadotnet/akka.net/pull/961)
18+
* [closes akkadotnet/akka.net#1020 structuremap dependency injection](https://github.com/akkadotnet/akka.net/pull/1021)
19+
20+
Fixes & Changes - Akka.Remote and Akka.Cluster
21+
* [Fixing up cluster rejoin behavior](https://github.com/akkadotnet/akka.net/pull/962)
22+
* [Added dispatcher fixes for remote and cluster ](https://github.com/akkadotnet/akka.net/pull/983)
23+
* [Fixes to ClusterRouterGroup](https://github.com/akkadotnet/akka.net/pull/953)
24+
* [Two actors are created by remote deploy using Props.WithDeploy](https://github.com/akkadotnet/akka.net/issues/1025)
25+
26+
Fixes & Changes - Akka.Persistence
27+
* [Renamed GuaranteedDelivery classes to AtLeastOnceDelivery](https://github.com/akkadotnet/akka.net/pull/984)
28+
* [Changes in Akka.Persistence SQL backend](https://github.com/akkadotnet/akka.net/pull/963)
29+
* [PostgreSQL persistence plugin for both event journal and snapshot store](https://github.com/akkadotnet/akka.net/pull/971)
30+
* [Cassandra persistence plugin](https://github.com/akkadotnet/akka.net/pull/995)
31+
32+
**New Features:**
33+
34+
**Akka.TestKit.XUnit2**
35+
Akka.NET now has support for [XUnit 2.0](http://xunit.github.io/)! You can install Akka.TestKit.XUnit2 via the NuGet commandline:
36+
37+
```
38+
PM> Install-Package Akka.TestKit.XUnit2
39+
```
40+
41+
**Akka.Persistence.PostgreSql** and **Akka.Persistence.Cassandra**
42+
Akka.Persistence now has two additional concrete implementations for PostgreSQL and Cassandra! You can install either of the packages using the following commandline:
43+
44+
[Akka.Persistence.PostgreSql Configuration Docs](https://github.com/akkadotnet/akka.net/tree/dev/src/contrib/persistence/Akka.Persistence.PostgreSql)
45+
```
46+
PM> Install-Package Akka.Persistence.PostgreSql
47+
```
48+
49+
[Akka.Persistence.Cassandra Configuration Docs](https://github.com/akkadotnet/akka.net/tree/dev/src/contrib/persistence/Akka.Persistence.Cassandra)
50+
```
51+
PM> Install-Package Akka.Persistence.Cassandra
52+
```
53+
54+
**Akka.DI.StructureMap**
55+
Akka.NET's dependency injection system now supports [StructureMap](http://structuremap.github.io/)! You can install Akka.DI.StructureMap via the NuGet commandline:
56+
57+
```
58+
PM> Install-Package Akka.DI.StructureMap
59+
```
60+
161
#### 1.0.1 Apr 28 2015
262

363
**Bugfix release for Akka.NET v1.0.**

build.cmd

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,17 @@ pushd %~dp0
44

55
src\.nuget\NuGet.exe update -self
66

7-
src\.nuget\NuGet.exe install FAKE -OutputDirectory src\packages -ExcludeVersion -Version 3.4.1
7+
src\.nuget\NuGet.exe install FAKE -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages -ExcludeVersion -Version 3.28.8
88

9-
src\.nuget\NuGet.exe install xunit.runners -OutputDirectory src\packages\FAKE -ExcludeVersion -Version 1.9.2
10-
src\.nuget\NuGet.exe install nunit.runners -OutputDirectory src\packages\FAKE -ExcludeVersion -Version 2.6.4
9+
src\.nuget\NuGet.exe install xunit.runner.console -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages\FAKE -ExcludeVersion -Version 2.0.0
10+
src\.nuget\NuGet.exe install nunit.runners -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages\FAKE -ExcludeVersion -Version 2.6.4
1111

1212
if not exist src\packages\SourceLink.Fake\tools\SourceLink.fsx (
13-
src\.nuget\nuget.exe install SourceLink.Fake -OutputDirectory src\packages -ExcludeVersion
13+
src\.nuget\nuget.exe install SourceLink.Fake -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages -ExcludeVersion
1414
)
1515
rem cls
1616

1717
set encoding=utf-8
1818
src\packages\FAKE\tools\FAKE.exe build.fsx %*
1919

20-
popd
21-
22-
20+
popd

build.fsx

Lines changed: 59 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
open System
66
open System.IO
7+
open System.Text
78
open Fake
89
open Fake.FileUtils
910
open Fake.MSTest
@@ -35,14 +36,15 @@ let parsedRelease =
3536
File.ReadLines "RELEASE_NOTES.md"
3637
|> ReleaseNotesHelper.parseReleaseNotes
3738

38-
//Fake.ReleaseNotesHelper.Parse assumes letters+int in PreRelease.TryParse.
39-
//This means we cannot append the full date yyyMMddHHmmss to prerelease.
40-
//See https://github.com/fsharp/FAKE/issues/522
41-
//TODO: When this has been fixed, switch to DateTime.UtcNow.ToString("yyyyMMddHHmmss")
42-
let preReleaseVersion = parsedRelease.AssemblyVersion + "-" + (getBuildParamOrDefault "nugetprerelease" "pre") + DateTime.UtcNow.ToString("yyMMddHHmm")
39+
let envBuildNumber = System.Environment.GetEnvironmentVariable("BUILD_NUMBER")
40+
let buildNumber = if String.IsNullOrWhiteSpace(envBuildNumber) then "0" else envBuildNumber
41+
42+
let version = parsedRelease.AssemblyVersion + "." + buildNumber
43+
let preReleaseVersion = version + "-beta"
44+
4345
let isUnstableDocs = hasBuildParam "unstable"
4446
let isPreRelease = hasBuildParam "nugetprerelease"
45-
let release = if isPreRelease then ReleaseNotesHelper.ReleaseNotes.New(parsedRelease.AssemblyVersion, preReleaseVersion, parsedRelease.Notes) else parsedRelease
47+
let release = if isPreRelease then ReleaseNotesHelper.ReleaseNotes.New(version, version + "-beta", parsedRelease.Notes) else parsedRelease
4648

4749
printfn "Assembly version: %s\nNuget version; %s\n" release.AssemblyVersion release.NugetVersion
4850
//--------------------------------------------------------------------------------
@@ -57,6 +59,14 @@ let libDir = workingDir @@ @"lib\net45\"
5759
let nugetExe = FullName @"src\.nuget\NuGet.exe"
5860
let docDir = "bin" @@ "doc"
5961

62+
open Fake.RestorePackageHelper
63+
Target "RestorePackages" (fun _ ->
64+
"./src/Akka.sln"
65+
|> RestoreMSSolutionPackages (fun p ->
66+
{ p with
67+
OutputPath = "./src/packages"
68+
Retries = 4 })
69+
)
6070

6171
//--------------------------------------------------------------------------------
6272
// Clean build results
@@ -67,17 +77,22 @@ Target "Clean" <| fun _ ->
6777
//--------------------------------------------------------------------------------
6878
// Generate AssemblyInfo files with the version for release notes
6979

70-
7180
open AssemblyInfoFile
81+
7282
Target "AssemblyInfo" <| fun _ ->
83+
CreateCSharpAssemblyInfoWithConfig "src/SharedAssemblyInfo.cs" [
84+
Attribute.Company company
85+
Attribute.Copyright copyright
86+
Attribute.Trademark ""
87+
Attribute.Version version
88+
Attribute.FileVersion version ] <| AssemblyInfoFileConfig(false)
89+
7390
for file in !! "src/**/AssemblyInfo.fs" do
7491
let title =
7592
file
7693
|> Path.GetDirectoryName
7794
|> Path.GetDirectoryName
7895
|> Path.GetFileName
79-
80-
let version = release.AssemblyVersion + ".0"
8196

8297
CreateFSharpAssemblyInfo file [
8398
Attribute.Title title
@@ -90,12 +105,6 @@ Target "AssemblyInfo" <| fun _ ->
90105
Attribute.Version version
91106
Attribute.FileVersion version ]
92107

93-
CreateCSharpAssemblyInfoWithConfig "src/SharedAssemblyInfo.cs" [
94-
Attribute.Company company
95-
Attribute.Copyright copyright
96-
Attribute.Trademark ""
97-
Attribute.Version version
98-
Attribute.FileVersion version ] |> ignore
99108

100109
//--------------------------------------------------------------------------------
101110
// Build the solution
@@ -182,6 +191,7 @@ Target "CopyOutput" <| fun _ ->
182191
"contrib/dependencyinjection/Akka.DI.Ninject"
183192
"contrib/testkits/Akka.TestKit.Xunit"
184193
"contrib/testkits/Akka.TestKit.NUnit"
194+
"contrib/testkits/Akka.TestKit.Xunit2"
185195
]
186196
|> List.iter copyOutput
187197

@@ -201,14 +211,16 @@ Target "CleanTests" <| fun _ ->
201211
//--------------------------------------------------------------------------------
202212
// Run tests
203213

204-
open XUnitHelper
214+
open XUnit2Helper
205215
Target "RunTests" <| fun _ ->
206216
let msTestAssemblies = !! "src/**/bin/Release/Akka.TestKit.VsTest.Tests.dll"
207217
let nunitTestAssemblies = !! "src/**/bin/Release/Akka.TestKit.NUnit.Tests.dll"
208218
let xunitTestAssemblies = !! "src/**/bin/Release/*.Tests.dll" --
209219
"src/**/bin/Release/Akka.TestKit.VsTest.Tests.dll" --
210220
"src/**/bin/Release/Akka.TestKit.NUnit.Tests.dll" --
211-
"src/**/bin/Release/Akka.Persistence.SqlServer.Tests.dll"
221+
"src/**/bin/Release/Akka.Persistence.SqlServer.Tests.dll" --
222+
"src/**/bin/Release/Akka.Persistence.PostgreSql.Tests.dll" --
223+
"src/**/bin/Release/Akka.Persistence.Cassandra.Tests.dll"
212224

213225
mkdir testOutput
214226

@@ -219,9 +231,9 @@ Target "RunTests" <| fun _ ->
219231
DisableShadowCopy = true;
220232
OutputFile = testOutput + @"\NUnitTestResults.xml"})
221233

222-
let xunitToolPath = findToolInSubPath "xunit.console.clr4.exe" "src/packages/xunit.runners*"
234+
let xunitToolPath = findToolInSubPath "xunit.console.exe" "src/packages/xunit.runner.console*/tools"
223235
printfn "Using XUnit runner: %s" xunitToolPath
224-
xUnit
236+
xUnit2
225237
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
226238
xunitTestAssemblies
227239

@@ -230,18 +242,24 @@ Target "RunTestsMono" <| fun _ ->
230242

231243
mkdir testOutput
232244

233-
let xunitToolPath = findToolInSubPath "xunit.console.clr4.exe" "src/packages/xunit.runners*"
245+
let xunitToolPath = findToolInSubPath "xunit.console.exe" "src/packages/xunit.runner.console*/tools"
234246
printfn "Using XUnit runner: %s" xunitToolPath
235-
xUnit
247+
xUnit2
236248
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
237249
xunitTestAssemblies
238250

239251
Target "MultiNodeTests" <| fun _ ->
240252
let multiNodeTestPath = findToolInSubPath "Akka.MultiNodeTestRunner.exe" "bin/core/Akka.MultiNodeTestRunner*"
241253
printfn "Using MultiNodeTestRunner: %s" multiNodeTestPath
242254

255+
let spec = getBuildParam "spec"
256+
257+
let args = new StringBuilder()
258+
|> append "Akka.MultiNodeTests.dll"
259+
|> append "-Dmultinode.enable-filesink=on"
260+
|> appendIfNotNullOrEmpty spec "-Dmultinode.test-spec="
261+
|> toText
243262

244-
let args = "Akka.Cluster.Tests.dll -Dmultinode.enable-filesink=on"
245263
let result = ExecProcess(fun info ->
246264
info.FileName <- multiNodeTestPath
247265
info.WorkingDirectory <- (Path.GetDirectoryName (FullName multiNodeTestPath))
@@ -256,6 +274,22 @@ Target "RunSqlServerTests" <| fun _ ->
256274
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
257275
sqlServerTests
258276

277+
Target "RunPostgreSqlTests" <| fun _ ->
278+
let postgreSqlTests = !! "src/**/bin/Release/Akka.Persistence.PostgreSql.Tests.dll"
279+
let xunitToolPath = findToolInSubPath "xunit.console.exe" "src/packages/xunit.runner.console*/tools"
280+
printfn "Using XUnit runner: %s" xunitToolPath
281+
xUnit2
282+
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
283+
postgreSqlTests
284+
285+
Target "RunCassandraTests" <| fun _ ->
286+
let cassandraTests = !! "src/**/bin/Release/Akka.Persistence.Cassandra.Tests.dll"
287+
let xunitToolPath = findToolInSubPath "xunit.console.exe" "src/packages/xunit.runner.console*/tools"
288+
printfn "Using XUnit runner: %s" xunitToolPath
289+
xUnit2
290+
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
291+
cassandraTests
292+
259293
//--------------------------------------------------------------------------------
260294
// Nuget targets
261295
//--------------------------------------------------------------------------------
@@ -266,8 +300,7 @@ module Nuget =
266300
match project with
267301
| "Akka" -> []
268302
| "Akka.Cluster" -> ["Akka.Remote", release.NugetVersion]
269-
| "Akka.Persistence.TestKit" -> ["Akka.Persistence", preReleaseVersion]
270-
| "Akka.Persistence.FSharp" -> ["Akka.Persistence", preReleaseVersion]
303+
| persistence when (persistence.StartsWith("Akka.Persistence.")) -> ["Akka.Persistence", preReleaseVersion]
271304
| di when (di.StartsWith("Akka.DI.") && not (di.EndsWith("Core"))) -> ["Akka.DI.Core", release.NugetVersion]
272305
| testkit when testkit.StartsWith("Akka.TestKit.") -> ["Akka.TestKit", release.NugetVersion]
273306
| _ -> ["Akka", release.NugetVersion]
@@ -308,7 +341,7 @@ let createNugetPackages _ =
308341
let projectDir = Path.GetDirectoryName nuspec
309342
let projectFile = (!! (projectDir @@ project + ".*sproj")) |> Seq.head
310343
let releaseDir = projectDir @@ @"bin\Release"
311-
let packages = projectDir @@ "packages.config"
344+
let packages = projectDir @@ "packages.config"
312345
let packageDependencies = if (fileExists packages) then (getDependencies packages) else []
313346
let dependencies = packageDependencies @ getAkkaDependency project
314347
let releaseVersion = getProjectVersion project
@@ -511,7 +544,7 @@ Target "HelpDocs" <| fun _ ->
511544
//--------------------------------------------------------------------------------
512545

513546
// build dependencies
514-
"Clean" ==> "AssemblyInfo" ==> "Build" ==> "CopyOutput" ==> "BuildRelease"
547+
"Clean" ==> "AssemblyInfo" ==> "RestorePackages" ==> "Build" ==> "CopyOutput" ==> "BuildRelease"
515548

516549
// tests dependencies
517550
"CleanTests" ==> "RunTests"

src/.nuget/NuGet.Config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@
33
<solution>
44
<add key="disableSourceControlIntegration" value="true" />
55
</solution>
6+
<activePackageSource>
7+
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
8+
</activePackageSource>
69
</configuration>

0 commit comments

Comments
 (0)