Skip to content

Commit 7d0c9c1

Browse files
committed
added build system and NuGet package restore
1 parent a80719d commit 7d0c9c1

18 files changed

+846
-114
lines changed

.editorconfig

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
; This file is for unifying the coding style for different editors and IDEs.
2+
; More information at http://EditorConfig.org
3+
4+
root = true
5+
6+
[*]
7+
end_of_line = CRLF
8+
9+
[*.cs]
10+
indent_style = space
11+
indent_size = 4

.gitattributes

+21-58
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,26 @@
1-
###############################################################################
2-
# Set default behavior to automatically normalize line endings.
3-
###############################################################################
1+
# Auto detect text files and perform LF normalization
42
* text=auto
53

6-
###############################################################################
7-
# Set default behavior for command prompt diff.
8-
#
9-
# This is need for earlier builds of msysgit that does not have it on by
10-
# default for csharp files.
11-
# Note: This is only used by command line
12-
###############################################################################
13-
#*.cs diff=csharp
144

15-
###############################################################################
16-
# Set the merge driver for project and solution files
17-
#
18-
# Merging from the command prompt will add diff markers to the files if there
19-
# are conflicts (Merging from VS is not affected by the settings below, in VS
20-
# the diff markers are never inserted). Diff markers may cause the following
21-
# file extensions to fail to load in VS. An alternative would be to treat
22-
# these files as binary and thus will always conflict and require user
23-
# intervention with every merge. To do so, just uncomment the entries below
24-
###############################################################################
25-
#*.sln merge=binary
26-
#*.csproj merge=binary
27-
#*.vbproj merge=binary
28-
#*.vcxproj merge=binary
29-
#*.vcproj merge=binary
30-
#*.dbproj merge=binary
31-
#*.fsproj merge=binary
32-
#*.lsproj merge=binary
33-
#*.wixproj merge=binary
34-
#*.modelproj merge=binary
35-
#*.sqlproj merge=binary
36-
#*.wwaproj merge=binary
5+
# Custom for Visual Studio
6+
*.cs diff=csharp
7+
*.sln merge=union
8+
*.csproj merge=union
9+
*.vbproj merge=union
10+
*.fsproj merge=union
11+
*.dbproj merge=union
3712

38-
###############################################################################
39-
# behavior for image files
40-
#
41-
# image files are treated as binary by default.
42-
###############################################################################
43-
#*.jpg binary
44-
#*.png binary
45-
#*.gif binary
13+
# Standard to msysgit
14+
*.doc diff=astextplain
15+
*.DOC diff=astextplain
16+
*.docx diff=astextplain
17+
*.DOCX diff=astextplain
18+
*.dot diff=astextplain
19+
*.DOT diff=astextplain
20+
*.pdf diff=astextplain
21+
*.PDF diff=astextplain
22+
*.rtf diff=astextplain
23+
*.RTF diff=astextplain
4624

47-
###############################################################################
48-
# diff behavior for common document formats
49-
#
50-
# Convert binary document formats to text before diffing them. This feature
51-
# is only available from the command line. Turn it on by uncommenting the
52-
# entries below.
53-
###############################################################################
54-
#*.doc diff=astextplain
55-
#*.DOC diff=astextplain
56-
#*.docx diff=astextplain
57-
#*.DOCX diff=astextplain
58-
#*.dot diff=astextplain
59-
#*.DOT diff=astextplain
60-
#*.pdf diff=astextplain
61-
#*.PDF diff=astextplain
62-
#*.rtf diff=astextplain
63-
#*.RTF diff=astextplain
25+
# Needed for Mono build shell script
26+
*.sh -text eol=lf

.gitignore

+38-21
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,28 @@
1+
# Akka
2+
3+
# Fake directories
4+
src/.build/**
5+
6+
7+
8+
#GitExtensions
9+
us.stackdump
10+
11+
#KDiff3 and other git merge tools
12+
*.orig
13+
14+
#-------------------------------------------------------------------------------
15+
#Based on https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
16+
117
## Ignore Visual Studio temporary files, build results, and
218
## files generated by popular Visual Studio add-ons.
319

420
# User-specific files
521
*.suo
622
*.user
7-
*.userosscache
823
*.sln.docstates
924

10-
# User-specific files (MonoDevelop/Xamarin Studio)
25+
#MonoDevelop
1126
*.userprefs
1227

1328
# Build results
@@ -22,14 +37,14 @@ bld/
2237
[Bb]in/
2338
[Oo]bj/
2439

25-
# Visual Studo 2015 cache/options directory
26-
.vs/
40+
# Roslyn cache directories
41+
*.ide/
2742

2843
# MSTest test Results
2944
[Tt]est[Rr]esult*/
3045
[Bb]uild[Ll]og.*
3146

32-
# NUNIT
47+
#NUNIT
3348
*.VisualState.xml
3449
TestResult.xml
3550

