Skip to content

Commit

Permalink
Merge pull request #1033 from Aaronontheweb/master
Browse files Browse the repository at this point in the history
Akka.NET v1.0.2 stable release
  • Loading branch information
Aaronontheweb committed Jun 3, 2015
2 parents 020f62d + cf6863f commit ffe9208
Show file tree
Hide file tree
Showing 355 changed files with 11,703 additions and 2,936 deletions.
3 changes: 2 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ root = true
end_of_line = CRLF

[*.cs]
indent_style = tab
indent_style = space
indent_size = 4
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -210,3 +210,4 @@ FakesAssemblies/
/src/.Akka.boltdata/Settings.json
/src/.Akka.boltdata/TestResults.json
resetdev.bat
/src/packages/repositories.config
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

### Documentation and resources

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


### Install Akka.NET via NuGet
Expand All @@ -38,6 +38,6 @@ PM> Install-Package Akka.FSharp
### Contribute
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).

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

<a href="http://www.jetbrains.com/resharper"><img src="http://i61.tinypic.com/15qvwj7.jpg" alt="ReSharper" title="ReSharper"></a>
60 changes: 60 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,63 @@
#### 1.0.2 June 2 2015
**Bugfix release for Akka.NET v1.0.1.**

Fixes & Changes - Akka.NET Core
* [Routers seem ignore supervision strategy](https://github.com/akkadotnet/akka.net/issues/996)
* [Replaced DateTime.Now with DateTime.UtcNow/MonotonicClock](https://github.com/akkadotnet/akka.net/pull/1009)
* [DedicatedThreadScheduler](https://github.com/akkadotnet/akka.net/pull/1002)
* [Add ability to specify scheduler implementation in configuration](https://github.com/akkadotnet/akka.net/pull/994)
* [Added generic extensions to EventStream subscribe/unsubscribe.](https://github.com/akkadotnet/akka.net/pull/990)
* [Convert null to NoSender.](https://github.com/akkadotnet/akka.net/pull/993)
* [Supervisor strategy bad timeouts](https://github.com/akkadotnet/akka.net/pull/986)
* [Updated Pigeon.conf throughput values](https://github.com/akkadotnet/akka.net/pull/980)
* [Add PipeTo for non-generic Tasks for exception handling](https://github.com/akkadotnet/akka.net/pull/978)

Fixes & Changes - Akka.NET Dependency Injection
* [Added Extensions methods to ActorSystem and ActorContext to make DI more accessible](https://github.com/akkadotnet/akka.net/pull/966)
* [DIActorProducer fixes](https://github.com/akkadotnet/akka.net/pull/961)
* [closes akkadotnet/akka.net#1020 structuremap dependency injection](https://github.com/akkadotnet/akka.net/pull/1021)

Fixes & Changes - Akka.Remote and Akka.Cluster
* [Fixing up cluster rejoin behavior](https://github.com/akkadotnet/akka.net/pull/962)
* [Added dispatcher fixes for remote and cluster ](https://github.com/akkadotnet/akka.net/pull/983)
* [Fixes to ClusterRouterGroup](https://github.com/akkadotnet/akka.net/pull/953)
* [Two actors are created by remote deploy using Props.WithDeploy](https://github.com/akkadotnet/akka.net/issues/1025)

Fixes & Changes - Akka.Persistence
* [Renamed GuaranteedDelivery classes to AtLeastOnceDelivery](https://github.com/akkadotnet/akka.net/pull/984)
* [Changes in Akka.Persistence SQL backend](https://github.com/akkadotnet/akka.net/pull/963)
* [PostgreSQL persistence plugin for both event journal and snapshot store](https://github.com/akkadotnet/akka.net/pull/971)
* [Cassandra persistence plugin](https://github.com/akkadotnet/akka.net/pull/995)

**New Features:**

**Akka.TestKit.XUnit2**
Akka.NET now has support for [XUnit 2.0](http://xunit.github.io/)! You can install Akka.TestKit.XUnit2 via the NuGet commandline:

```
PM> Install-Package Akka.TestKit.XUnit2
```

**Akka.Persistence.PostgreSql** and **Akka.Persistence.Cassandra**
Akka.Persistence now has two additional concrete implementations for PostgreSQL and Cassandra! You can install either of the packages using the following commandline:

[Akka.Persistence.PostgreSql Configuration Docs](https://github.com/akkadotnet/akka.net/tree/dev/src/contrib/persistence/Akka.Persistence.PostgreSql)
```
PM> Install-Package Akka.Persistence.PostgreSql
```

[Akka.Persistence.Cassandra Configuration Docs](https://github.com/akkadotnet/akka.net/tree/dev/src/contrib/persistence/Akka.Persistence.Cassandra)
```
PM> Install-Package Akka.Persistence.Cassandra
```

**Akka.DI.StructureMap**
Akka.NET's dependency injection system now supports [StructureMap](http://structuremap.github.io/)! You can install Akka.DI.StructureMap via the NuGet commandline:

```
PM> Install-Package Akka.DI.StructureMap
```

#### 1.0.1 Apr 28 2015

**Bugfix release for Akka.NET v1.0.**
Expand Down
12 changes: 5 additions & 7 deletions build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,17 @@ pushd %~dp0

src\.nuget\NuGet.exe update -self

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

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

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

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

popd


popd
85 changes: 59 additions & 26 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

open System
open System.IO
open System.Text
open Fake
open Fake.FileUtils
open Fake.MSTest
Expand Down Expand Up @@ -35,14 +36,15 @@ let parsedRelease =
File.ReadLines "RELEASE_NOTES.md"
|> ReleaseNotesHelper.parseReleaseNotes

//Fake.ReleaseNotesHelper.Parse assumes letters+int in PreRelease.TryParse.
//This means we cannot append the full date yyyMMddHHmmss to prerelease.
//See https://github.com/fsharp/FAKE/issues/522
//TODO: When this has been fixed, switch to DateTime.UtcNow.ToString("yyyyMMddHHmmss")
let preReleaseVersion = parsedRelease.AssemblyVersion + "-" + (getBuildParamOrDefault "nugetprerelease" "pre") + DateTime.UtcNow.ToString("yyMMddHHmm")
let envBuildNumber = System.Environment.GetEnvironmentVariable("BUILD_NUMBER")
let buildNumber = if String.IsNullOrWhiteSpace(envBuildNumber) then "0" else envBuildNumber

let version = parsedRelease.AssemblyVersion + "." + buildNumber
let preReleaseVersion = version + "-beta"

let isUnstableDocs = hasBuildParam "unstable"
let isPreRelease = hasBuildParam "nugetprerelease"
let release = if isPreRelease then ReleaseNotesHelper.ReleaseNotes.New(parsedRelease.AssemblyVersion, preReleaseVersion, parsedRelease.Notes) else parsedRelease
let release = if isPreRelease then ReleaseNotesHelper.ReleaseNotes.New(version, version + "-beta", parsedRelease.Notes) else parsedRelease

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

open Fake.RestorePackageHelper
Target "RestorePackages" (fun _ ->
"./src/Akka.sln"
|> RestoreMSSolutionPackages (fun p ->
{ p with
OutputPath = "./src/packages"
Retries = 4 })
)

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


open AssemblyInfoFile

Target "AssemblyInfo" <| fun _ ->
CreateCSharpAssemblyInfoWithConfig "src/SharedAssemblyInfo.cs" [
Attribute.Company company
Attribute.Copyright copyright
Attribute.Trademark ""
Attribute.Version version
Attribute.FileVersion version ] <| AssemblyInfoFileConfig(false)

for file in !! "src/**/AssemblyInfo.fs" do
let title =
file
|> Path.GetDirectoryName
|> Path.GetDirectoryName
|> Path.GetFileName

let version = release.AssemblyVersion + ".0"

CreateFSharpAssemblyInfo file [
Attribute.Title title
Expand All @@ -90,12 +105,6 @@ Target "AssemblyInfo" <| fun _ ->
Attribute.Version version
Attribute.FileVersion version ]

CreateCSharpAssemblyInfoWithConfig "src/SharedAssemblyInfo.cs" [
Attribute.Company company
Attribute.Copyright copyright
Attribute.Trademark ""
Attribute.Version version
Attribute.FileVersion version ] |> ignore

//--------------------------------------------------------------------------------
// Build the solution
Expand Down Expand Up @@ -182,6 +191,7 @@ Target "CopyOutput" <| fun _ ->
"contrib/dependencyinjection/Akka.DI.Ninject"
"contrib/testkits/Akka.TestKit.Xunit"
"contrib/testkits/Akka.TestKit.NUnit"
"contrib/testkits/Akka.TestKit.Xunit2"
]
|> List.iter copyOutput

Expand All @@ -201,14 +211,16 @@ Target "CleanTests" <| fun _ ->
//--------------------------------------------------------------------------------
// Run tests

open XUnitHelper
open XUnit2Helper
Target "RunTests" <| fun _ ->
let msTestAssemblies = !! "src/**/bin/Release/Akka.TestKit.VsTest.Tests.dll"
let nunitTestAssemblies = !! "src/**/bin/Release/Akka.TestKit.NUnit.Tests.dll"
let xunitTestAssemblies = !! "src/**/bin/Release/*.Tests.dll" --
"src/**/bin/Release/Akka.TestKit.VsTest.Tests.dll" --
"src/**/bin/Release/Akka.TestKit.NUnit.Tests.dll" --
"src/**/bin/Release/Akka.Persistence.SqlServer.Tests.dll"
"src/**/bin/Release/Akka.Persistence.SqlServer.Tests.dll" --
"src/**/bin/Release/Akka.Persistence.PostgreSql.Tests.dll" --
"src/**/bin/Release/Akka.Persistence.Cassandra.Tests.dll"

mkdir testOutput

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

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

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

mkdir testOutput

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

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

let spec = getBuildParam "spec"

let args = new StringBuilder()
|> append "Akka.MultiNodeTests.dll"
|> append "-Dmultinode.enable-filesink=on"
|> appendIfNotNullOrEmpty spec "-Dmultinode.test-spec="
|> toText

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

Target "RunPostgreSqlTests" <| fun _ ->
let postgreSqlTests = !! "src/**/bin/Release/Akka.Persistence.PostgreSql.Tests.dll"
let xunitToolPath = findToolInSubPath "xunit.console.exe" "src/packages/xunit.runner.console*/tools"
printfn "Using XUnit runner: %s" xunitToolPath
xUnit2
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
postgreSqlTests

Target "RunCassandraTests" <| fun _ ->
let cassandraTests = !! "src/**/bin/Release/Akka.Persistence.Cassandra.Tests.dll"
let xunitToolPath = findToolInSubPath "xunit.console.exe" "src/packages/xunit.runner.console*/tools"
printfn "Using XUnit runner: %s" xunitToolPath
xUnit2
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
cassandraTests

//--------------------------------------------------------------------------------
// Nuget targets
//--------------------------------------------------------------------------------
Expand All @@ -266,8 +300,7 @@ module Nuget =
match project with
| "Akka" -> []
| "Akka.Cluster" -> ["Akka.Remote", release.NugetVersion]
| "Akka.Persistence.TestKit" -> ["Akka.Persistence", preReleaseVersion]
| "Akka.Persistence.FSharp" -> ["Akka.Persistence", preReleaseVersion]
| persistence when (persistence.StartsWith("Akka.Persistence.")) -> ["Akka.Persistence", preReleaseVersion]
| di when (di.StartsWith("Akka.DI.") && not (di.EndsWith("Core"))) -> ["Akka.DI.Core", release.NugetVersion]
| testkit when testkit.StartsWith("Akka.TestKit.") -> ["Akka.TestKit", release.NugetVersion]
| _ -> ["Akka", release.NugetVersion]
Expand Down Expand Up @@ -308,7 +341,7 @@ let createNugetPackages _ =
let projectDir = Path.GetDirectoryName nuspec
let projectFile = (!! (projectDir @@ project + ".*sproj")) |> Seq.head
let releaseDir = projectDir @@ @"bin\Release"
let packages = projectDir @@ "packages.config"
let packages = projectDir @@ "packages.config"
let packageDependencies = if (fileExists packages) then (getDependencies packages) else []
let dependencies = packageDependencies @ getAkkaDependency project
let releaseVersion = getProjectVersion project
Expand Down Expand Up @@ -511,7 +544,7 @@ Target "HelpDocs" <| fun _ ->
//--------------------------------------------------------------------------------

// build dependencies
"Clean" ==> "AssemblyInfo" ==> "Build" ==> "CopyOutput" ==> "BuildRelease"
"Clean" ==> "AssemblyInfo" ==> "RestorePackages" ==> "Build" ==> "CopyOutput" ==> "BuildRelease"

// tests dependencies
"CleanTests" ==> "RunTests"
Expand Down
3 changes: 3 additions & 0 deletions src/.nuget/NuGet.Config
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,7 @@
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<activePackageSource>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</activePackageSource>
</configuration>
Loading

0 comments on commit ffe9208

Please sign in to comment.