Skip to content

Commit

Permalink
Merge pull request #1219 from Aaronontheweb/master
Browse files Browse the repository at this point in the history
Akka.NET v1.0.4 Production Release
  • Loading branch information
Aaronontheweb committed Aug 7, 2015
2 parents 51f46a9 + 683a7ec commit 4819b9b
Show file tree
Hide file tree
Showing 387 changed files with 13,381 additions and 6,837 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@ _TeamCity*
# NCrunch
_NCrunch_*
.*crunch*.local.xml
*.ncrunchsolution
*.v2.ncrunchproject


# MightyMoose
*.mm.*
Expand Down
20 changes: 10 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Submit only relevant commits. We don't mind many commits in a pull request, but

- __Use a feature branch__ The pull request should be created from a feature branch, and not from _dev_. See below for why.
- __No merge-commits__
If you have commits that looks like this _"Merge branch 'my-branch' into dev"_ or _"Merge branch 'dev' of github .com/akkadotnet/akka.net into dev"_ you're probaly using merge instead of [rebase](https://help.github.com/articles/about-git-rebase) locally. See below on _Handling updates from upstream_.
If you have commits that looks like this _"Merge branch 'my-branch' into dev"_ or _"Merge branch 'dev' of github .com/akkadotnet/akka.net into dev"_ you're probaly using merge instead of [rebase](https://help.github.com/articles/about-git-rebase) locally. See below on _Handling updates from upstream_.
- __Squash commits__ Often we create temporary commits like _"Started implementing feature x"_ and then _"Did a bit more on feature x"_. Squash these commits together using [interactive rebase](https://help.github.com/articles/about-git-rebase). Also see [Squashing commits with rebase](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html).
- __Descriptive commit messages__ If a commit's message isn't descriptive, change it using [interactive rebase](https://help.github.com/articles/about-git-rebase). Refer to issues using `#issue`. Example of a bad message ~~"Small cleanup"~~. Example of good message: _"Removed Security.Claims header from FSM, which broke Mono build per #62"_. Don't be afraid to write long messages, if needed. Try to explain _why_ you've done the changes. The Erlang repo has some info on [writing good commit messages](https://github.com/erlang/otp/wiki/Writing-good-commit-messages).
- __No one-commit-to-rule-them-all__ Large commits that changes too many things at the same time are very hard to review. Split large commits into smaller. See this [StackOverflow question](http://stackoverflow.com/questions/6217156/break-a-previous-commit-into-multiple-commits) for information on how to do this.
Expand All @@ -31,17 +31,17 @@ Make sure you have a [GitHub](https://github.com/) account.
- Fork, clone, add upstream to the Akka.NET repository. See [Fork a repo](https://help.github.com/articles/fork-a-repo) for more detailed instructions or follow the instructions below.

- Fork by clicking _Fork_ on https://github.com/akkadotnet/akka.net
- Clone your fork locally.
- Clone your fork locally.
```
git clone https://github.com/YOUR-USERNAME/akka.net
```
- Add an upstream remote.
- Add an upstream remote.
```
git remote add upstream https://github.com/akkadotnet/akka.net
```
You now have two remotes: _upstream_ points to https://github.com/akkadotnet/akka.net, and _origin_ points to your fork on GitHub.

- Make changes. See below.
- Make changes. See below.

Unsure where to start? Issues marked with [_up for grabs_](https://github.com/akkadotnet/akka.net/labels/up%20for%20grabs) are things we want help with.

Expand All @@ -52,8 +52,8 @@ New to Git? See https://help.github.com/articles/what-are-other-good-resources-f
### Making changes
__Never__ work directly on _dev_ or _master_ and you should never send a pull request from master - always from a feature branch created by you.

- Pick an [issue](https://github.com/akkadotnet/akka.net/issues). If no issue exists (search first) create one.
- Get any changes from _upstream_.
- Pick an [issue](https://github.com/akkadotnet/akka.net/issues). If no issue exists (search first) create one.
- Get any changes from _upstream_.
```
git checkout dev
git fetch upstream
Expand All @@ -68,7 +68,7 @@ See https://help.github.com/articles/fetching-a-remote for more info
git checkout -b my-new-branch-123
```
- Work on your feature. Commit.
- Rebase often, see below.
- Rebase often, see below.
- Make sure you adhere to _Checklist before creating a Pull Request_ described above.
- Push the branch to your fork on GitHub
```
Expand All @@ -91,7 +91,7 @@ git stash
git checkout dev
git fetch upstream
git merge --ff-only upstream/dev
```
```
- Rebase your feature branch on _dev_. See [Git Branching - Rebasing](http://git-scm.com/book/en/Git-Branching-Rebasing) for more info on rebasing
```
git checkout my-new-branch-123
Expand All @@ -110,7 +110,7 @@ git push -f origin my-new-branch-123
```

### All my commits are on dev. How do I get them to a new branch? ###
If all commits are on _dev_ you need to move them to a new feature branch.
If all commits are on _dev_ you need to move them to a new feature branch.

You can rebase your local _dev_ on _upstream/dev_ (to remove any merge commits), rename it, and recreate _dev_
```
Expand All @@ -130,7 +130,7 @@ git branch dev upstream/dev #create a new dev

## Code guidelines

See [Contributor Guidelines](http://akkadotnet.github.io/wiki/Contributor%20guidelines) on the wiki.
See our [Contributor Guidelines](http://getakka.net/docs/Contributor%20guidelines) for more information on following the project's conventions.

---
Props to [NancyFX](https://github.com/NancyFx/Nancy) from which we've "borrowed" some of this text.
32 changes: 29 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
[![Issue Stats](http://www.issuestats.com/github/akkadotnet/akka.net/badge/pr)](http://www.issuestats.com/github/akkadotnet/akka.net)
[![Issue Stats](http://www.issuestats.com/github/akkadotnet/akka.net/badge/issue)](http://www.issuestats.com/github/akkadotnet/akka.net)

***[Issues for Next Release (v1.1)](https://waffle.io/akkadotnet/akka.net?milestone=Akka.NET%20v1.1)***<br>
[![Critical Issues](https://badge.waffle.io/akkadotnet/akka.net.svg?label=help%20wanted&title=Issues Needing Help Now!)](http://waffle.io/akkadotnet/akka.net)
<br>
[![Stories Up For Grabs](https://badge.waffle.io/akkadotnet/akka.net.svg?label=up%20for%20grabs&title=General Issues Up For Grabs)](http://waffle.io/akkadotnet/akka.net)


**Akka.NET** is a community-driven port of the popular Java/Scala framework [Akka](http://akka.io) to .NET.

* Subscribe to the Akka.NET dev feed: https://twitter.com/AkkaDotNet (@AkkaDotNet)
Expand Down Expand Up @@ -35,9 +41,29 @@ And if you need F# support:
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).
### Contributing
#### Where Can I Contribute?
***[Issues for the Next Release (v1.1)](https://waffle.io/akkadotnet/akka.net?milestone=Akka.NET%20v1.1)***

[![Critical Issues](https://badge.waffle.io/akkadotnet/akka.net.svg?label=help%20wanted&title=Issues Needing Help Now!)](http://waffle.io/akkadotnet/akka.net)
<br>
[![Stories Up For Grabs](https://badge.waffle.io/akkadotnet/akka.net.svg?label=up%20for%20grabs&title=General Issues Up For Grabs)](http://waffle.io/akkadotnet/akka.net)

> *All contributions are welcome! Please consider the [issues categorized in the `Help!` column](http://waffle.io/akkadotnet/akka.net) first, as they are areas we could really use your help :)*
#### Contribution Guidelines
If you are interested in helping porting Akka to .NET please take a look at [Contributing to Akka.NET](http://getakka.net/docs/Contributing%20to%20Akka).

Also, please see [Building Akka.NET](http://getakka.net/docs/Building%20and%20Distributing%20Akka).
Our [docs](http://getakka.net/docs/) are always a work in progress—to contribute to docs, please see the [docs contribution guidelines here](http://getakka.net/docs/Documentation%20guidelines).


#### Builds
Please see [Building Akka.NET](http://getakka.net/docs/Building%20and%20Distributing%20Akka).

To access unstable nightly builds, please [see the instructions here](http://getakka.net/docs/akka-developers/nightly-builds).

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

<a href="https://www.jetbrains.com/teamcity/"><img src="http://i59.tinypic.com/2hmiirp.gif" alt="TeamCity" title="TeamCity"></a>

37 changes: 37 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
#### 1.0.4 August 07 2015 ####
**Maintenance release for Akka.NET v1.0.3**

**Akka.IO**
This release introduces some major new features to Akka.NET, including [Akka.IO - a new set of capabilities built directly into the Akka NuGet package that allow you to communicate with your actors directly via TCP and UDP sockets](http://getakka.net/docs/IO) from external (non-actor) systems.

If you want to see a really cool example of Akka.IO in action, look at [this sample that shows off how to use the Telnet commandline to interact directly with Akka.NET actors](https://github.com/akkadotnet/akka.net/blob/dev/src/examples/TcpEchoService.Server).

**Akka.Persistence.MongoDb** and **Akka.Persistence.Sqlite**
Two new flavors of Akka.Persistence support are now available. You can install them via the commandline!

```
PM> Install-Package Akka.Persistence.MongoDb -pre
```
and

```
PM> Install-Package Akka.Persistence.Sqlite -pre
```

**Fixes & Changes - Akka.NET Core**
* [F# API - problem with discriminated union serialization](https://github.com/akkadotnet/akka.net/issues/999)
* [Fix Null Sender issue](https://github.com/akkadotnet/akka.net/issues/1212)
* [Outdated FsPickler version in Akka.FSharp can lead to runtime errors when other FsPickler-dependent packages are installed](https://github.com/akkadotnet/akka.net/issues/1206)
* [Add default Ask timeout to HOCON configuration](https://github.com/akkadotnet/akka.net/issues/1163)
* [Remote watching is repeated](https://github.com/akkadotnet/akka.net/issues/1090)
* [RemoteDaemon bug, not removing children ](https://github.com/akkadotnet/akka.net/pull/1068)
* [HOCON include support](https://github.com/akkadotnet/akka.net/pull/1169)
* [Replace SystemNanoTime with MonotonicClock](https://github.com/akkadotnet/akka.net/pull/1174)

**Akka.DI.StructureMap**
We now have support for the [StructureMap dependency injection framework](http://docs.structuremap.net/) out of the box. You can install it here!

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

#### 1.0.3 June 12 2015 ####
**Bugfix release for Akka.NET v1.0.2.**

Expand Down
42 changes: 12 additions & 30 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,8 @@ Target "CopyOutput" <| fun _ ->
"contrib/dependencyinjection/Akka.DI.AutoFac"
"contrib/dependencyinjection/Akka.DI.CastleWindsor"
"contrib/dependencyinjection/Akka.DI.Ninject"
"contrib/dependencyinjection/Akka.DI.Unity"
"contrib/dependencyinjection/Akka.DI.TestKit"
"contrib/testkits/Akka.TestKit.Xunit"
"contrib/testkits/Akka.TestKit.NUnit"
"contrib/testkits/Akka.TestKit.Xunit2"
Expand Down Expand Up @@ -217,10 +219,7 @@ Target "RunTests" <| fun _ ->
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.PostgreSql.Tests.dll" --
"src/**/bin/Release/Akka.Persistence.Cassandra.Tests.dll"
"src/**/bin/Release/Akka.TestKit.NUnit.Tests.dll"

mkdir testOutput

Expand Down Expand Up @@ -266,30 +265,6 @@ Target "MultiNodeTests" <| fun _ ->
info.Arguments <- args) (System.TimeSpan.FromMinutes 60.0) (* This is a VERY long running task. *)
if result <> 0 then failwithf "MultiNodeTestRunner failed. %s %s" multiNodeTestPath args

Target "RunSqlServerTests" <| fun _ ->
let sqlServerTests = !! "src/**/bin/Release/Akka.Persistence.SqlServer.Tests.dll"
let xunitToolPath = findToolInSubPath "xunit.console.clr4.exe" "src/packages/xunit.runners*"
printfn "Using XUnit runner: %s" xunitToolPath
xUnit
(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 @@ -300,8 +275,10 @@ module Nuget =
match project with
| "Akka" -> []
| "Akka.Cluster" -> ["Akka.Remote", release.NugetVersion]
| "Akka.Persistence.TestKit" -> ["Akka.Persistence", preReleaseVersion; "Akka.TestKit.Xunit2", release.NugetVersion]
| persistence when (persistence.Contains("Sql") && not (persistence.Equals("Akka.Persistence.Sql.Common"))) -> ["Akka.Persistence.Sql.Common", preReleaseVersion]
| persistence when (persistence.StartsWith("Akka.Persistence.")) -> ["Akka.Persistence", preReleaseVersion]
| "Akka.DI.TestKit" -> ["Akka.DI.Core", release.NugetVersion; "Akka.TestKit.Xunit2", release.NugetVersion]
| 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 @@ -409,7 +386,7 @@ let publishNugetPackages _ =
info.WorkingDirectory <- (Path.GetDirectoryName (FullName packageFile))
info.Arguments <- args (packageFile, accessKey,url)) (System.TimeSpan.FromMinutes 1.0)
enableProcessTracing <- tracing
if result <> 0 then failwithf "Error during NuGet symbol push. %s %s" nugetExe (args (packageFile, accessKey,url))
if result <> 0 then failwithf "Error during NuGet symbol push. %s %s" nugetExe (args (packageFile, "key omitted",url))
with exn ->
if (trialsLeft > 0) then (publishPackage url accessKey (trialsLeft-1) packageFile)
else raise exn
Expand Down Expand Up @@ -560,7 +537,12 @@ Target "HelpDocs" <| fun _ ->
Target "All" DoNothing
"BuildRelease" ==> "All"
"RunTests" ==> "All"
"BuildRelease" ==> "MultiNodeTests" //Invovles a lot of BIN copying.
"MultiNodeTests" ==> "All"
"Nuget" ==> "All"

Target "AllTests" DoNothing //used for Mono builds, due to Mono 4.0 bug with FAKE / NuGet https://github.com/fsharp/fsharp/issues/427
"BuildRelease" ==> "AllTests"
"RunTests" ==> "AllTests"
"MultiNodeTests" ==> "AllTests"

RunTargetOrDefault "Help"
4 changes: 2 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ popd > /dev/null

mono $SCRIPT_PATH/src/.nuget/NuGet.exe update -self

mono $SCRIPT_PATH/src/.nuget/NuGet.exe install FAKE -OutputDirectory $SCRIPT_PATH/src/packages -ExcludeVersion -Version 3.4.1
mono $SCRIPT_PATH/src/.nuget/NuGet.exe install FAKE -OutputDirectory $SCRIPT_PATH/src/packages -ExcludeVersion -Version 3.28.8

mono $SCRIPT_PATH/src/.nuget/NuGet.exe install xunit.runners -OutputDirectory $SCRIPT_PATH/src/packages/FAKE -ExcludeVersion -Version 1.9.2
mono $SCRIPT_PATH/src/.nuget/NuGet.exe install xunit.runners -OutputDirectory $SCRIPT_PATH/src/packages/FAKE -ExcludeVersion -Version 2.0.0
mono $SCRIPT_PATH/src/.nuget/NuGet.exe install nunit.runners -OutputDirectory $SCRIPT_PATH/src/packages/FAKE -ExcludeVersion -Version 2.6.4

if ! [ -e $SCRIPT_PATH/src/packages/SourceLink.Fake/tools/SourceLink.fsx ] ; then
Expand Down
Loading

0 comments on commit 4819b9b

Please sign in to comment.