- Open
ReactiveUI_Net4Only.sln
in VS2010 / VS2012 - Run tests, build ReactiveUI.sln in VS2012 on Win8
- Submit PR
- Fork and Clone the source
- Create a new branch for your feature / bugfix
- Open the ReactiveUI_Net4Only.sln solution - this is the one you should use unless you're hacking on platform-specific code.
- Run all the tests, make sure they pass.
- Write some new tests that fail
- Make your change
- See those same tests pass! Hurrah!
- Build ReactiveUI.sln, see if you broke any other platforms (easy to do, sadly)
- Push that branch to GitHub (
git push -u origin my-cool-new-feature
) - Go to your fork on GitHub, you should see a button with your branch next to it labeled 'Pull Request'
- Type up some information about your change
This looks hard, but once you get your environment set up, it's really only 'Build in VS, build in Mono, run script'
- Put the source into DropBox or another way you can share the same folder between a Mac and a PC (Parallels Shared Folders works too)
- Edit
**/AssemblyInfo.cs
(i.e. every file named AssemblyInfo.cs) and bump the versions - Edit
NuGet/**/*.nuspec
(every nuspec file under the root NuGet folder) and do the same. Make sure to bump the dependent versions too! - Open ReactiveUI.sln and build it in Release mode under VS2012 on Windows 8 with the WP8 SDK installed (nothing earlier is supported)
- Open MonoDevelop, and build ReactiveUI_Mono.sln in Release mode
- Back on the PC, run
MakeRelease.ps1
- You'll end up with two new folders,
Release
andNuget-Release
, as well as the.nupkg
files in the root directory.
- The only 100% guaranteed .sln files to be maintained are ReactiveUI_Net4Only.sln and ReactiveUI.sln - the others may be missing projects
- Please follow my coding convention when submitting PRs -
if
statements have the brackets on the same line, non-public methods shouldBeCasedLikeThis, etc etc. I know I'm weird, Deal With It(tm).