@@ -129,19 +144,17 @@ publish/
129144
# Publish Web Output
130145
*.[Pp]ublish.xml
131146
*.azurePubxml
132-
# TODO: Comment the next line if you want to checkin your web deploy settings
133-
# but database connection strings (with potential passwords) will be unencrypted
147+
# TODO: Comment out the next line if you want to keep your passwords hidden
134148
*.pubxml
135-
*.publishproj
136149

137150
# NuGet Packages
138151
*.nupkg
139152
# The packages folder can be ignored because of Package Restore
140153
**/packages/*
141154
# except build/, which is used as an MSBuild target.
142155
!**/packages/build/
143-
# Uncomment if necessary however generally it will be regenerated when needed
144-
#!**/packages/repositories.config
156+
# If using the old MSBuild-Integrated Package Restore, uncomment this:
157+
!**/packages/repositories.config
145158

146159
# Windows Azure Build Output
147160
csx/
@@ -151,7 +164,8 @@ csx/
151164
AppPackages/
152165

153166
# Others
154-
*.[Cc]ache
167+
sql/
168+
*.Cache
155169
ClientBin/
156170
[Ss]tyle[Cc]op.*
157171
~$*
@@ -161,7 +175,6 @@ ClientBin/
161175
*.pfx
162176
*.publishsettings
163177
node_modules/
164-
bower_components/
165178

166179
# RIA/Silverlight projects
167180
Generated_Code/
@@ -178,19 +191,23 @@ UpgradeLog*.htm
178191
*.mdf
179192
*.ldf
180193

194+
# make exception for Akka.Persistence.SqlServer database file
195+
!AkkaPersistenceSqlServerSpecDb.mdf
196+
!AkkaPersistenceSqlServerSpecDb_log.ldf
197+
181198
# Business Intelligence projects
182199
*.rdl.data
183200
*.bim.layout
184201
*.bim_*.settings
185202

186203
# Microsoft Fakes
187204
FakesAssemblies/
188-
189-
# Node.js Tools for Visual Studio
190-
.ntvs_analysis.dat
191-
192-
# Visual Studio 6 build log
193-
*.plg
194-
195-
# Visual Studio 6 workspace options file
196-
*.opt
205+
/src/.Akka.boltdata/NCover/Executions/0.jf
206+
/src/.Akka.boltdata/NCover/Executions/ProjectId/0.jf
207+
/src/.Akka.boltdata/NCover/Executions/ProjectOrderIndex/0.jf
208+
/src/.Akka.boltdata/NCover/Projects/0.jf
209+
/src/.Akka.boltdata/NCover/Projects/Name/0.jf
210+
/src/.Akka.boltdata/Settings.json
211+
/src/.Akka.boltdata/TestResults.json
212+
resetdev.bat
213+
/src/packages/repositories.config

CONTRIBUTING.md

