diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..ac39438c14 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,80 @@ +# EditorConfig is awesome:http://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Don't use tabs for indentation. +[*] +indent_style = space +# (Please don't specify an indent_size here; that has too many unintended consequences.) + +# Code files +[*.{cs,csx,vb,vbx}] +indent_size = 4 +insert_final_newline = true +charset = utf-8-bom + +# Xml project files +[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] +indent_size = 2 + +# Xml config files +[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] +indent_size = 2 + +# JSON files +[*.json] +indent_size = 2 + +# Dotnet code style settings: +[*.{cs,vb}] +# Sort using and Import directives with System.* appearing first +dotnet_sort_system_directives_first = true +# Avoid "this." and "Me." if not necessary +dotnet_style_qualification_for_field = false:suggestion +dotnet_style_qualification_for_property = false:suggestion +dotnet_style_qualification_for_method = false:suggestion +dotnet_style_qualification_for_event = false:suggestion + +# Use language keywords instead of framework type names for type references +dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion +dotnet_style_predefined_type_for_member_access = true:suggestion + +# Suggest more modern language features when available +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion + +# CSharp code style settings: +[*.cs] +# Prefer "var" everywhere +csharp_style_var_for_built_in_types = true:suggestion +csharp_style_var_when_type_is_apparent = true:suggestion +csharp_style_var_elsewhere = true:suggestion + +# Prefer method-like constructs to have a block body +csharp_style_expression_bodied_methods = false:none +csharp_style_expression_bodied_constructors = false:none +csharp_style_expression_bodied_operators = false:none + +# Prefer property-like constructs to have an expression-body +csharp_style_expression_bodied_properties = true:none +csharp_style_expression_bodied_indexers = true:none +csharp_style_expression_bodied_accessors = true:none + +# Suggest more modern language features when available +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +csharp_style_inlined_variable_declaration = true:suggestion +csharp_style_throw_expression = true:suggestion +csharp_style_conditional_delegate_call = true:suggestion + +# Newline settings +csharp_new_line_before_open_brace = anonymous_types,accessors,object_collection_array_initalizers,methods,properties,types +csharp_new_line_before_else = false +csharp_new_line_before_catch = false +csharp_new_line_before_finally = false +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_members_in_anonymous_types = true diff --git a/.gitattributes b/.gitattributes index 412eeda78d..269bc192f0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,22 +1,45 @@ -# Auto detect text files and perform LF normalization +# Catch all for anything we forgot. Add rules if you get CRLF to LF warnings. * text=auto -# Custom for Visual Studio -*.cs diff=csharp -*.sln merge=union -*.csproj merge=union -*.vbproj merge=union -*.fsproj merge=union -*.dbproj merge=union +# Text files that should be normalized to LF in odb. +*.cs text eol=lf diff=csharp +*.xaml text +*.config text +*.c text +*.h text +*.cpp text +*.hpp text -# Standard to msysgit -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain +*.sln text +*.csproj text +*.vcxproj text + +*.md text +*.tt text +*.sh text +*.ps1 text +*.cmd text +*.bat text +*.markdown text +*.msbuild text + + +# Binary files that should not be normalized or diffed +*.png binary +*.jpg binary +*.gif binary +*.ico binary +*.rc binary + +*.pfx binary +*.snk binary +*.dll binary +*.exe binary +*.lib binary +*.exp binary +*.pdb binary +*.sdf binary +*.7z binary + +# Generated file should just use CRLF, it's fiiine +SolutionInfo.cs text eol=crlf diff=csharp diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..430006808f --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,45 @@ +# A CODEOWNERS file uses a pattern that follows the same rules used in gitignore files. +# The pattern is followed by one or more GitHub usernames or team names using the +# standard @username or @org/team-name format. You can also refer to a user by an +# email address that has been added to their GitHub account, for example user@example.com + +.github/* @reactiveui/maintainers + +* @reactiveui/core-team +version.json @reactiveui/maintainers + +build.* @reactiveui/devops-team +SignPackages.* @reactiveui/devops-team +NuGet.* @reactiveui/devops-team +.vsts-ci.yml @reactiveui/devops-team +script/* @reactiveui/devops-team + +samples/* @reactiveui/learning-team +snippets/* @reactiveui/learning-team +*.md @reactiveui/learning-team + +src/ReactiveUI.AndroidSupport/* @reactiveui/android-team +src/ReactiveUI/Platforms/android/* @reactiveui/android-team +src/ReactiveUI/Platforms/apple-common/* @reactiveui/ios-team @reactiveui/mac-team +src/ReactiveUI/Platforms/ios/* @reactiveui/ios-team +src/ReactiveUI/Platforms/mac/* @reactiveui/mac-team +src/ReactiveUI/Platforms/net461/* @reactiveui/wpf-team @reactiveui/winforms-team +src/ReactiveUI/Platforms/netcoreapp2.0/* @reactiveui/dotnetcore-team @reactiveui/webassembly-team +src/ReactiveUI/Platforms/uap10.0.16299/* @reactiveui/uwp-team +src/ReactiveUI/Platforms/tizen/* @reactiveui/tizen-team +src/ReactiveUI/Platforms/tvos/* @reactiveui/tvos-team +src/ReactiveUI/Platforms/windows-common/* @reactiveui/wpf-team @reactiveui/winforms-team @reactiveui/uwp-team +src/ReactiveUI/Platforms/xamarin-common/* @reactiveui/xamarin-forms-team + +src/ReactiveUI.Blend/* @reactiveui/wpf-team @reactiveui/winforms-team @reactiveui/uwp-team + +src/ReactiveUI.Events.WPF/* @reactiveui/wpf-team +src/ReactiveUI.Events.XamForms/* @reactiveui/xamarin-forms-team + +src/ReactiveUI.Fody*/* @reactiveui/fody-team + +src/ReactiveUI.Winforms/* @reactiveui/winforms-team + +src/ReactiveUI.Wpf/* @reactiveui/wpf-team + +src/ReactiveUI.XamForms/* @reactiveui/xamarin-forms-team diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..a991d2c245 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,29 @@ +_We will close your issue without comment if you delete or do not fill out the issue checklist and provide ALL the requested information. This repository's issues are reserved for feature requests and bug reports. For support questions, please ask on StackOverflow: https://stackoverflow.com/questions/tagged/reactiveui_ + +_Please delete this note before pressing the submit button_ + +**Do you want to request a *feature* or report a *bug*?** + + + +**What is the current behavior?** + + + +**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem** + + + +**What is the expected behavior?** + + + +**What is the motivation / use case for changing the behavior?** + + + +**Which versions of ReactiveUI, and which platform / OS are affected by this issue? Did this work in previous versions of ReativeUI? Please also test with the [latest stable](https://www.nuget.org/profiles/reactiveui) and [development snapshot](https://reactiveui.net/docs/getting-started/installation/nuget-packages/development-package-feed)** + + + +**Other information (e.g. stacktraces, related issues, suggestions how to fix)** diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..e094a75d05 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,22 @@ +**What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)** + + + +**What is the current behavior? (You can also link to an open issue here)** + + + +**What is the new behavior (if this is a feature change)?** + + + +**What might this PR break?** + + + +**Please check if the PR fulfills these requirements** +- [ ] Tests for the changes have been added (for bug fixes / features) +- [ ] Docs have been added / updated (for bug fixes / features) + +**Other information**: + diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000000..a4dce4c2b4 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,4 @@ +template: | + ## What's Changed + + $CHANGES diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 0000000000..efd9fc1fd5 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,27 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 60 + +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 + +# Issues with these labels will never be considered stale +exemptLabels: + - help wanted + - good first issue + - starters + - bug + - cla-signed + - cla-already-signed + - proposal + - contributor-experience + - developer-experience + +# Label to use when marking an issue as stale +staleLabel: waiting-for-response-or-contribution + +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want this issue progressed faster please start a conversation about raising a pull-request or [coordinating your pull-request with a maintainer](https://reactiveui.net/slack) to get it merged. Understand that [if folks like yourself don't contribute, ReactiveUI won't grow](https://reactiveui.net/blog/2018/05/reactiveui-succession). You may or may not know this but ReactiveUI is maintained by unpaid volunteers. The maintainers put up a big marketing front but at it's core is a couple of passionate folks. ReactiveUI cares about open-source sustainability as maintainers have a serious load on their shoulders. Consumers shouldn't be naive in thinking that the latest update to a nuget package just magically materializes from the ethers. These things happen because our peers make them happen. No-one wants a tragedy of the commons situation. I urge you to get involved. Thank-you. + +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false diff --git a/.gitignore b/.gitignore index 895a4e6882..c293217e4a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,27 +4,34 @@ # User-specific files *.suo *.user +*.userosscache *.sln.docstates +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ x64/ +x86/ build/ bld/ [Bb]in/ [Oo]bj/ -# Roslyn cache directories -*.ide/ +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* -#NUNIT +# NUNIT *.VisualState.xml TestResult.xml @@ -33,6 +40,12 @@ TestResult.xml [Rr]eleasePS/ dlldata.c +# DNX +*.lock.json +artifacts/ +*.nuget.props +*.nuget.targets + *_i.c *_p.c *_i.h @@ -57,6 +70,7 @@ dlldata.c *.pidb *.svclog *.scc +*.binlog # Chutzpah Test files _Chutzpah* @@ -65,6 +79,7 @@ _Chutzpah* ipch/ *.aps *.ncb +*.opendb *.opensdf *.sdf *.cachefile @@ -73,6 +88,7 @@ ipch/ *.psess *.vsp *.vspx +*.sap # TFS 2012 Local Workspace $tf/ @@ -85,7 +101,7 @@ _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user -# JustCode is a .NET coding addin-in +# JustCode is a .NET coding add-in .JustCode # TeamCity is a build add-in @@ -97,6 +113,7 @@ _TeamCity* # NCrunch _NCrunch_* .*crunch*.local.xml +nCrunchTemp_* # MightyMoose *.mm.* @@ -124,35 +141,40 @@ publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml -## TODO: Comment the next line if you want to checkin your -## web deploy settings but do note that will include unencrypted -## passwords +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted *.pubxml +*.publishproj -# NuGet Packages Directory -packages/* -## TODO: If the tool you use requires repositories.config -## uncomment the next line -!packages/repositories.config - -# Enable "build/" folder in the NuGet Packages folder since -# NuGet packages use it for MSBuild targets. -# This line needs to be after the ignore of the build folder -# (and the packages folder if the line above has been uncommented) -!packages/build/ +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config # Windows Azure Build Output csx/ *.build.csdef +# Windows Azure Emulator +ecf/ +rcf/ + # Windows Store app package directory AppPackages/ +BundleArtifacts/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ # Others -sql/ -*.Cache ClientBin/ -[Ss]tyle[Cc]op.* ~$* *~ *.dbmdl @@ -160,6 +182,7 @@ ClientBin/ *.pfx *.publishsettings node_modules/ +orleans.codegen.cs # RIA/Silverlight projects Generated_Code/ @@ -184,27 +207,44 @@ UpgradeLog*.htm # Microsoft Fakes FakesAssemblies/ -# RxUI build directories -Release -NuGet-Release +# GhostDoc plugin setting file +*.GhostDoc.xml -# Ensure all files in the NuGet directory are tracked. -!NuGet/** +# Node.js Tools for Visual Studio +.ntvs_analysis.dat -*.nupkg -*.userprefs +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions -version-bump.patch +# Paket dependency manager +.paket/paket.exe -ReactiveUI.Events/Events.cs -ReactiveUI.Events/Events_*.cs +# FAKE - F# Make +.fake/ -ReactiveUI.Events/EventBuilder.exe -ReactiveUI.Events/EventBuilder.exe.mdb -ReactiveUI.Events/Mono.* -ReactiveUI.Events/Nustache.* +# Tools +tools/ -ext/monodroid/18 +# ReactiveUI +artifacts/ +src/ReactiveUI.Events*/Events_*.cs +# macOS +.DS_Store +src/*.Tests/API/*.received.txt +.idea/ +# Fody Weavers (for tests) +src/Tools/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.hgeol b/.hgeol new file mode 100644 index 0000000000..42e4c0ce81 --- /dev/null +++ b/.hgeol @@ -0,0 +1,2 @@ +[repository] +native = LF diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe deleted file mode 100644 index c41a0d0deb..0000000000 Binary files a/.nuget/NuGet.exe and /dev/null differ diff --git a/.nuget/packages.config b/.nuget/packages.config deleted file mode 100644 index eb41749c0d..0000000000 --- a/.nuget/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.vsts-ci.yml b/.vsts-ci.yml new file mode 100644 index 0000000000..47fea20e75 --- /dev/null +++ b/.vsts-ci.yml @@ -0,0 +1,80 @@ +trigger: +- master +- develop +- rel/* + +queue: Hosted VS2017 + +steps: +- task: BatchScript@1 + inputs: + filename: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\Tools\\VsDevCmd.bat" + arguments: -no_logo + modifyEnvironment: true + displayName: Setup Environment Variables + +- task: NuGetToolInstaller@0 + displayName: Use NuGet 4.6.2 + inputs: + versionSpec: 4.6.2 + +- task: DotNetCoreCLI@2 + inputs: + command: build + projects: script/setversion.csproj + arguments: -c Release + displayName: Set Version + condition: eq(variables['system.pullrequest.isfork'], false) + +- powershell: | + nuget install SignClient -Version 0.9.1 -SolutionDir $(Build.SourcesDirectory) -Verbosity quiet -ExcludeVersion + .\build.cmd + displayName: Build + env: + SIGNCLIENT_SECRET: $(SignClientSecret) + SIGNCLIENT_USER: $(SignClientUser) + VSTS_ACCESS_TOKEN: $(System.AccessToken) + COVERALLS_TOKEN: $(COVERALLS_TOKEN) + +- task: CopyFiles@2 + inputs: + Contents: 'artifacts/*.nupkg' + TargetFolder: '$(build.artifactstagingdirectory)\packages' + flattenFolders: true + condition: eq(variables['system.pullrequest.isfork'], false) + +- task: PublishBuildArtifacts@1 + displayName: Publish Package Artifacts + inputs: + pathToPublish: '$(build.artifactstagingdirectory)\packages' + artifactType: container + artifactName: Packages + condition: eq(variables['system.pullrequest.isfork'], false) + +- task: CopyFiles@2 + inputs: + Contents: '**/bin/*' + TargetFolder: '$(build.artifactstagingdirectory)\binaries' + condition: eq(variables['system.pullrequest.isfork'], false) + +- task: PublishBuildArtifacts@1 + displayName: Publish Binaries + inputs: + pathToPublish: '$(build.artifactstagingdirectory)\binaries' + artifactType: container + artifactName: Binaries + condition: eq(variables['system.pullrequest.isfork'], false) + +- task: CopyFiles@2 + inputs: + Contents: 'src/ReactiveUI.**/Events_*.cs' + TargetFolder: '$(build.artifactstagingdirectory)\Events' + condition: eq(variables['system.pullrequest.isfork'], false) + +- task: PublishBuildArtifacts@1 + displayName: Publish Generated Events + inputs: + pathToPublish: '$(build.artifactstagingdirectory)\Events' + artifactType: container + artifactName: Events + condition: eq(variables['system.pullrequest.isfork'], false) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000000..5766643a25 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,3 @@ +# Contributor Code of Conduct + +If you’re being harassed, noticed someone else being harassed, or have any other concerns, please contact us immediately. Your reports will be taken seriously and will not be dismissed or argued with. All members, committers and volunteers in this community are required to act according to the Code of Conduct. These guidelines help steer our interactions and strive to keep ReactiveUI a positive, growing project, community and help us provide and ensure a safe environment for everyone. When referring to a group of people, we aim to use gender-neutral terms like "team", "folks", "everyone". (For details, we recommend this post).

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index db38240f8b..25628b3508 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,35 +1,161 @@ -## The quick version +# Contributing to ReactiveUI -1. Open `ReactiveUI.sln` in VS2012 / VS2013 -1. Run tests, build ReactiveUI.sln in VS2012 on Win8 -1. Submit PR +We'd love for you to contribute to our source code and to make reactiveui even better than it is +today! Here are the guidelines we'd like you to follow: + - [Code of Conduct](https://reactiveui.net/code-of-conduct) + - [Question or Problem?](#question) + - [Issues and Bugs](#issue) + - [Feature Requests](#feature) + - [Submission Guidelines](#submit) + - [Coding Rules](#rules) + - [Commit Message Guidelines](https://reactiveui.net/contribute/software-style-guide/commit-message-convention) -## How to start hacking on ReactiveUI (the more verbose version) +## Got a Question or Problem? -1. Fork and Clone the source -1. Create a new branch for your feature / bugfix -1. Open the ReactiveUI.sln solution - this is the one you should use unless you're hacking on platform-specific code. -1. Run all the tests, make sure they pass. -1. Write some new tests that fail -1. Make your change -1. See those same tests pass! Hurrah! -1. Push that branch to GitHub (`git push -u origin my-cool-new-feature`) -1. Go to your fork on GitHub, you should see a button with your branch next to it labeled 'Pull Request' -1. Type up some information about your change +If you have questions about how to use reactiveui, please direct these to [StackOverflow](https://stackoverflow.com/questions/tagged/reactiveui). The project maintainers hang out in this [Slack](https://github.com/reactiveui/reactiveui#slack) channel. -## To make a new NuGet release for private use +## Found an Issue? -*This looks hard, but once you get your environment set up, it's really only 'Build in VS, build in Mono, run script'* +If you find a bug in the source code or a mistake in the documentation, you can help us by +submitting an issue to our [GitHub Repository](https://github.com/reactiveui/reactiveui). Even better you can submit a Pull Request +with a fix. -1. 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) -1. Edit `/CommonAssemblyInfo.cs` and bump the version -1. Open ReactiveUI.sln and build it in Release mode under VS2012 on Windows 8 / Win8.1 with the WP8 SDK installed (nothing earlier is supported) -1. Open MonoDevelop, and build ReactiveUI_XSAll.sln in Release mode -1. Back on the PC, run `MakeRelease.ps1` and specify a NuGet SemVer, like `MakeRelease.ps1 -version "5.5.0-beta1"` -1. You'll end up with two new folders, `Release` and `Nuget-Release`, as well as the `.nupkg` files in the root directory. +**Please see the [Submission Guidelines](#submit) below.** -## Some quirks +## Want a Feature? -* The only 100% guaranteed .sln files to be maintained are ReactiveUI.sln and ReactiveUI_XSAll.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). +You can request a new feature by submitting an issue to our [GitHub Repository](https://github.com/reactiveui/reactiveui). If you +would like to implement a new feature then consider what kind of change it is: + +* **Major Changes** that you wish to contribute to the project should be discussed first in [Slack](https://github.com/reactiveui/reactiveui#slack) so that we can better coordinate our efforts, + prevent duplication of work, and help you to craft the change so that it is successfully accepted + into the project. +* **Small Changes** can be crafted and submitted to the [GitHub Repository](https://github.com/reactiveui/reactiveui) as a Pull + Request. + +## Submission Guidelines + +### Submitting an Issue + +If your issue appears to be a bug, and hasn't been reported, open a new issue. Help us to maximize +the effort we can spend fixing issues and adding new features, by not reporting duplicate issues. + +Providing the following information will increase the chances of your issue being dealt with +quickly: + +* **Overview of the Issue** - if an error is being thrown a stack trace helps +* **Motivation for or Use Case** - explain why this is a bug for you +* **reactiveui Version(s)** - is it a regression? +* **Operating System** - is this a problem with all browsers or only specific ones? +* **Reproduce the Error** - provide a example or an unambiguous set of steps. +* **Related Issues** - has a similar issue been reported before? +* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be + causing the problem (line of code or commit) + +**If you get help, help others. Good karma rulez!** + +### Submitting a Pull Request +Before you submit your pull request consider the following guidelines: + +* Search [GitHub](https://github.com/reactiveui/reactiveui/pulls) for an open or closed Pull Request + that relates to your submission. You don't want to duplicate effort. +* Make your changes in a new git branch: + + ```shell + git checkout -b my-fix-branch develop + ``` + +* Create your patch, **including appropriate test cases**. +* Follow our [Coding Rules](#rules). +* Run the test suite, as described below. +* Commit your changes using a descriptive commit message that follows our + [commit message conventions](#commit). + + ```shell + git commit -a + ``` + Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. + +* Build your changes locally to ensure all the tests pass: + + ```shell + build.cmd + ``` + +* Push your branch to GitHub: + + ```shell + git push origin my-fix-branch + ``` + +In GitHub, send a pull request to `reactiveui:develop`. + +If we suggest changes, then: + +* Make the required updates. +* Re-run the test suite to ensure tests are still passing. +* Commit your changes to your branch (e.g. `my-fix-branch`). +* Push the changes to your GitHub repository (this will update your Pull Request). + +If the PR gets too outdated we may ask you to rebase and force push to update the PR: + +```shell +git rebase master -i +git push origin my-fix-branch -f +``` + +_WARNING: Squashing or reverting commits and force-pushing thereafter may remove GitHub comments +on code that were previously made by you or others in your commits. Avoid any form of rebasing +unless necessary._ + +That's it! Thank you for your contribution! + +#### After your pull request is merged + +After your pull request is merged, you can safely delete your branch and pull the changes +from the main (upstream) repository: + +* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows: + + ```shell + git push origin --delete my-fix-branch + ``` + +* Check out the master branch: + + ```shell + git checkout master -f + ``` + +* Delete the local branch: + + ```shell + git branch -D my-fix-branch + ``` + +* Update your master with the latest upstream version: + + ```shell + git pull --ff upstream master + ``` +## Coding + +### Developer Environment +- Visual Studio 2017 (with latest patches/updates), with the following workloads/components + - Windows Universal Platform Development workload + - .NET desktop development workload + - Mobile development with .NET workload + - .NET Core cross-platform development + - Windows 10 SDK 10.0.16299 (individual component) +- PowerShell +- Android SDK Platform 26 (install through Visual Studio) + +Once all the above are set up, running `.\build.cmd` in the repository root should get everything up and running. + +### Coding Rules + +To ensure consistency throughout the source code, keep these rules in mind as you are working: + +* All features or bug fixes **must be tested** by one or more unit tests. +* All public API methods **must be documented** with XML documentation. diff --git a/COPYING b/COPYING deleted file mode 100644 index fd31438931..0000000000 --- a/COPYING +++ /dev/null @@ -1,50 +0,0 @@ -Microsoft Public License (Ms-PL) - -This license governs use of the accompanying software. If you use the software, -you accept this license. If you do not accept the license, do not use the -software. - -1. Definitions -The terms "reproduce," "reproduction," "derivative works," and "distribution" -have the same meaning here as under U.S. copyright law. A "contribution" is the -original software, or any additions or changes to the software. A "contributor" -is any person that distributes its contribution under this license. "Licensed -patents" are a contributor's patent claims that read directly on its -contribution. - -2. Grant of Rights - -(A) Copyright Grant- Subject to the terms of this license, including the license -conditions and limitations in section 3, each contributor grants you a -non-exclusive, worldwide, royalty-free copyright license to reproduce its -contribution, prepare derivative works of its contribution, and distribute its -contribution or any derivative works that you create. - -(B) Patent Grant- Subject -to the terms of this license, including the license conditions and limitations -in section 3, each contributor grants you a non-exclusive, worldwide, -royalty-free license under its licensed patents to make, have made, use, sell, -offer for sale, import, and/or otherwise dispose of its contribution in the -software or derivative works of the contribution in the software. - -3. Conditions and Limitations - -(A) No Trademark License- This license does not grant you rights to use any -contributors' name, logo, or trademarks. -(B) If you bring a patent claim against any contributor over patents that you -claim are infringed by the software, your patent license from such contributor -to the software ends automatically. -(C) If you distribute any portion of the software, you must retain all -copyright, patent, trademark, and attribution notices that are present in the -software. -(D) If you distribute any portion of the software in source code form, you may -do so only under this license by including a complete copy of this license with -your distribution. If you distribute any portion of the software in compiled or -object code form, you may only do so under a license that complies with this -license. -(E) The software is licensed "as-is." You bear the risk of using it. The -contributors give no express warranties, guarantees or conditions. You may have -additional consumer rights under your local laws which this license cannot -change. To the extent permitted under your local laws, the contributors exclude -the implied warranties of merchantability, fitness for a particular purpose and -non-infringement. diff --git a/CleanFolders.ps1 b/CleanFolders.ps1 deleted file mode 100644 index 5e561679fc..0000000000 --- a/CleanFolders.ps1 +++ /dev/null @@ -1,7 +0,0 @@ -$dirs = Get-ChildItem .\ -include bin,obj -Recurse - -foreach ($dir in $dirs) -{ - Write-Host "Removing $dir" - Remove-Item $dir.FullName -Force -Recurse -} \ No newline at end of file diff --git a/CommonAssemblyInfo.cs b/CommonAssemblyInfo.cs deleted file mode 100644 index 7756ce99b1..0000000000 --- a/CommonAssemblyInfo.cs +++ /dev/null @@ -1,4 +0,0 @@ -using System.Reflection; - -[assembly: AssemblyVersion("6.3.1")] -[assembly: AssemblyFileVersion("6.3.1")] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..984713a496 --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Local.testsettings b/Local.testsettings deleted file mode 100644 index 5d070df964..0000000000 --- a/Local.testsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - These are default test settings for a local test run. - - - - - - - \ No newline at end of file diff --git a/MakeRelease.ps1 b/MakeRelease.ps1 deleted file mode 100644 index a259432c3f..0000000000 --- a/MakeRelease.ps1 +++ /dev/null @@ -1,128 +0,0 @@ -Param([string]$version = $null) - -$Archs = {"Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10", "Portable-Net45+Win8+WP8+WPA81", "Net45", "WP8", - "WP81", "Win8", "Win81", "Mono", "Monoandroid", "Monotouch", "Monomac", "Portable-Win81+Wpa81", "WPA81", - "Xamarin.iOS10"} - -$Projects = { - "ReactiveUI", "ReactiveUI.Testing", "ReactiveUI.Blend", "ReactiveUI.Winforms", - "RxUIViewModelGenerator", "ReactiveUI.Events", "ReactiveUI.AndroidSupport", - "ReactiveUI.XamForms" -} - -$MSBuildLocation = "C:\Program Files (x86)\MSBuild\12.0\bin" - -$SlnFileExists = Test-Path ".\ReactiveUI_VSAll.sln" -if ($SlnFileExists -eq $False) { - echo "*** ERROR: Run this in the project root ***" - exit -1 -} - -& ".\.nuget\NuGet.exe" restore .\ReactiveUI.sln -& "$MSBuildLocation\MSBuild.exe" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU" /maxcpucount:1 .\ReactiveUI.sln - -### -### Build the Release directory -### - -if (Test-Path .\Release) { - rmdir -r -force .\Release -} - -foreach-object $Archs | %{mkdir -Path ".\Release\$_"} - -foreach-object $Archs | %{ - $currentArch = $_ - - foreach-object $Projects | %{cp -r -fo ".\$_\bin\Release\$currentArch\*" ".\Release\$currentArch"} - - # WinRT projects need to have the Themes folder in a special sub folder named as the project name - foreach-object $Projects | %{cp -r -fo ".\$_\bin\Release\$currentArch\Themes" ".\Release\$currentArch\$_\Themes"} - - # WinRT projects need this .xr.xml file in a special sub folder named as the project name - foreach-object $Projects | %{cp -r -fo ".\$_\bin\Release\$currentArch\$_.xr.xml" ".\Release\$currentArch\$_"} - - #ls -r | ?{$_.FullName.Contains("bin\Release\$currentArch") -and $_.Length} | %{echo cp $_.FullName ".\Release\$currentArch"} -} - -ls -r .\Release | ?{$_.FullName.Contains("Clousot")} | %{rm $_.FullName} - - -### -### Build NuGet Packages -### - -if (Test-Path .\NuGet-Release) { - rm -r -fo .\NuGet-Release -} - -# Update Nuspecs if we have a version -if($version) { - $nuspecs = ls -r .\NuGet\*.nuspec - - foreach($nuspec in $nuspecs) { - $xml = New-Object XML - $xml.Load($nuspec) - - # specify NS - $nsMgr = New-Object System.Xml.XmlNamespaceManager($xml.NameTable) - $nsMgr.AddNamespace("ns", "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd") - - # PowerShell makes editing XML docs so easy! - $xml.package.metadata.version = "$version" - - # get the rxui dependencies and update them - $deps = $xml.SelectNodes("//ns:dependency[contains(@id, 'reactiveui')]", $nsMgr) - foreach($dep in $deps) { - $dep.version = "[" + $version + "]" - } - - $xml.Save($nuspec) - } -} - -cp -r .\NuGet .\NuGet-Release - -$libDirs = ls -r .\NuGet-Release | ?{$_.Name -eq "lib"} -$srcDirs = ls -r .\NuGet-Release | ?{$_.Name -eq "src"} | %{ls $_.FullName} -$toolsDirs = ls -r .\NuGet-Release | ?{$_.Name -eq "tools"} -$nugetReleaseDir = Resolve-Path ".\NuGet-Release" - -# copy binaries -foreach ($dir in $libDirs) { - # only copy binaries which have a matching file in the destination folder - robocopy ".\Release" $dir.FullName /S /XL -} - -# copy tools -foreach ($dir in $toolsDirs) { - echo "foo" - echo $dir.FullName - $files = ls $dir.FullName - - foreach ($file in $files) { - echo "bar" - echo $file.FullName - $src = ".\Release\Net45\" + $file.Name - cp -fo "$src" $file.FullName - } -} - -# copy source -foreach ($dir in $srcDirs) { - $projName = $dir.Name - $projFolderName = $projName.Replace("-", ".") - - robocopy ".\$projFolderName\" "$($dir.FullName)" *.cs /S -} - -$stubs = ls -r -file .\NuGet-Release | ?{$_.Length -eq 0} | ?{!$_.FullName.Contains("src")} -if ($stubs) { - echo "*** BUILD FAILED ***" - echo "" - echo "*** There are still stubs in the NuGet output, did you fully build? ***" - #exit 1 -} - -$specFiles = ls -r .\NuGet-Release | ?{$_.Name.EndsWith(".nuspec")} -$specFiles | %{.\.nuget\NuGet.exe pack -symbols $_.FullName} diff --git a/Makefile b/Makefile deleted file mode 100644 index 3817072354..0000000000 --- a/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -MDTOOL ?= /Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool - -.PHONY: all clean - -all: ReactiveUI.dll - -ReactiveUI.dll: - /usr/bin/env mono ./.nuget/NuGet.exe restore ./ReactiveUI_XSAll.sln - /usr/bin/env mono ./.nuget/NuGet.exe restore ./ReactiveUI.sln - $(MDTOOL) build -c:Release ./ReactiveUI_XSAll.sln - -clean: - $(MDTOOL) build -t:Clean ./ReactiveUI_XSAll.sln diff --git a/Microsoft.Reactive.Testing/ColdObservable.cs b/Microsoft.Reactive.Testing/ColdObservable.cs deleted file mode 100644 index ce180519a8..0000000000 --- a/Microsoft.Reactive.Testing/ColdObservable.cs +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System.Collections.Generic; -using System.Reactive; -using System; -using System.Reactive.Disposables; - -namespace Microsoft.Reactive.Testing -{ - class ColdObservable : ITestableObservable - { - readonly TestScheduler scheduler; - readonly Recorded>[] messages; - readonly List subscriptions = new List(); - - public ColdObservable(TestScheduler scheduler, params Recorded>[] messages) - { - if (scheduler == null) - throw new ArgumentNullException("scheduler"); - if (messages == null) - throw new ArgumentNullException("messages"); - - this.scheduler = scheduler; - this.messages = messages; - } - - public virtual IDisposable Subscribe(IObserver observer) - { - if (observer == null) - throw new ArgumentNullException("observer"); - - subscriptions.Add(new Subscription(scheduler.Clock)); - var index = subscriptions.Count - 1; - - var d = new CompositeDisposable(); - - for (var i = 0; i < messages.Length; ++i) - { - var notification = messages[i].Value; - d.Add(scheduler.ScheduleRelative(default(object), messages[i].Time, (scheduler1, state1) => { notification.Accept(observer); return Disposable.Empty; })); - } - - return Disposable.Create(() => - { - subscriptions[index] = new Subscription(subscriptions[index].Subscribe, scheduler.Clock); - d.Dispose(); - }); - } - - public IList Subscriptions - { - get { return subscriptions; } - } - - public IList>> Messages - { - get { return messages; } - } - } -} diff --git a/Microsoft.Reactive.Testing/GlobalSuppressions.cs b/Microsoft.Reactive.Testing/GlobalSuppressions.cs deleted file mode 100644 index 7a6b00577f..0000000000 --- a/Microsoft.Reactive.Testing/GlobalSuppressions.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -// This file is used by Code Analysis to maintain SuppressMessage -// attributes that are applied to this project. -// Project-level suppressions either have no target or are given -// a specific target and scoped to a namespace, type, member, etc. -// -// To add a suppression to this file, right-click the message in the -// Error List, point to "Suppress Message(s)", and click -// "In Project Suppression File". -// You do not need to add suppressions to this file manually. - -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA2210:AssembliesShouldHaveValidStrongNames")] -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1053:StaticHolderTypesShouldNotHaveConstructors", Scope = "type", Target = "Microsoft.Reactive.Testing.ReactiveTest")] -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1014:MarkAssembliesWithClsCompliant")] -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Scope = "member", Target = "Microsoft.Reactive.Testing.ReactiveAssert.#Throws`1(System.Action,System.String)")] -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Scope = "member", Target = "Microsoft.Reactive.Testing.ReactiveAssert.#Throws`1(System.Action)")] -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1016:MarkAssembliesWithAssemblyVersion")] diff --git a/Microsoft.Reactive.Testing/HotObservable.cs b/Microsoft.Reactive.Testing/HotObservable.cs deleted file mode 100644 index d883f339f9..0000000000 --- a/Microsoft.Reactive.Testing/HotObservable.cs +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System.Collections.Generic; -using System.Reactive; -using System; -using System.Reactive.Disposables; - -namespace Microsoft.Reactive.Testing -{ - class HotObservable : ITestableObservable - { - readonly TestScheduler scheduler; - readonly List> observers = new List>(); - readonly List subscriptions = new List(); - readonly Recorded>[] messages; - - public HotObservable(TestScheduler scheduler, params Recorded>[] messages) - { - if (scheduler == null) - throw new ArgumentNullException("scheduler"); - if (messages == null) - throw new ArgumentNullException("messages"); - - this.scheduler = scheduler; - this.messages = messages; - - for (var i = 0; i < messages.Length; ++i) - { - var notification = messages[i].Value; - scheduler.ScheduleAbsolute(default(object), messages[i].Time, (scheduler1, state1) => - { - var _observers = observers.ToArray(); - for (var j = 0; j < _observers.Length; ++j) - { - notification.Accept(_observers[j]); - } - return Disposable.Empty; - }); - } - } - - public virtual IDisposable Subscribe(IObserver observer) - { - if (observer == null) - throw new ArgumentNullException("observer"); - - observers.Add(observer); - subscriptions.Add(new Subscription(scheduler.Clock)); - var index = subscriptions.Count - 1; - - return Disposable.Create(() => - { - observers.Remove(observer); - subscriptions[index] = new Subscription(subscriptions[index].Subscribe, scheduler.Clock); - }); - } - - public IList Subscriptions - { - get { return subscriptions; } - } - - public IList>> Messages - { - get { return messages; } - } - } -} diff --git a/Microsoft.Reactive.Testing/ITestObservable.cs b/Microsoft.Reactive.Testing/ITestObservable.cs deleted file mode 100644 index 0b6cdbaf69..0000000000 --- a/Microsoft.Reactive.Testing/ITestObservable.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Reactive; - -namespace Microsoft.Reactive.Testing -{ - /// - /// Observable sequence that records subscription lifetimes and timestamped notification messages sent to observers. - /// - /// The type of the elements in the sequence. - public interface ITestableObservable : IObservable - { - /// - /// Gets a list of all the subscriptions to the observable sequence, including their lifetimes. - /// - IList Subscriptions { get; } - - /// - /// Gets the recorded timestamped notification messages that were sent by the observable sequence to its observers. - /// - IList>> Messages { get; } - } -} diff --git a/Microsoft.Reactive.Testing/ITestObserver.cs b/Microsoft.Reactive.Testing/ITestObserver.cs deleted file mode 100644 index 1b485cb1d5..0000000000 --- a/Microsoft.Reactive.Testing/ITestObserver.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Reactive; - -namespace Microsoft.Reactive.Testing -{ - /// - /// Observer that records received notification messages and timestamps those. - /// - /// The type of the elements in the sequence. - public interface ITestableObserver : IObserver - { - /// - /// Gets recorded timestamped notification messages received by the observer. - /// - IList>> Messages { get; } - } -} diff --git a/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_Android.csproj b/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_Android.csproj deleted file mode 100644 index 2a9f3109da..0000000000 --- a/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_Android.csproj +++ /dev/null @@ -1,85 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {1131910A-9D6D-473F-9C69-3DCF6A1C81BC} - {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Microsoft.Reactive.Testing - Resources\Resource.designer.cs - Resource - Resources - Assets - Microsoft.Reactive.Testing - v4.0.3 - ..\ - true - - - true - full - false - bin\Debug\Monodroid - obj\Debug\Monodroid - DEBUG; - prompt - 4 - None - false - - - full - true - bin\Release\Monodroid - obj\Release\Monodroid - prompt - 4 - false - false - - - - - - - - ..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_Mac.csproj b/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_Mac.csproj deleted file mode 100644 index 7fc3ec4238..0000000000 --- a/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_Mac.csproj +++ /dev/null @@ -1,64 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {AA27F817-FAD2-4622-B68A-651A8AA9E076} - Library - Microsoft.Reactive.Testing - Microsoft.Reactive.Testing - v4.5 - - - true - full - false - bin\Debug\MonoMac - DEBUG; - prompt - 4 - false - - - full - true - bin\Release\MonoMac - prompt - 4 - false - - - - - ..\packages\Rx-Interfaces.2.2.5\lib\net45\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll - - - ..\packages\Rx-Linq.2.2.5\lib\net45\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll - - - - - - - - - - - - - - - - - - - - diff --git a/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_iOS.csproj b/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_iOS.csproj deleted file mode 100644 index f1e7c01ee2..0000000000 --- a/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_iOS.csproj +++ /dev/null @@ -1,77 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {74BA5B4E-257A-42A7-BDAB-1FB40A903909} - {6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Microsoft.Reactive.Testing - Resources - Microsoft.Reactive.Testing - ..\ - true - - - true - full - false - bin\Debug\Monotouch - obj\Debug\Monotouch - DEBUG - prompt - 4 - false - - - none - true - bin\Release\Monotouch - obj\Release\Monotouch - prompt - 4 - false - iPhone Developer - - - - - - - - ..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_iOS64.csproj b/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_iOS64.csproj deleted file mode 100644 index 2d266af1eb..0000000000 --- a/Microsoft.Reactive.Testing/Microsoft.Reactive.Testing_iOS64.csproj +++ /dev/null @@ -1,77 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {A4BA5B4E-257A-42A7-BDAB-1FB40A903909} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Microsoft.Reactive.Testing - Resources - Microsoft.Reactive.Testing - ..\ - true - - - true - full - false - bin\Debug\Xamarin.iOS10 - obj\Debug\Xamarin.iOS10 - DEBUG;UNIFIED - prompt - 4 - false - - - none - true - bin\Release\Xamarin.iOS10 - obj\Release\Xamarin.iOS10 - UNIFIED - prompt - 4 - false - iPhone Developer - - - - - - - - ..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Microsoft.Reactive.Testing/MockObserver.cs b/Microsoft.Reactive.Testing/MockObserver.cs deleted file mode 100644 index 917a9f6e26..0000000000 --- a/Microsoft.Reactive.Testing/MockObserver.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System.Collections.Generic; -using System.Reactive; -using System; - -namespace Microsoft.Reactive.Testing -{ - class MockObserver : ITestableObserver - { - TestScheduler scheduler; - List>> messages; - - public MockObserver(TestScheduler scheduler) - { - if (scheduler == null) - throw new ArgumentNullException("scheduler"); - - this.scheduler = scheduler; - this.messages = new List>>(); - } - - public void OnNext(T value) - { - messages.Add(new Recorded>(scheduler.Clock, Notification.CreateOnNext(value))); - } - - public void OnError(Exception exception) - { - messages.Add(new Recorded>(scheduler.Clock, Notification.CreateOnError(exception))); - } - - public void OnCompleted() - { - messages.Add(new Recorded>(scheduler.Clock, Notification.CreateOnCompleted())); - } - - public IList>> Messages - { - get { return messages; } - } - } -} diff --git a/Microsoft.Reactive.Testing/NamespaceDoc.cs b/Microsoft.Reactive.Testing/NamespaceDoc.cs deleted file mode 100644 index 3dea288a69..0000000000 --- a/Microsoft.Reactive.Testing/NamespaceDoc.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -namespace Microsoft.Reactive.Testing -{ - /// - /// The Microsoft.Reactive.Testing namespace contains interfaces and classes providing functionality to test applications and libraries built using Reactive Extensions. - /// - [System.Runtime.CompilerServices.CompilerGeneratedAttribute] - class NamespaceDoc - { - } -} diff --git a/Microsoft.Reactive.Testing/Properties/AssemblyInfo.cs b/Microsoft.Reactive.Testing/Properties/AssemblyInfo.cs deleted file mode 100644 index 826b2c0764..0000000000 --- a/Microsoft.Reactive.Testing/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Reflection; -using System.Resources; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("Microsoft.Reactive.Testing")] -[assembly: AssemblyDescription("Reactive Extensions Testing Library used to write unit tests for queries and custom operators over observable sequences.")] -#if DEBUG -[assembly: AssemblyConfiguration("Debug")] -#else -[assembly: AssemblyConfiguration("Retail")] -#endif -[assembly: AssemblyCompany("Microsoft Open Technologies, Inc.")] -[assembly: AssemblyProduct("Reactive Extensions")] -[assembly: AssemblyCopyright("\x00a9 Microsoft Open Technologies, Inc. All rights reserved.")] -[assembly: NeutralResourcesLanguage("en-US")] - -[assembly: ComVisible(false)] - -// -// Note: Assembly (file) version numbers get inserted by the build system on the fly. Inspect the Team Build workflows -// and the custom activity in Source/Build/Activities/AppendVersionInfo.cs for more information. -// diff --git a/Microsoft.Reactive.Testing/README.md b/Microsoft.Reactive.Testing/README.md deleted file mode 100644 index 77e749214a..0000000000 --- a/Microsoft.Reactive.Testing/README.md +++ /dev/null @@ -1,43 +0,0 @@ -About this source repository ----------------------------- - -This is a partial import of rx.codeplex.com for mono. - -Since rx.codeplex.com is massive and we only need partial source tree of it -(and due to some checkout failure on Linux [*1]), we set up another -repository for mono submodule. - -This tree is hence manually imported. Though it is somewhat easy to maintain: -we try to "cherry-pick" [*2] changes that are applied only to Rx.NET in the -rx.codeplex.com. -Mostly we would not need to copy sources from the original tree manually, -but sometimes we will do so when a checkout involves other directories -than Rx/NET. - -(Actually we had to sort of revamp the cherry-pick model when there was -folder structural change in the Microsoft repository. But the structure -is simpler than before and we will likely need less manual imports.) - -For every original release, we should import the updates and commit to -this master, then create a branch for each release and *then* apply our -local changes (which is minimum but required) to the branch. - -[*1] http://codeplex.codeplex.com/workitem/26133 -[*2] not really meaning git cherry-pick which won't apply, but rather - applying diffs to the tree. - -Source changes --------------- - -As of OSS release 1.0, there are only two steps are required to make it -possible to build with mono in the source repo: - -- apply mono.patch -- cd Rx/NET/Source/Tests.System.Reactive and run "csharp ../../../../replacer.sh" - -Actually ObservableExTest.cs cannot be compiled due to insufficient -type inference for lambdas, so I skipped it in Mono.Reactive.Testing_test.dll. - -Note that the actual class library build is done in mono/mcs/class and -there is a build script that generates required source list etc. - diff --git a/Microsoft.Reactive.Testing/ReactiveAssert.cs b/Microsoft.Reactive.Testing/ReactiveAssert.cs deleted file mode 100644 index 86cd62e894..0000000000 --- a/Microsoft.Reactive.Testing/ReactiveAssert.cs +++ /dev/null @@ -1,286 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Text; -using System.Reactive.Disposables; -using System.Reactive.Linq; - -#if NUNIT -using NUnit.Framework; -#elif WINDOWS8 -using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; -#else -using Microsoft.VisualStudio.TestTools.UnitTesting; -#endif - -namespace Microsoft.Reactive.Testing -{ - /// - /// Helper class to write asserts in unit tests for applications and libraries built using Reactive Extensions. - /// - public static class ReactiveAssert - { - static string Message(IEnumerable actual, IEnumerable expected) - { - var sb = new StringBuilder(); - sb.AppendLine(); - sb.Append("Expected: ["); - sb.Append(string.Join(", ", expected.Select(x => x.ToString()).ToArray())); - sb.Append("]"); - sb.AppendLine(); - sb.Append("Actual..: ["); - sb.Append(string.Join(", ", actual.Select(x => x.ToString()).ToArray())); - sb.Append("]"); - sb.AppendLine(); - return sb.ToString(); - } - - /// - /// Asserts that both enumerable sequences have equal length and equal elements. - /// - /// The type of the elements in the sequence. - /// Expected sequence. - /// Actual sequence to compare against the expected one. - /// or is null. - public static void AreElementsEqual(IEnumerable expected, IEnumerable actual) - { - if (expected == null) - throw new ArgumentNullException("expected"); - if (actual == null) - throw new ArgumentNullException("actual"); - - if (!expected.SequenceEqual(actual)) - Assert.Fail(Message(actual, expected)); - } - - /// - /// Asserts that both enumerable sequences have equal length and equal elements. - /// - /// The type of the elements in the sequence. - /// Expected sequence. - /// Actual sequence to compare against the expected one. - /// Error message for assert failure. - /// or is null. - public static void AreElementsEqual(IEnumerable expected, IEnumerable actual, string message) - { - if (expected == null) - throw new ArgumentNullException("expected"); - if (actual == null) - throw new ArgumentNullException("actual"); - - if (!expected.SequenceEqual(actual)) - Assert.Fail(message); - } - - /// - /// Asserts that both observable sequences have equal length and equal notifications. - /// - /// The type of the elements in the sequence. - /// Expected sequence. - /// Actual sequence to compare against the expected one. - /// or is null. - public static void AreElementsEqual(IObservable expected, IObservable actual) - { - if (expected == null) - throw new ArgumentNullException("expected"); - if (actual == null) - throw new ArgumentNullException("actual"); - - AreElementsEqual(expected.Materialize().ToEnumerable(), actual.Materialize().ToEnumerable()); - } - - /// - /// Asserts that both observable sequences have equal length and equal elements. - /// - /// The type of the elements in the sequence. - /// Expected sequence. - /// Actual sequence to compare against the expected one. - /// Error message for assert failure. - /// or is null. - public static void AreElementsEqual(IObservable expected, IObservable actual, string message) - { - if (expected == null) - throw new ArgumentNullException("expected"); - if (actual == null) - throw new ArgumentNullException("actual"); - - AreElementsEqual(expected.Materialize().ToEnumerable(), actual.Materialize().ToEnumerable(), message); - } - - /// - /// Asserts that the given action throws an exception of the type specified in the generic parameter, or a subtype thereof. - /// - /// Type of the exception to check for. - /// Action to run. - /// is null. - public static void Throws(Action action) where TException : Exception - { - if (action == null) - throw new ArgumentNullException("action"); - - var failed = false; - try - { - action(); - failed = true; - } - catch (TException) - { - } - catch (Exception ex) - { - Assert.Fail(string.Format(CultureInfo.CurrentCulture, "Expected {0} threw {1}.\r\n\r\nStack trace:\r\n{2}", typeof(TException).Name, ex.GetType().Name, ex.StackTrace)); - } - - if (failed) - Assert.Fail(string.Format(CultureInfo.CurrentCulture, "Expected {0}.", typeof(TException).Name)); - } - - /// - /// Asserts that the given action throws an exception of the type specified in the generic parameter, or a subtype thereof. - /// - /// Type of the exception to check for. - /// Action to run. - /// Error message for assert failure. - /// is null. - public static void Throws(Action action, string message) where TException : Exception - { - if (action == null) - throw new ArgumentNullException("action"); - - var failed = false; - try - { - action(); - failed = true; - } - catch (TException) - { - } - catch - { - Assert.Fail(message); - } - - if (failed) - Assert.Fail(message); - } - - /// - /// Asserts that the given action throws the specified exception. - /// - /// Type of the exception to check for. - /// Exception to assert being thrown. - /// Action to run. - /// is null. - public static void Throws(TException exception, Action action) where TException : Exception - { - if (action == null) - throw new ArgumentNullException("action"); - - var failed = false; - try - { - action(); - failed = true; - } - catch (TException ex) - { - Assert.AreSame(exception, ex); - } - catch (Exception ex) - { - Assert.Fail(string.Format(CultureInfo.CurrentCulture, "Expected {0} threw {1}.\r\n\r\nStack trace:\r\n{2}", typeof(TException).Name, ex.GetType().Name, ex.StackTrace)); - } - - if (failed) - Assert.Fail(string.Format(CultureInfo.CurrentCulture, "Expected {0}.", typeof(TException).Name)); - } - - /// - /// Asserts that the given action throws the specified exception. - /// - /// Type of the exception to check for. - /// Exception to assert being thrown. - /// Action to run. - /// Error message for assert failure. - /// is null. - public static void Throws(TException exception, Action action, string message) where TException : Exception - { - if (action == null) - throw new ArgumentNullException("action"); - - var failed = false; - try - { - action(); - failed = true; - } - catch (TException ex) - { - Assert.AreSame(exception, ex); - } - catch - { - Assert.Fail(message); - } - - if (failed) - Assert.Fail(message); - } - - /// - /// Asserts that both enumerable sequences have equal length and equal elements. - /// - /// The type of the elements in the sequence. - /// Actual sequence to compare against the expected one. - /// Expected sequence. - /// or is null. - public static void AssertEqual(this IEnumerable actual, IEnumerable expected) - { - if (actual == null) - throw new ArgumentNullException("actual"); - if (expected == null) - throw new ArgumentNullException("expected"); - - ReactiveAssert.AreElementsEqual(expected, actual); - } - - /// - /// Asserts the enumerable sequence has the expected elements. - /// - /// The type of the elements in the sequence. - /// Actual sequence to compare against the expected elements. - /// Expected elements. - /// or is null. - public static void AssertEqual(this IEnumerable actual, params T[] expected) - { - if (actual == null) - throw new ArgumentNullException("actual"); - if (expected == null) - throw new ArgumentNullException("expected"); - - ReactiveAssert.AreElementsEqual(expected, actual); - } - - /// - /// Asserts that both observable sequences have equal length and equal notifications. - /// - /// The type of the elements in the sequence. - /// Actual sequence to compare against the expected one. - /// Expected sequence. - /// or is null. - public static void AssertEqual(this IObservable actual, IObservable expected) - { - if (actual == null) - throw new ArgumentNullException("actual"); - if (expected == null) - throw new ArgumentNullException("expected"); - - ReactiveAssert.AreElementsEqual(expected, actual); - } - } -} diff --git a/Microsoft.Reactive.Testing/ReactiveTest.cs b/Microsoft.Reactive.Testing/ReactiveTest.cs deleted file mode 100644 index 37ff279696..0000000000 --- a/Microsoft.Reactive.Testing/ReactiveTest.cs +++ /dev/null @@ -1,267 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System; -using System.Reactive; - -namespace Microsoft.Reactive.Testing -{ - /// - /// Base class to write unit tests for applications and libraries built using Reactive Extensions. - /// - public class ReactiveTest - { - /// - /// Default virtual time used for creation of observable sequences in -based unit tests. - /// - public const long Created = 100; - - /// - /// Default virtual time used to subscribe to observable sequences in -based unit tests. - /// - public const long Subscribed = 200; - - /// - /// Default virtual time used to dispose subscriptions in -based unit tests. - /// - public const long Disposed = 1000; - - /// - /// Factory method for an OnNext notification record at a given time with a given value. - /// - /// The element type for the resulting notification object. - /// Recorded virtual time the OnNext notification occurs. - /// Recorded value stored in the OnNext notification. - /// Recorded OnNext notification. - public static Recorded> OnNext(long ticks, T value) - { - return new Recorded>(ticks, Notification.CreateOnNext(value)); - } - - /// - /// Factory method for writing an assert that checks for an OnNext notification record at a given time, using the specified predicate to check the value. - /// - /// The element type for the resulting notification object. - /// Recorded virtual time the OnNext notification occurs. - /// Predicate function to check the OnNext notification value against an expected value. - /// Recorded OnNext notification with a predicate to assert a given value. - /// is null. - public static Recorded> OnNext(long ticks, Func predicate) - { - if (predicate == null) - throw new ArgumentNullException("predicate"); - - return new Recorded>(ticks, new OnNextPredicate(predicate)); - } - - /// - /// Factory method for an OnCompleted notification record at a given time. - /// - /// The element type for the resulting notification object. - /// Recorded virtual time the OnCompleted notification occurs. - /// Recorded OnCompleted notification. - public static Recorded> OnCompleted(long ticks) - { - return new Recorded>(ticks, Notification.CreateOnCompleted()); - } - - /// - /// Factory method for an OnCompleted notification record at a given time. - /// - /// The element type for the resulting notification object. - /// An unused instance of type T, to force the compiler to infer that T as part of the method's return value. - /// Recorded virtual time the OnCompleted notification occurs. - /// Recorded OnCompleted notification. - /// This overload is used for anonymous types - by passing in an instance of the type, the compiler can infer the - /// anonymous type without you having to try naming the type. - public static Recorded> OnCompleted(T dummy, long ticks) - { - return new Recorded>(ticks, Notification.CreateOnCompleted()); - } - - /// - /// Factory method for an OnError notification record at a given time with a given error. - /// - /// The element type for the resulting notification object. - /// Recorded virtual time the OnError notification occurs. - /// Recorded exception stored in the OnError notification. - /// Recorded OnError notification. - /// is null. - public static Recorded> OnError(long ticks, Exception exception) - { - if (exception == null) - throw new ArgumentNullException("exception"); - - return new Recorded>(ticks, Notification.CreateOnError(exception)); - } - - /// - /// Factory method for writing an assert that checks for an OnError notification record at a given time, using the specified predicate to check the exception. - /// - /// The element type for the resulting notification object. - /// Recorded virtual time the OnError notification occurs. - /// Predicate function to check the OnError notification value against an expected exception. - /// Recorded OnError notification with a predicate to assert a given exception. - /// is null. - public static Recorded> OnError(long ticks, Func predicate) - { - if (predicate == null) - throw new ArgumentNullException("predicate"); - - return new Recorded>(ticks, new OnErrorPredicate(predicate)); - } - - /// - /// Factory method for an OnError notification record at a given time with a given error. - /// - /// The element type for the resulting notification object. - /// An unused instance of type T, to force the compiler to infer that T as part of the method's return value. - /// Recorded virtual time the OnError notification occurs. - /// Recorded exception stored in the OnError notification. - /// Recorded OnError notification. - /// is null. - /// This overload is used for anonymous types - by passing in an instance of the type, the compiler can infer the - /// anonymous type without you having to try naming the type. - public static Recorded> OnError(T dummy, long ticks, Exception exception) - { - if (exception == null) - throw new ArgumentNullException("exception"); - - return new Recorded>(ticks, Notification.CreateOnError(exception)); - } - - /// - /// Factory method for writing an assert that checks for an OnError notification record at a given time, using the specified predicate to check the exception. - /// - /// The element type for the resulting notification object. - /// An unused instance of type T, to force the compiler to infer that T as part of the method's return value. - /// Recorded virtual time the OnError notification occurs. - /// Predicate function to check the OnError notification value against an expected exception. - /// Recorded OnError notification with a predicate to assert a given exception. - /// is null. - /// This overload is used for anonymous types - by passing in an instance of the type, the compiler can infer the - /// anonymous type without you having to try naming the type. - public static Recorded> OnError(T dummy, long ticks, Func predicate) - { - if (predicate == null) - throw new ArgumentNullException("predicate"); - - return new Recorded>(ticks, new OnErrorPredicate(predicate)); - } - - /// - /// Factory method for a subscription record based on a given subscription and disposal time. - /// - /// Virtual time indicating when the subscription was created. - /// Virtual time indicating when the subscription was disposed. - /// Subscription object. - public static Subscription Subscribe(long start, long end) - { - return new Subscription(start, end); - } - - /// - /// Factory method for a subscription record based on a given subscription time. - /// - /// Virtual time indicating when the subscription was created. - /// Subscription object. - public static Subscription Subscribe(long start) - { - return new Subscription(start); - } - - #region Predicate-based notification assert helper classes - - class OnNextPredicate : PredicateNotification - { - private readonly Func _predicate; - - public OnNextPredicate(Func predicate) - { - _predicate = predicate; - } - - public override bool Equals(Notification other) - { - if (Object.ReferenceEquals(this, other)) - return true; - if (Object.ReferenceEquals(other, null)) - return false; - if (other.Kind != NotificationKind.OnNext) - return false; - - return _predicate(other.Value); - } - } - - class OnErrorPredicate : PredicateNotification - { - private readonly Func _predicate; - - public OnErrorPredicate(Func predicate) - { - _predicate = predicate; - } - - public override bool Equals(Notification other) - { - if (Object.ReferenceEquals(this, other)) - return true; - if (Object.ReferenceEquals(other, null)) - return false; - if (other.Kind != NotificationKind.OnError) - return false; - - return _predicate(other.Exception); - } - } - - abstract class PredicateNotification : Notification - { - #region Non-implemented members (by design) - - public override T Value - { - get { throw new NotSupportedException(); } - } - - public override bool HasValue - { - get { throw new NotSupportedException(); } - } - - public override Exception Exception - { - get { throw new NotSupportedException(); } - } - - public override NotificationKind Kind - { - get { throw new NotSupportedException(); } - } - - public override void Accept(IObserver observer) - { - throw new NotSupportedException(); - } - - public override TResult Accept(IObserver observer) - { - throw new NotSupportedException(); - } - - public override void Accept(Action onNext, Action onError, Action onCompleted) - { - throw new NotSupportedException(); - } - - public override TResult Accept(Func onNext, Func onError, Func onCompleted) - { - throw new NotSupportedException(); - } - - #endregion - } - - #endregion - } -} diff --git a/Microsoft.Reactive.Testing/Recorded.cs b/Microsoft.Reactive.Testing/Recorded.cs deleted file mode 100644 index d5872991c1..0000000000 --- a/Microsoft.Reactive.Testing/Recorded.cs +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Globalization; - -namespace Microsoft.Reactive.Testing -{ - /// - /// Record of a value including the virtual time it was produced on. - /// - /// Type of the value. -#if !NO_DEBUGGER_ATTRIBUTES - [DebuggerDisplay("{Value}@{Time}")] -#endif -#if !NO_SERIALIZABLE - [Serializable] -#endif - public struct Recorded : IEquatable> - { - private readonly long _time; - private readonly T _value; - - /// - /// Gets the virtual time the value was produced on. - /// - public long Time { get { return _time; } } - - /// - /// Gets the recorded value. - /// - public T Value { get { return _value; } } - - /// - /// Creates a new object recording the production of the specified value at the given virtual time. - /// - /// Virtual time the value was produced on. - /// Value that was produced. - public Recorded(long time, T value) - { - _time = time; - _value = value; - } - - /// - /// Checks whether the given recorded object is equal to the current instance. - /// - /// Recorded object to check for equality. - /// true if both objects are equal; false otherwise. - public bool Equals(Recorded other) - { - return Time == other.Time && EqualityComparer.Default.Equals(Value, other.Value); - } - - /// - /// Determines whether the two specified Recorded<T> values have the same Time and Value. - /// - /// The first Recorded<T> value to compare. - /// The second Recorded<T> value to compare. - /// true if the first Recorded<T> value has the same Time and Value as the second Recorded<T> value; otherwise, false. - public static bool operator ==(Recorded left, Recorded right) - { - return left.Equals(right); - } - - /// - /// Determines whether the two specified Recorded<T> values don't have the same Time and Value. - /// - /// The first Recorded<T> value to compare. - /// The second Recorded<T> value to compare. - /// true if the first Recorded<T> value has a different Time or Value as the second Recorded<T> value; otherwise, false. - public static bool operator !=(Recorded left, Recorded right) - { - return !left.Equals(right); - } - - /// - /// Determines whether the specified System.Object is equal to the current Recorded<T> value. - /// - /// The System.Object to compare with the current Recorded<T> value. - /// true if the specified System.Object is equal to the current Recorded<T> value; otherwise, false. - public override bool Equals(object obj) - { - if (obj is Recorded) - return Equals((Recorded)obj); - return false; - } - - /// - /// Returns the hash code for the current Recorded<T> value. - /// - /// A hash code for the current Recorded<T> value. - public override int GetHashCode() - { - return Time.GetHashCode() + EqualityComparer.Default.GetHashCode(Value); - } - - /// - /// Returns a string representation of the current Recorded<T> value. - /// - /// String representation of the current Recorded<T> value. - public override string ToString() - { - return Value.ToString() + "@" + Time.ToString(CultureInfo.CurrentCulture); - } - } -} diff --git a/Microsoft.Reactive.Testing/Resources/Resource.designer.cs b/Microsoft.Reactive.Testing/Resources/Resource.designer.cs deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Microsoft.Reactive.Testing/Subscription.cs b/Microsoft.Reactive.Testing/Subscription.cs deleted file mode 100644 index 2f9b7a5925..0000000000 --- a/Microsoft.Reactive.Testing/Subscription.cs +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System; -using System.Diagnostics; -using System.Globalization; - -namespace Microsoft.Reactive.Testing -{ - /// - /// Records information about subscriptions to and unsubscriptions from observable sequences. - /// -#if !NO_DEBUGGER_ATTRIBUTES - [DebuggerDisplay("({Subscribe}, {Unsubscribe})")] -#endif -#if !NO_SERIALIZABLE - [Serializable] -#endif - public struct Subscription : IEquatable - { - /// - /// Infinite virtual time value, used to indicate an unsubscription never took place. - /// - public const long Infinite = long.MaxValue; - - private long _subscribe; - private long _unsubscribe; - - /// - /// Gets the subscription virtual time. - /// - public long Subscribe { get { return _subscribe; } } - - /// - /// Gets the unsubscription virtual time. - /// - public long Unsubscribe { get { return _unsubscribe; } } - - /// - /// Creates a new subscription object with the given virtual subscription time. - /// - /// Virtual time at which the subscription occurred.- - public Subscription(long subscribe) - { - _subscribe = subscribe; - _unsubscribe = Infinite; - } - - /// - /// Creates a new subscription object with the given virtual subscription and unsubscription time. - /// - /// Virtual time at which the subscription occurred. - /// Virtual time at which the unsubscription occurred. - public Subscription(long subscribe, long unsubscribe) - { - _subscribe = subscribe; - _unsubscribe = unsubscribe; - } - - /// - /// Checks whether the given subscription is equal to the current instance. - /// - /// Subscription object to check for equality. - /// true if both objects are equal; false otherwise. - public bool Equals(Subscription other) - { - return Subscribe == other.Subscribe && Unsubscribe == other.Unsubscribe; - } - - /// - /// Determines whether the two specified Subscription values have the same Subscribe and Unsubscribe. - /// - /// The first Subscription value to compare. - /// The second Subscription value to compare. - /// true if the first Subscription value has the same Subscribe and Unsubscribe as the second Subscription value; otherwise, false. - public static bool operator==(Subscription left, Subscription right) - { - return left.Equals(right); - } - - /// - /// Determines whether the two specified Subscription values don't have the same Subscribe and Unsubscribe. - /// - /// The first Subscription value to compare. - /// The second Subscription value to compare. - /// true if the first Subscription value has a different Subscribe or Unsubscribe as the second Subscription value; otherwise, false. - public static bool operator !=(Subscription left, Subscription right) - { - return !left.Equals(right); - } - - /// - /// Determines whether the specified System.Object is equal to the current Subscription value. - /// - /// The System.Object to compare with the current Subscription value. - /// true if the specified System.Object is equal to the current Subscription value; otherwise, false. - public override bool Equals(object obj) - { - if (obj is Subscription) - return Equals((Subscription)obj); - return false; - } - - /// - /// Returns the hash code for the current Subscription value. - /// - /// A hash code for the current Subscription value. - public override int GetHashCode() - { - return Subscribe.GetHashCode() ^ Unsubscribe.GetHashCode(); - } - - /// - /// Returns a string representation of the current Subscription value. - /// - /// String representation of the current Subscription value. - public override string ToString() - { - if (Unsubscribe == Infinite) - return string.Format(CultureInfo.CurrentCulture, "({0}, Infinite)", Subscribe); - else - return string.Format(CultureInfo.CurrentCulture, "({0}, {1})", Subscribe, Unsubscribe); - } - } -} diff --git a/Microsoft.Reactive.Testing/TestScheduler.cs b/Microsoft.Reactive.Testing/TestScheduler.cs deleted file mode 100644 index cb20111aa5..0000000000 --- a/Microsoft.Reactive.Testing/TestScheduler.cs +++ /dev/null @@ -1,163 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -using System; -using System.Reactive; -using System.Reactive.Concurrency; -using System.Reactive.Disposables; - -namespace Microsoft.Reactive.Testing -{ - /// - /// Virtual time scheduler used for testing applications and libraries built using Reactive Extensions. - /// - public class TestScheduler : VirtualTimeScheduler - { - /// - /// Schedules an action to be executed at the specified virtual time. - /// - /// The type of the state passed to the scheduled action. - /// State passed to the action to be executed. - /// Action to be executed. - /// Absolute virtual time at which to execute the action. - /// Disposable object used to cancel the scheduled action (best effort). - /// is null. - public override IDisposable ScheduleAbsolute(TState state, long dueTime, Func action) - { - if (dueTime <= Clock) - dueTime = Clock + 1; - - return base.ScheduleAbsolute(state, dueTime, action); - } - - /// - /// Adds a relative virtual time to an absolute virtual time value. - /// - /// Absolute virtual time value. - /// Relative virtual time value to add. - /// Resulting absolute virtual time sum value. - protected override long Add(long absolute, long relative) - { - return absolute + relative; - } - - /// - /// Converts the absolute virtual time value to a DateTimeOffset value. - /// - /// Absolute virtual time value to convert. - /// Corresponding DateTimeOffset value. - protected override DateTimeOffset ToDateTimeOffset(long absolute) - { - return new DateTimeOffset(absolute, TimeSpan.Zero); - } - - /// - /// Converts the TimeSpan value to a relative virtual time value. - /// - /// TimeSpan value to convert. - /// Corresponding relative virtual time value. - protected override long ToRelative(TimeSpan timeSpan) - { - return timeSpan.Ticks; - } - - /// - /// Starts the test scheduler and uses the specified virtual times to invoke the factory function, subscribe to the resulting sequence, and dispose the subscription. - /// - /// The element type of the observable sequence being tested. - /// Factory method to create an observable sequence. - /// Virtual time at which to invoke the factory to create an observable sequence. - /// Virtual time at which to subscribe to the created observable sequence. - /// Virtual time at which to dispose the subscription. - /// Observer with timestamped recordings of notification messages that were received during the virtual time window when the subscription to the source sequence was active. - /// is null. - public ITestableObserver Start(Func> create, long created, long subscribed, long disposed) - { - if (create == null) - throw new ArgumentNullException("create"); - - var source = default(IObservable); - var subscription = default(IDisposable); - var observer = CreateObserver(); - - ScheduleAbsolute(default(object), created, (scheduler, state) => { source = create(); return Disposable.Empty; }); - ScheduleAbsolute(default(object), subscribed, (scheduler, state) => { subscription = source.Subscribe(observer); return Disposable.Empty; }); - ScheduleAbsolute(default(object), disposed, (scheduler, state) => { subscription.Dispose(); return Disposable.Empty; }); - - Start(); - - return observer; - } - - /// - /// Starts the test scheduler and uses the specified virtual time to dispose the subscription to the sequence obtained through the factory function. - /// Default virtual times are used for factory invocation and sequence subscription. - /// - /// The element type of the observable sequence being tested. - /// Factory method to create an observable sequence. - /// Virtual time at which to dispose the subscription. - /// Observer with timestamped recordings of notification messages that were received during the virtual time window when the subscription to the source sequence was active. - /// is null. - public ITestableObserver Start(Func> create, long disposed) - { - if (create == null) - throw new ArgumentNullException("create"); - - return Start(create, ReactiveTest.Created, ReactiveTest.Subscribed, disposed); - } - - /// - /// Starts the test scheduler and uses default virtual times to invoke the factory function, to subscribe to the resulting sequence, and to dispose the subscription. - /// - /// The element type of the observable sequence being tested. - /// Factory method to create an observable sequence. - /// Observer with timestamped recordings of notification messages that were received during the virtual time window when the subscription to the source sequence was active. - /// is null. - public ITestableObserver Start(Func> create) - { - if (create == null) - throw new ArgumentNullException("create"); - - return Start(create, ReactiveTest.Created, ReactiveTest.Subscribed, ReactiveTest.Disposed); - } - - /// - /// Creates a hot observable using the specified timestamped notification messages. - /// - /// The element type of the observable sequence being created. - /// Notifications to surface through the created sequence at their specified absolute virtual times. - /// Hot observable sequence that can be used to assert the timing of subscriptions and notifications. - /// is null. - public ITestableObservable CreateHotObservable(params Recorded>[] messages) - { - if (messages == null) - throw new ArgumentNullException("messages"); - - return new HotObservable(this, messages); - } - - /// - /// Creates a cold observable using the specified timestamped notification messages. - /// - /// The element type of the observable sequence being created. - /// Notifications to surface through the created sequence at their specified virtual time offsets from the sequence subscription time. - /// Cold observable sequence that can be used to assert the timing of subscriptions and notifications. - /// is null. - public ITestableObservable CreateColdObservable(params Recorded>[] messages) - { - if (messages == null) - throw new ArgumentNullException("messages"); - - return new ColdObservable(this, messages); - } - - /// - /// Creates an observer that records received notification messages and timestamps those. - /// - /// The element type of the observer being created. - /// Observer that can be used to assert the timing of received notifications. - public ITestableObserver CreateObserver() - { - return new MockObserver(this); - } - } -} diff --git a/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_Android.config b/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_Android.config deleted file mode 100644 index 0619f8cd4d..0000000000 --- a/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_Android.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_Mac.config b/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_Mac.config deleted file mode 100644 index 571e4fe023..0000000000 --- a/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_Mac.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_iOS.config b/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_iOS.config deleted file mode 100644 index ea7f709052..0000000000 --- a/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_iOS.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_iOS64.config b/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_iOS64.config deleted file mode 100644 index 66060d0132..0000000000 --- a/Microsoft.Reactive.Testing/packages.Microsoft.Reactive.Testing_iOS64.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/NuGet.Config b/NuGet.Config new file mode 100644 index 0000000000..f4fc3feb34 --- /dev/null +++ b/NuGet.Config @@ -0,0 +1,6 @@ + + + + + + diff --git a/NuGet/ReactiveUI-AndroidSupport/ReactiveUI-AndroidSupport.nuspec b/NuGet/ReactiveUI-AndroidSupport/ReactiveUI-AndroidSupport.nuspec deleted file mode 100644 index 8a22930c65..0000000000 --- a/NuGet/ReactiveUI-AndroidSupport/ReactiveUI-AndroidSupport.nuspec +++ /dev/null @@ -1,18 +0,0 @@ - - - - reactiveui-androidsupport - 6.3.1 - ReactiveUI extensions for the Android Support Library - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - - - diff --git a/NuGet/ReactiveUI-AndroidSupport/lib/Monoandroid/ReactiveUI.AndroidSupport.dll b/NuGet/ReactiveUI-AndroidSupport/lib/Monoandroid/ReactiveUI.AndroidSupport.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-AndroidSupport/lib/Monoandroid/ReactiveUI.AndroidSupport.dll.mdb b/NuGet/ReactiveUI-AndroidSupport/lib/Monoandroid/ReactiveUI.AndroidSupport.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-AndroidSupport/lib/Monoandroid/ReactiveUI.AndroidSupport.xml b/NuGet/ReactiveUI-AndroidSupport/lib/Monoandroid/ReactiveUI.AndroidSupport.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-AndroidSupport/src/ReactiveUI.AndroidSupport/.keepme b/NuGet/ReactiveUI-AndroidSupport/src/ReactiveUI.AndroidSupport/.keepme deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/ReactiveUI-Blend.nuspec b/NuGet/ReactiveUI-Blend/ReactiveUI-Blend.nuspec deleted file mode 100644 index 24cf5605e1..0000000000 --- a/NuGet/ReactiveUI-Blend/ReactiveUI-Blend.nuspec +++ /dev/null @@ -1,31 +0,0 @@ - - - - reactiveui-blend - 6.3.1 - Blend behaviors for ReactiveUI - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - - - - - - - - - - - - - - - - diff --git a/NuGet/ReactiveUI-Blend/lib/Portable-Win81+WPA81/ReactiveUI.Blend.dll b/NuGet/ReactiveUI-Blend/lib/Portable-Win81+WPA81/ReactiveUI.Blend.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/lib/Portable-Win81+WPA81/ReactiveUI.Blend.pdb b/NuGet/ReactiveUI-Blend/lib/Portable-Win81+WPA81/ReactiveUI.Blend.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/lib/Portable-Win81+WPA81/ReactiveUI.Blend.xml b/NuGet/ReactiveUI-Blend/lib/Portable-Win81+WPA81/ReactiveUI.Blend.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/lib/WP8/ReactiveUI.Blend.dll b/NuGet/ReactiveUI-Blend/lib/WP8/ReactiveUI.Blend.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/lib/WP8/ReactiveUI.Blend.pdb b/NuGet/ReactiveUI-Blend/lib/WP8/ReactiveUI.Blend.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/lib/WP8/ReactiveUI.Blend.xml b/NuGet/ReactiveUI-Blend/lib/WP8/ReactiveUI.Blend.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/lib/net45/ReactiveUI.Blend.dll b/NuGet/ReactiveUI-Blend/lib/net45/ReactiveUI.Blend.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/lib/net45/ReactiveUI.Blend.pdb b/NuGet/ReactiveUI-Blend/lib/net45/ReactiveUI.Blend.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/lib/net45/ReactiveUI.Blend.xml b/NuGet/ReactiveUI-Blend/lib/net45/ReactiveUI.Blend.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Blend/src/ReactiveUI.Blend/.keepme b/NuGet/ReactiveUI-Blend/src/ReactiveUI.Blend/.keepme deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/ReactiveUI-Core.nuspec b/NuGet/ReactiveUI-Core/ReactiveUI-Core.nuspec deleted file mode 100644 index 43ab8b455c..0000000000 --- a/NuGet/ReactiveUI-Core/ReactiveUI-Core.nuspec +++ /dev/null @@ -1,42 +0,0 @@ - - - - reactiveui-core - 6.3.1 - An MVVM library for .NET that is deeply integrated with the Reactive Extensions - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/NuGet/ReactiveUI-Core/lib/MonoAndroid/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/MonoAndroid/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/MonoAndroid/ReactiveUI.dll.mdb b/NuGet/ReactiveUI-Core/lib/MonoAndroid/ReactiveUI.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/MonoAndroid/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/MonoAndroid/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/MonoMac/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/MonoMac/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/MonoMac/ReactiveUI.dll.mdb b/NuGet/ReactiveUI-Core/lib/MonoMac/ReactiveUI.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/MonoMac/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/MonoMac/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Monotouch/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/Monotouch/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Monotouch/ReactiveUI.dll.mdb b/NuGet/ReactiveUI-Core/lib/Monotouch/ReactiveUI.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Monotouch/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/Monotouch/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Net45/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/Net45/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Net45/ReactiveUI.pdb b/NuGet/ReactiveUI-Core/lib/Net45/ReactiveUI.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Net45/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/Net45/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Net45+Win8+WP8+WPA81/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/Portable-Net45+Win8+WP8+WPA81/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Net45+Win8+WP8+WPA81/ReactiveUI.pdb b/NuGet/ReactiveUI-Core/lib/Portable-Net45+Win8+WP8+WPA81/ReactiveUI.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Net45+Win8+WP8+WPA81/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/Portable-Net45+Win8+WP8+WPA81/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Win81+WPA81/ReactiveUI.pdb b/NuGet/ReactiveUI-Core/lib/Portable-Win81+WPA81/ReactiveUI.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Win81+WPA81/ReactiveUI.pri b/NuGet/ReactiveUI-Core/lib/Portable-Win81+WPA81/ReactiveUI.pri deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Win81+WPA81/ReactiveUI/ReactiveUI.xr.xml b/NuGet/ReactiveUI-Core/lib/Portable-Win81+WPA81/ReactiveUI/ReactiveUI.xr.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Win81+WPA81/ReactiveUI/Themes/generic-winrt.xbf b/NuGet/ReactiveUI-Core/lib/Portable-Win81+WPA81/ReactiveUI/Themes/generic-winrt.xbf deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Win81+Wpa81/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/Portable-Win81+Wpa81/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Portable-Win81+Wpa81/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/Portable-Win81+Wpa81/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/WP8/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/WP8/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/WP8/ReactiveUI.pdb b/NuGet/ReactiveUI-Core/lib/WP8/ReactiveUI.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/WP8/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/WP8/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI.pdb b/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI.pri b/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI.pri deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI/Themes/generic-winrt.xaml b/NuGet/ReactiveUI-Core/lib/Win8/ReactiveUI/Themes/generic-winrt.xaml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Xamarin.iOS10/ReactiveUI.dll b/NuGet/ReactiveUI-Core/lib/Xamarin.iOS10/ReactiveUI.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Xamarin.iOS10/ReactiveUI.dll.mdb b/NuGet/ReactiveUI-Core/lib/Xamarin.iOS10/ReactiveUI.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/lib/Xamarin.iOS10/ReactiveUI.xml b/NuGet/ReactiveUI-Core/lib/Xamarin.iOS10/ReactiveUI.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Core/src/ReactiveUI/.keepme b/NuGet/ReactiveUI-Core/src/ReactiveUI/.keepme deleted file mode 100644 index 9c8b35a089..0000000000 --- a/NuGet/ReactiveUI-Core/src/ReactiveUI/.keepme +++ /dev/null @@ -1 +0,0 @@ - 1 file(s) copied. diff --git a/NuGet/ReactiveUI-Events/ReactiveUI-Events.nuspec b/NuGet/ReactiveUI-Events/ReactiveUI-Events.nuspec deleted file mode 100644 index 816e4a4ade..0000000000 --- a/NuGet/ReactiveUI-Events/ReactiveUI-Events.nuspec +++ /dev/null @@ -1,16 +0,0 @@ - - - - reactiveui-events - 6.3.1 - ReactiveUI.Events adds Observable-based events to UI controls and other appropriate places. - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - diff --git a/NuGet/ReactiveUI-Events/lib/Monoandroid/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/Monoandroid/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Monoandroid/ReactiveUI.Events.dll.mdb b/NuGet/ReactiveUI-Events/lib/Monoandroid/ReactiveUI.Events.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Monoandroid/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/Monoandroid/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Monomac/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/Monomac/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Monomac/ReactiveUI.Events.dll.mdb b/NuGet/ReactiveUI-Events/lib/Monomac/ReactiveUI.Events.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Monomac/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/Monomac/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Monotouch/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/Monotouch/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Monotouch/ReactiveUI.Events.dll.mdb b/NuGet/ReactiveUI-Events/lib/Monotouch/ReactiveUI.Events.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Monotouch/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/Monotouch/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/WP81/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/WP81/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/WP81/ReactiveUI.Events.pdb b/NuGet/ReactiveUI-Events/lib/WP81/ReactiveUI.Events.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/WP81/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/WP81/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/WPA81/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/WPA81/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/WPA81/ReactiveUI.Events.pdb b/NuGet/ReactiveUI-Events/lib/WPA81/ReactiveUI.Events.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/WPA81/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/WPA81/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Win8/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/Win8/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Win8/ReactiveUI.Events.pdb b/NuGet/ReactiveUI-Events/lib/Win8/ReactiveUI.Events.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Win8/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/Win8/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Win81/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/Win81/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Win81/ReactiveUI.Events.pdb b/NuGet/ReactiveUI-Events/lib/Win81/ReactiveUI.Events.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Win81/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/Win81/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Xamarin.iOS10/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/Xamarin.iOS10/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Xamarin.iOS10/ReactiveUI.Events.dll.mdb b/NuGet/ReactiveUI-Events/lib/Xamarin.iOS10/ReactiveUI.Events.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/Xamarin.iOS10/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/Xamarin.iOS10/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/net45/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/net45/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/net45/ReactiveUI.Events.pdb b/NuGet/ReactiveUI-Events/lib/net45/ReactiveUI.Events.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/net45/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/net45/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/wp8/ReactiveUI.Events.dll b/NuGet/ReactiveUI-Events/lib/wp8/ReactiveUI.Events.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/wp8/ReactiveUI.Events.pdb b/NuGet/ReactiveUI-Events/lib/wp8/ReactiveUI.Events.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/lib/wp8/ReactiveUI.Events.xml b/NuGet/ReactiveUI-Events/lib/wp8/ReactiveUI.Events.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Events/src/ReactiveUI.Events/.keepme b/NuGet/ReactiveUI-Events/src/ReactiveUI.Events/.keepme deleted file mode 100644 index 9c8b35a089..0000000000 --- a/NuGet/ReactiveUI-Events/src/ReactiveUI.Events/.keepme +++ /dev/null @@ -1 +0,0 @@ - 1 file(s) copied. diff --git a/NuGet/ReactiveUI-Testing/ReactiveUI-Testing.nuspec b/NuGet/ReactiveUI-Testing/ReactiveUI-Testing.nuspec deleted file mode 100644 index f109c0ee37..0000000000 --- a/NuGet/ReactiveUI-Testing/ReactiveUI-Testing.nuspec +++ /dev/null @@ -1,33 +0,0 @@ - - - - reactiveui-testing - 6.3.1 - A library to aid in writing unit tests for ReactiveUI projects - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - - - - - - - - - - - - - - - - - - diff --git a/NuGet/ReactiveUI-Testing/lib/Monoandroid/ReactiveUI.Testing.dll b/NuGet/ReactiveUI-Testing/lib/Monoandroid/ReactiveUI.Testing.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Monoandroid/ReactiveUI.Testing.dll.mdb b/NuGet/ReactiveUI-Testing/lib/Monoandroid/ReactiveUI.Testing.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Monoandroid/ReactiveUI.Testing.xml b/NuGet/ReactiveUI-Testing/lib/Monoandroid/ReactiveUI.Testing.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Monotouch/ReactiveUI.Testing.dll b/NuGet/ReactiveUI-Testing/lib/Monotouch/ReactiveUI.Testing.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Monotouch/ReactiveUI.Testing.dll.mdb b/NuGet/ReactiveUI-Testing/lib/Monotouch/ReactiveUI.Testing.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Monotouch/ReactiveUI.Testing.xml b/NuGet/ReactiveUI-Testing/lib/Monotouch/ReactiveUI.Testing.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Portable-Win81+WPA81/ReactiveUI.Testing.dll b/NuGet/ReactiveUI-Testing/lib/Portable-Win81+WPA81/ReactiveUI.Testing.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Portable-Win81+WPA81/ReactiveUI.Testing.pdb b/NuGet/ReactiveUI-Testing/lib/Portable-Win81+WPA81/ReactiveUI.Testing.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Portable-Win81+WPA81/ReactiveUI.Testing.xml b/NuGet/ReactiveUI-Testing/lib/Portable-Win81+WPA81/ReactiveUI.Testing.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/WP8/ReactiveUI.Testing.dll b/NuGet/ReactiveUI-Testing/lib/WP8/ReactiveUI.Testing.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/WP8/ReactiveUI.Testing.pdb b/NuGet/ReactiveUI-Testing/lib/WP8/ReactiveUI.Testing.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/WP8/ReactiveUI.Testing.xml b/NuGet/ReactiveUI-Testing/lib/WP8/ReactiveUI.Testing.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Xamarin.iOS10/ReactiveUI.Testing.dll b/NuGet/ReactiveUI-Testing/lib/Xamarin.iOS10/ReactiveUI.Testing.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Xamarin.iOS10/ReactiveUI.Testing.dll.mdb b/NuGet/ReactiveUI-Testing/lib/Xamarin.iOS10/ReactiveUI.Testing.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/Xamarin.iOS10/ReactiveUI.Testing.xml b/NuGet/ReactiveUI-Testing/lib/Xamarin.iOS10/ReactiveUI.Testing.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/net45/ReactiveUI.Testing.dll b/NuGet/ReactiveUI-Testing/lib/net45/ReactiveUI.Testing.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/net45/ReactiveUI.Testing.pdb b/NuGet/ReactiveUI-Testing/lib/net45/ReactiveUI.Testing.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/lib/net45/ReactiveUI.Testing.xml b/NuGet/ReactiveUI-Testing/lib/net45/ReactiveUI.Testing.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Testing/src/ReactiveUI.Testing/.keepme b/NuGet/ReactiveUI-Testing/src/ReactiveUI.Testing/.keepme deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Winforms/ReactiveUI-Winforms.nuspec b/NuGet/ReactiveUI-Winforms/ReactiveUI-Winforms.nuspec deleted file mode 100644 index 8b695713d7..0000000000 --- a/NuGet/ReactiveUI-Winforms/ReactiveUI-Winforms.nuspec +++ /dev/null @@ -1,16 +0,0 @@ - - - - reactiveui-winforms - 6.3.1 - Windows Forms specific extensions to ReactiveUI - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - diff --git a/NuGet/ReactiveUI-Winforms/lib/net45/ReactiveUI.Winforms.dll b/NuGet/ReactiveUI-Winforms/lib/net45/ReactiveUI.Winforms.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Winforms/lib/net45/ReactiveUI.Winforms.pdb b/NuGet/ReactiveUI-Winforms/lib/net45/ReactiveUI.Winforms.pdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Winforms/lib/net45/ReactiveUI.Winforms.xml b/NuGet/ReactiveUI-Winforms/lib/net45/ReactiveUI.Winforms.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-Winforms/src/ReactiveUI.Winforms/.keepme b/NuGet/ReactiveUI-Winforms/src/ReactiveUI.Winforms/.keepme deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-XamForms/ReactiveUI-XamForms.nuspec b/NuGet/ReactiveUI-XamForms/ReactiveUI-XamForms.nuspec deleted file mode 100644 index 50e3fa5e26..0000000000 --- a/NuGet/ReactiveUI-XamForms/ReactiveUI-XamForms.nuspec +++ /dev/null @@ -1,18 +0,0 @@ - - - - reactiveui-xamforms - 6.3.1 - Xamarin Forms specific extensions to ReactiveUI - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - - - diff --git a/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.Events_XamForms.dll b/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.Events_XamForms.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.Events_XamForms.dll.mdb b/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.Events_XamForms.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.Events_XamForms.xml b/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.Events_XamForms.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.XamForms.dll b/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.XamForms.dll deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.XamForms.dll.mdb b/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.XamForms.dll.mdb deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.XamForms.xml b/NuGet/ReactiveUI-XamForms/lib/Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10/ReactiveUI.XamForms.xml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI-XamForms/src/ReactiveUI.XamForms/.keepme b/NuGet/ReactiveUI-XamForms/src/ReactiveUI.XamForms/.keepme deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/NuGet/ReactiveUI/ReactiveUI-Mobile.nuspec b/NuGet/ReactiveUI/ReactiveUI-Mobile.nuspec deleted file mode 100644 index c1248f1d46..0000000000 --- a/NuGet/ReactiveUI/ReactiveUI-Mobile.nuspec +++ /dev/null @@ -1,17 +0,0 @@ - - - - reactiveui-mobile - 6.3.1 - Deprecated package that is no longer needed. You are looking for ReactiveUI-Core. - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - - diff --git a/NuGet/ReactiveUI/ReactiveUI-Platforms.nuspec b/NuGet/ReactiveUI/ReactiveUI-Platforms.nuspec deleted file mode 100644 index fe9a15d26d..0000000000 --- a/NuGet/ReactiveUI/ReactiveUI-Platforms.nuspec +++ /dev/null @@ -1,30 +0,0 @@ - - - - reactiveui-platforms - 6.3.1 - Deprecated package that is no longer needed. You are looking for ReactiveUI-Core. - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - - - - - - - - - - - - - - - diff --git a/NuGet/ReactiveUI/ReactiveUI.nuspec b/NuGet/ReactiveUI/ReactiveUI.nuspec deleted file mode 100644 index 53214a5d6b..0000000000 --- a/NuGet/ReactiveUI/ReactiveUI.nuspec +++ /dev/null @@ -1,16 +0,0 @@ - - - - reactiveui - 6.3.1 - An MVVM library for WPF and Silverlight that is deeply integrated with the Reactive Extensions - Paul Betts - http://www.reactiveui.net - http://opensource.org/licenses/ms-pl.html - en-us - false - - - - - diff --git a/PerfConsoleRunner.psess b/PerfConsoleRunner.psess deleted file mode 100644 index a29a000561..0000000000 --- a/PerfConsoleRunner.psess +++ /dev/null @@ -1,105 +0,0 @@ - - - - C:\Users\paul\My Dropbox\ReactiveUI_External\ReactiveUI_Core.sln - Sampling - Allocation - true - true - false - false - Timestamp - Cycles - 10000000 - 10 - 10 - - false - false - - 0 - UnknownDisabled - 0 - - PerfConsoleRunner - true - mpiexec.exe - true - - - - - - false - 500 - - \Memory\Pages/sec - \PhysicalDisk(_Total)\Avg. Disk Queue Length - \Processor(_Total)\% Processor Time - - - - true - false - - false - - - false - - - - C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner\obj\x86\Release\PerfConsoleRunner.exe - 01/01/0001 00:00:00 - true - true - false - false - false - true - false - Executable - C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner\bin\Release\PerfConsoleRunner.exe - C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner\bin\Release\ - - IIS - InternetExplorer - true - false - - false - - - false - - {DBC5FEB0-8535-4D77-AA1B-BA8957253996}|PerfConsoleRunner\PerfConsoleRunner.csproj - C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner\PerfConsoleRunner.csproj - PerfConsoleRunner - - - - - C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner110110.vsp - - - C:\Users\paul\My Dropbox\ReactiveUI_External\PerfConsoleRunner110110(1).vsp - - - - - :PB:{DBC5FEB0-8535-4D77-AA1B-BA8957253996}|PerfConsoleRunner\PerfConsoleRunner.csproj - - - - Mark One - Mark Two - Mark Three - Mark Four - Mark Five - Mark Six - Mark Seven - Mark Eight - Mark Nine - Mark Ten - - diff --git a/PerfConsoleRunner/PerfConsoleRunner.csproj b/PerfConsoleRunner/PerfConsoleRunner.csproj deleted file mode 100644 index 02a31eee44..0000000000 --- a/PerfConsoleRunner/PerfConsoleRunner.csproj +++ /dev/null @@ -1,100 +0,0 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - {DBC5FEB0-8535-4D77-AA1B-BA8957253996} - Exe - Properties - PerfConsoleRunner - PerfConsoleRunner - v4.5 - - - 512 - ..\ - true - - - x86 - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - x86 - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false - - - - - - - - - - - False - ..\packages\xunit.1.9.2\lib\net20\xunit.dll - - - False - ..\packages\xunit.runners.1.9.2\tools\xunit.console.clr4.exe - - - False - ..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll - - - - - - - - - {7866b5b1-5457-43a2-976a-e784eb10f2da} - ReactiveUI.Blend_Net45 - - - {600998c4-54dd-4755-bfa8-6f44544d8e2e} - ReactiveUI.Events_Net45 - - - {dd99fd0f-82f6-4c30-930e-4a1d0df01d65} - ReactiveUI.Testing_Net45 - - - {6fbde6ea-2202-4a70-8ee4-7ba6d515952e} - ReactiveUI.Tests_Net45 - - - {1ce2d235-8072-4649-ba5a-cfb1af8776e0} - ReactiveUI_Net45 - - - - - - - - - diff --git a/PerfConsoleRunner/Program.cs b/PerfConsoleRunner/Program.cs deleted file mode 100644 index 0ec4fe6f50..0000000000 --- a/PerfConsoleRunner/Program.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace PerfConsoleRunner -{ - public class Program - { - public static int Main(string[] args) - { - var file = (new StackTrace(true).GetFrame(0)).GetFileName(); - var solutionDir = new DirectoryInfo(Path.Combine(Path.GetDirectoryName(file), "..")).FullName; - -#if DEBUG - var relDir = "Debug"; -#else - var relDir = "Release"; -#endif - - var testAssembly = Path.Combine(solutionDir, @"ReactiveUI.Tests\bin\Debug\Net45\ReactiveUI.Tests_Net45.dll") - .Replace("Debug", relDir); - - Xunit.ConsoleClient.Program.Main(new[] { testAssembly }); - return 0; - } - } -} diff --git a/PerfConsoleRunner/Properties/AssemblyInfo.cs b/PerfConsoleRunner/Properties/AssemblyInfo.cs deleted file mode 100644 index 7d363c2bfb..0000000000 --- a/PerfConsoleRunner/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("PerfConsoleRunner")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft")] -[assembly: AssemblyProduct("PerfConsoleRunner")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("fc2e13b1-c042-42aa-8a11-5d97b538b5ad")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/PerfConsoleRunner/app.config b/PerfConsoleRunner/app.config deleted file mode 100644 index 3a34af877d..0000000000 --- a/PerfConsoleRunner/app.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/PerfConsoleRunner/packages.config b/PerfConsoleRunner/packages.config deleted file mode 100644 index 67a23e70da..0000000000 --- a/PerfConsoleRunner/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Playground-Android/App.cs b/Playground-Android/App.cs deleted file mode 100644 index bd821c0e94..0000000000 --- a/Playground-Android/App.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using Android.App; -using Android.Runtime; -using ReactiveUI; - -namespace MobileSample_Android -{ - [Application(Label = "AndroidPlayground")] - public class App : Application - { - AutoSuspendHelper suspendHelper; - - App(IntPtr handle, JniHandleOwnership owner) : base(handle, owner) { } - - public override void OnCreate() - { - base.OnCreate(); - - suspendHelper = new AutoSuspendHelper(this); - RxApp.SuspensionHost.CreateNewAppState = () => new AppBootstrapper(); - RxApp.SuspensionHost.SetupDefaultSuspendResume(); - } - } -} - diff --git a/Playground-Android/AppBootstrapper.cs b/Playground-Android/AppBootstrapper.cs deleted file mode 100644 index a1601c5c68..0000000000 --- a/Playground-Android/AppBootstrapper.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Runtime.Serialization; -using ReactiveUI; -using Splat; - -namespace MobileSample_Android -{ - [DataContract] - public class AppBootstrapper - { - [DataMember] - public Guid SavedGuid { get; set; } - - public AppBootstrapper() - { - SavedGuid = Guid.NewGuid(); - } - } -} - diff --git a/Playground-Android/MainActivity.cs b/Playground-Android/MainActivity.cs deleted file mode 100644 index f54fbfdc73..0000000000 --- a/Playground-Android/MainActivity.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.Reactive.Linq; -using System.ComponentModel; -using Android.App; -using Android.Content; -using Android.Runtime; -using Android.Views; -using Android.Widget; -using Android.OS; -using ReactiveUI; -using Splat; - -namespace MobileSample_Android -{ - [Activity (Label = "AndroidPlayground", MainLauncher = true)] - public class MainView : ReactiveActivity - { - int count = 1; - public TextView SavedGuid { get; set; } - - public MainView() - { - } - - protected override void OnCreate(Bundle bundle) - { - base.OnCreate(bundle); - - // Set our view from the "main" layout resource - SetContentView(Resource.Layout.Main); - - this.WireUpControls(); - - RxApp.SuspensionHost.ObserveAppState() - .Select(x => x.SavedGuid) - .Do(x => { - Console.WriteLine(x); - }) - .BindTo(this, x => x.SavedGuid.Text); - } - - protected override void OnDestroy() - { - base.OnDestroy(); - Console.WriteLine("DEADED"); - } - } - - public class MainViewModel : ReactiveObject - { - public MainViewModel() - { - } - } -} diff --git a/Playground-Android/Playground-Android.csproj b/Playground-Android/Playground-Android.csproj deleted file mode 100644 index c6bde4d8f3..0000000000 --- a/Playground-Android/Playground-Android.csproj +++ /dev/null @@ -1,114 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {D444AA58-1C6B-4CEE-B5F5-761.6.0B86E5} - {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties - MobileSample_Android - MobileSample-Android - 512 - True - Resources\Resource.designer.cs - Off - v4.0.3 - Properties\AndroidManifest.xml - ..\ - true - - - true - full - false - bin\Debug - DEBUG;TRACE - prompt - 4 - None - True - - - pdbonly - true - bin\Release - TRACE - prompt - 4 - false - - - - False - ..\packages\Splat.1.6.0\lib\monoandroid\Splat.dll - - - - False - ..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll - - - False - ..\packages\Rx-Interfaces.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Interfaces.dll - - - False - ..\packages\Rx-Linq.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Linq.dll - - - False - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll - - - - - - - - - - - - - - - - - - - - - - - - - AndroidResource - - - AndroidResource - - - - - - - - - - - {F5A6E11B-B074-4A0B-B937-267D840E31DF} - ReactiveUI_Android - - - - - diff --git a/Playground-Android/Properties/AndroidManifest.xml b/Playground-Android/Properties/AndroidManifest.xml deleted file mode 100644 index bf427b71b8..0000000000 --- a/Playground-Android/Properties/AndroidManifest.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/Playground-Android/Properties/AssemblyInfo.cs b/Playground-Android/Properties/AssemblyInfo.cs deleted file mode 100644 index 38eaed6524..0000000000 --- a/Playground-Android/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using Android.App; - -// Information about this assembly is defined by the following attributes. -// Change them to the values specific to your project. - -[assembly: AssemblyTitle("AndroidPlayground")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("paul")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". -// The form "{Major}.{Minor}.*" will automatically update the build and revision, -// and "{Major}.{Minor}.{Build}.*" will update just the revision. - -[assembly: AssemblyVersion("1.0.0")] - -// The following attributes are used to specify the signing key for the assembly, -// if desired. See the Mono documentation for more information about signing. - -//[assembly: AssemblyDelaySign(false)] -//[assembly: AssemblyKeyFile("")] - diff --git a/Playground-Android/Resources/Resource.designer.cs b/Playground-Android/Resources/Resource.designer.cs deleted file mode 100644 index 05e38403ce..0000000000 --- a/Playground-Android/Resources/Resource.designer.cs +++ /dev/null @@ -1,161 +0,0 @@ -#pragma warning disable 1591 -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.34209 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -[assembly: global::Android.Runtime.ResourceDesignerAttribute("MobileSample_Android.Resource", IsApplication=true)] - -namespace MobileSample_Android -{ - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] - public partial class Resource - { - - static Resource() - { - global::Android.Runtime.ResourceIdManager.UpdateIdValues(); - } - - public static void UpdateIdValues() - { - global::Splat.Resource.String.library_name = global::MobileSample_Android.Resource.String.library_name; - } - - public partial class Attribute - { - - static Attribute() - { - global::Android.Runtime.ResourceIdManager.UpdateIdValues(); - } - - private Attribute() - { - } - } - - public partial class Drawable - { - - // aapt resource value: 0x7f020000 - public const int Icon = 2130837504; - - static Drawable() - { - global::Android.Runtime.ResourceIdManager.UpdateIdValues(); - } - - private Drawable() - { - } - } - - public partial class Id - { - - // aapt resource value: 0x7f050001 - public const int SavedGuid = 2131034113; - - // aapt resource value: 0x7f050003 - public const int closeMarket = 2131034115; - - // aapt resource value: 0x7f05000b - public const int high = 2131034123; - - // aapt resource value: 0x7f050008 - public const int lastChange = 2131034120; - - // aapt resource value: 0x7f05000c - public const int low = 2131034124; - - // aapt resource value: 0x7f05000a - public const int open = 2131034122; - - // aapt resource value: 0x7f050002 - public const int openMarket = 2131034114; - - // aapt resource value: 0x7f050009 - public const int percentChange = 2131034121; - - // aapt resource value: 0x7f050007 - public const int price = 2131034119; - - // aapt resource value: 0x7f050004 - public const int reset = 2131034116; - - // aapt resource value: 0x7f050006 - public const int symbol = 2131034118; - - // aapt resource value: 0x7f050000 - public const int textView1 = 2131034112; - - // aapt resource value: 0x7f050005 - public const int watchList = 2131034117; - - static Id() - { - global::Android.Runtime.ResourceIdManager.UpdateIdValues(); - } - - private Id() - { - } - } - - public partial class Layout - { - - // aapt resource value: 0x7f030000 - public const int Main = 2130903040; - - // aapt resource value: 0x7f030001 - public const int Secondary = 2130903041; - - // aapt resource value: 0x7f030002 - public const int WatchList = 2130903042; - - // aapt resource value: 0x7f030003 - public const int WatchListItem = 2130903043; - - static Layout() - { - global::Android.Runtime.ResourceIdManager.UpdateIdValues(); - } - - private Layout() - { - } - } - - public partial class String - { - - // aapt resource value: 0x7f040002 - public const int app_name = 2130968578; - - // aapt resource value: 0x7f040001 - public const int hello = 2130968577; - - // aapt resource value: 0x7f040000 - public const int library_name = 2130968576; - - static String() - { - global::Android.Runtime.ResourceIdManager.UpdateIdValues(); - } - - private String() - { - } - } - } -} -#pragma warning restore 1591 diff --git a/Playground-Android/Resources/drawable/Icon.png b/Playground-Android/Resources/drawable/Icon.png deleted file mode 100644 index a07c69fa5a..0000000000 Binary files a/Playground-Android/Resources/drawable/Icon.png and /dev/null differ diff --git a/Playground-Android/Resources/layout/Main.axml b/Playground-Android/Resources/layout/Main.axml deleted file mode 100644 index 42f9ec4b8a..0000000000 --- a/Playground-Android/Resources/layout/Main.axml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Playground-Android/Resources/layout/Secondary.axml b/Playground-Android/Resources/layout/Secondary.axml deleted file mode 100644 index 635041ef8e..0000000000 --- a/Playground-Android/Resources/layout/Secondary.axml +++ /dev/null @@ -1,14 +0,0 @@ - - - - \ No newline at end of file diff --git a/Playground-Android/Resources/layout/WatchList.axml b/Playground-Android/Resources/layout/WatchList.axml deleted file mode 100644 index 2df77214bb..0000000000 --- a/Playground-Android/Resources/layout/WatchList.axml +++ /dev/null @@ -1,34 +0,0 @@ - - - -