+136
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# Contributing to Akka.NET
2+
Akka.NET is a large project and contributions are more than welcome, so thank you for wanting to contribute to Akka.NET!
3+
4+
---
5+
6+
### Checklist before creating a Pull Request
7+
Submit only relevant commits. We don't mind many commits in a pull request, but they must be relevant as explained below.
8+
9+
- __Use a feature branch__ The pull request should be created from a feature branch, and not from _dev_. See below for why.
10+
- __No merge-commits__
11+
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_.
12+
- __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).
13+
- __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).
14+
- __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.
15+
- __Tests__ Add relevant tests and make sure all existing ones still passes. Tests can be run using the command
16+
- __No Warnings__ Make sure your code do not produce any build warnings.
17+
18+
After reviewing a Pull request, we might ask you to fix some commits. After you've done that you need to force push to update your branch in your local fork.
19+
20+
####Title and Description for the Pull Request####
21+
Give the PR a descriptive title and in the description field describe what you have done in general terms and why. This will help the reviewers greatly, and provide a history for the future.
22+
23+
Especially if you modify something existing, be very clear! Have you changed any algorithms, or did you just intend to reorder the code? Justify why the changes are needed.
24+
25+
26+
---
27+
28+
### Getting started
29+
Make sure you have a [GitHub](https://github.com/) account.
30+
31+
- 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.
32+
33+
- Fork by clicking _Fork_ on https://github.com/akkadotnet/akka.net
34+
- Clone your fork locally.
35+
```
36+
git clone https://github.com/YOUR-USERNAME/akka.net
37+
```
38+
- Add an upstream remote.
39+
```
40+
git remote add upstream https://github.com/akkadotnet/akka.net
41+
```
42+
You now have two remotes: _upstream_ points to https://github.com/akkadotnet/akka.net, and _origin_ points to your fork on GitHub.
43+
44+
- Make changes. See below.
45+
46+
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.
47+
48+
See also: [Contributing to Open Source on GitHub](https://guides.github.com/activities/contributing-to-open-source/)
49+
50+
New to Git? See https://help.github.com/articles/what-are-other-good-resources-for-learning-git-and-github
51+
52+
### Making changes
53+
__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.
54+
55+
- Pick an [issue](https://github.com/akkadotnet/akka.net/issues). If no issue exists (search first) create one.
56+
- Get any changes from _upstream_.
57+
```
58+
git checkout dev
59+
git fetch upstream
60+
git merge --ff-only upstream/dev
61+
git push origin dev #(optional) this makes sure dev in your own fork on GitHub is up to date
62+
```
63+
64+
See https://help.github.com/articles/fetching-a-remote for more info
65+
66+
- Create a new feature branch. It's important that you do your work on your own branch and that it's created off of _dev_. Tip: Give it a descriptive name and include the issue number, e.g. `implement-testkits-eventfilter-323` or `295-implement-tailchopping-router`, so that others can see what is being worked on.
67+
```
68+
git checkout -b my-new-branch-123
69+
```
70+
- Work on your feature. Commit.
71+
- Rebase often, see below.
72+
- Make sure you adhere to _Checklist before creating a Pull Request_ described above.
73+
- Push the branch to your fork on GitHub
74+
```
75+
git push origin my-new-branch-123
76+
```
77+
- Send a Pull Request, see https://help.github.com/articles/using-pull-requests to the _dev_ branch.
78+
79+
See also: [Understanding the GitHub Flow](https://guides.github.com/introduction/flow/) (we're using `dev` as our master branch)
80+
81+
### Handling updates from upstream
82+
83+
While you're working away in your branch it's quite possible that your upstream _dev_ may be updated. If this happens you should:
84+
85+
- [Stash](http://git-scm.com/book/en/Git-Tools-Stashing) any un-committed changes you need to
86+
```
87+
git stash
88+
```
89+
- Update your local _dev_ by fetching from _upstream_
90+
```
91+
git checkout dev
92+
git fetch upstream
93+
git merge --ff-only upstream/dev
94+
```
95+
- Rebase your feature branch on _dev_. See [Git Branching - Rebasing](http://git-scm.com/book/en/Git-Branching-Rebasing) for more info on rebasing
96+
```
97+
git checkout my-new-branch-123
98+
git rebase dev
99+
git push origin dev #(optional) this makes sure dev in your own fork on GitHub is up to date
100+
```
101+
This ensures that your history is "clean" i.e. you have one branch off from _dev_ followed by your changes in a straight line. Failing to do this ends up with several "messy" merges in your history, which we don't want. This is the reason why you should always work in a branch and you should never be working in, or sending pull requests from _dev_.
102+
103+
If you're working on a long running feature then you may want to do this quite often, rather than run the risk of potential merge issues further down the line.
104+
105+
### Making changes to a Pull request
106+
If you realize you've missed something after submitting a Pull request, just commit to your local branch and push the branch just like you did the first time. This commit will automatically be included in the Pull request.
107+
If we ask you to change already published commits using interactive rebase (like squashing or splitting commits or rewriting commit messages) you need to force push using `-f`:
108+
```
109+
git push -f origin my-new-branch-123
110+
```
111+
112+
### All my commits are on dev. How do I get them to a new branch? ###
113+
If all commits are on _dev_ you need to move them to a new feature branch.
114+
115+
You can rebase your local _dev_ on _upstream/dev_ (to remove any merge commits), rename it, and recreate _dev_
116+
```
117+
git checkout dev
118+
git rebase upstream/dev
119+
git branch -m my-new-branch-123
120+
git branch dev upstream/dev
121+
```
122+
Or you can create a new branch off of _dev_ and then cherry pick the commits
123+
```
124+
git checkout -b my-new-branch-123 upstream/dev
125+
git cherry-pick rev #rev is the revisions you want to pick
126+
git cherry-pick rev #repeat until you have picked all commits
127+
git branch -m dev old-dev #rename dev
128+
git branch dev upstream/dev #create a new dev
129+
```
130+
131+
## Code guidelines
132+
133+
See [Contributor Guidelines](http://akkadotnet.github.io/wiki/Contributor%20guidelines) on the wiki.
134+
135+
---
136+
Props to [NancyFX](https://github.com/NancyFx/Nancy) from which we've "borrowed" some of this text.

LICENSE LICENSE.md

-1
Original file line numberDiff line numberDiff line change
@@ -199,4 +199,3 @@
199199
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200200
See the License for the specific language governing permissions and
201201
limitations under the License.
202-

RELEASE_NOTES.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#### 1.0.4 July 08 2015 ####
2+
Initial release of Akka.Persistence.MongoDb

build.cmd

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
@echo off
2+
3+
pushd %~dp0
4+
5+
src\.nuget\NuGet.exe update -self
6+
7+
src\.nuget\NuGet.exe install FAKE -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages -ExcludeVersion -Version 3.28.8
8+
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
11+
12+
if not exist src\packages\SourceLink.Fake\tools\SourceLink.fsx (
13+
src\.nuget\nuget.exe install SourceLink.Fake -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages -ExcludeVersion
14+
)
15+
rem cls
16+
17+
set encoding=utf-8
18+
src\packages\FAKE\tools\FAKE.exe build.fsx %*
19+
20+
popd

0 commit comments

Comments
 (0)