Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
glennawatson committed Aug 23, 2021
2 parents fba454b + b31fabf commit cebb2be
Show file tree
Hide file tree
Showing 320 changed files with 10,291 additions and 2,844 deletions.
12 changes: 8 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,19 @@ If this is a question please ask on [StackOverflow](https://stackoverflow.com/qu

**Steps To Reproduce**
<!--
Provide the steps to reproduce the behavior:
Provide the steps to reproduce the behaviour:
​ Either link a Repo showing the error, this gives us most context for your use case scenario.
​ OR Following these steps
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
-->



**Expected behavior**
**Expected behaviour**
<!-- A clear and concise description of what you expected to happen. -->


Expand All @@ -44,6 +47,7 @@ Provide the steps to reproduce the behavior:
- OS: <!-- [e.g. iOS] -->
- Version <!-- [e.g. 22] -->
- Device: <!-- [e.g. iPhone6] -->
- ReactiveUI Version: <!-- [e.g. 15.1.1] -->

**Additional context**
<!-- Add any other context about the problem here. -->
40 changes: 31 additions & 9 deletions .github/workflows/build-samples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
matrix:
configuration: [Debug, Release]

runs-on: windows-latest
runs-on: windows-latest

steps:
- name: Checkout
Expand All @@ -21,20 +21,42 @@ jobs:
fetch-depth: 0
lfs: true

# Install the .NET Core workload
- name: Install .NET Core 3.1.x
uses: actions/setup-dotnet@v1
- name: Install .NET Core
uses: actions/setup-dotnet@v1.8.1
with:
dotnet-version: 3.1.x

- name: Install .NET 5.0.x
uses: actions/setup-dotnet@v1
- name: Install .NET 5
uses: actions/setup-dotnet@v1.8.1
with:
dotnet-version: 5.0.x

# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.0.2
- name: Install .NET 6
uses: actions/setup-dotnet@v1.8.1
with:
dotnet-version: 6.0.x
include-prerelease: true

- name: Install DotNet workloads
shell: bash
run: |
dotnet workload install android
dotnet workload install ios
dotnet workload install tvos
dotnet workload install macos
dotnet workload install maui
- name: Install VS2022 preview
shell: bash
run: |
dotnet tool update -g dotnet-vs
vs install preview -sku:enterprise --quiet +Microsoft.VisualStudio.Component.ManagedDesktop.Core +Microsoft.NetCore.Component.DevelopmentTools +Microsoft.VisualStudio.Workload.NetCrossPlat +Microsoft.VisualStudio.Workload.Universal
echo "##vso[task.prependpath]$(vs where preview --prop=InstallationPath)\MSBuild\Current\Bin"
- name: Add MSBuild to PATH
uses: glennawatson/setup-msbuild@v1.0.3
with:
prerelease: true

- name: Restore/Build the sample
run: msbuild IntegrationTests.All.sln /t:restore,build /maxcpucount /p:NoPackageAnalysis=true /verbosity:minimal /p:Configuration=$env:Configuration
Expand Down
51 changes: 35 additions & 16 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,41 @@ jobs:
fetch-depth: 0

- name: Install .NET Core
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v1.8.1
with:
dotnet-version: 3.1.x

- name: Install .NET 5
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v1.8.1
with:
dotnet-version: 5.0.x

- name: Install .NET 6
uses: actions/setup-dotnet@v1.8.1
with:
dotnet-version: 6.0.x
include-prerelease: true

- name: Install DotNet workloads
shell: bash
run: |
dotnet workload install android
dotnet workload install ios
dotnet workload install tvos
dotnet workload install macos
dotnet workload install maui
- name: Install VS2022 preview
shell: bash
run: |
dotnet tool update -g dotnet-vs
vs install preview -sku:enterprise --quiet +Microsoft.VisualStudio.Component.ManagedDesktop.Core +Microsoft.NetCore.Component.DevelopmentTools +Microsoft.VisualStudio.Workload.NetCrossPlat +Microsoft.VisualStudio.Workload.Universal
echo "##vso[task.prependpath]$(vs where preview --prop=InstallationPath)\MSBuild\Current\Bin"
- name: Add MSBuild to PATH
uses: glennawatson/setup-msbuild@v1.0.3

# - name: Update VS2019
# shell: powershell
# run: Start-Process -Wait -PassThru -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe" -ArgumentList "update --passive --norestart --installpath ""C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise"""
with:
prerelease: true

- name: NBGV
id: nbgv
Expand All @@ -46,22 +66,21 @@ jobs:
setAllVars: true

- name: NuGet restore
run: |
run: |
dotnet restore ReactiveUI.sln
dotnet restore ReactiveUI.Events.sln
working-directory: src

- name: Install Pharmacist and Generate Events
run: |
dotnet tool install -g Pharmacist
pharmacist generate-platform -t uap10.0.16299,uap10.0.17134,uap10.0.17763,uap10.0.18362,uap10.0.19041,xamarin.mac20,xamarin.tvos10,monoandroid10.0,monoandroid11.0,xamarin.ios10,xamarin.watchos10 -o "src/ReactiveUI.Events/" --output-prefix "Events_"
pharmacist generate-platform -t net461,net462,net47,net471,net472,net48,netcoreapp3.1,net5.0 --is-wpf -o "src/ReactiveUI.Events.WPF/" --output-prefix "Events_"
pharmacist generate-platform -t net461,net462,net47,net471,net472,net48,netcoreapp3.1,net5.0 --is-winforms -o "src/ReactiveUI.Events.Winforms/" --output-prefix "Events_"
# Removed until Pharmacist can be released with new package
#- name: Install Pharmacist and Generate Events
# run: |
# dotnet tool install -g Pharmacist
# pharmacist generate-platform -t uap10.0.16299,uap10.0.17134,uap10.0.17763,uap10.0.18362,uap10.0.19041,xamarin.mac20,xamarin.tvos10,monoandroid10.0,monoandroid11.0,xamarin.ios10,xamarin.watchos10 -o "src/ReactiveUI.Events/" --output-prefix "Events_"
# pharmacist generate-platform -t net461,net462,net47,net471,net472,net48,netcoreapp3.1,net5.0 --is-wpf -o "src/ReactiveUI.Events.WPF/" --output-prefix "Events_"
# pharmacist generate-platform -t net461,net462,net47,net471,net472,net48,netcoreapp3.1,net5.0 --is-winforms -o "src/ReactiveUI.Events.Winforms/" --output-prefix "Events_"

- name: Build
run: |
run: |
msbuild /t:build,pack /nowarn:MSB4011,VSX1000 /p:NoPackageAnalysis=true /verbosity:minimal /p:Configuration=${{ env.configuration }} ReactiveUI.sln
msbuild /t:build,pack /nowarn:MSB4011,VSX1000 /p:NoPackageAnalysis=true /verbosity:minimal /p:Configuration=${{ env.configuration }} ReactiveUI.Events.sln
working-directory: src

- name: Run Unit Tests and Generate Coverage
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -369,4 +369,5 @@ src/Tools/
**/[Rr]esources/[Rr]esource.[Dd]esigner.cs

# MSBuild generator editor configs
**/*.GeneratedMSBuildEditorConfig.editorconfig
**/*.GeneratedMSBuildEditorConfig.editorconfig
/app
12 changes: 4 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,18 +70,14 @@ Before you submit your pull request consider the following guidelines:
* 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).
[commit message guidelines](https://reactiveui.net/contribute/software-style-guide/commit-message-convention).

```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
```
* Build your changes locally to ensure all the tests pass by using the Solution (.sln) files in the `src` directory.

* Push your branch to GitHub:

Expand Down Expand Up @@ -149,9 +145,9 @@ from the main (upstream) repository:
- .NET Core cross-platform development
- Windows 10 SDK 10.0.17763.0 (individual component)
- PowerShell
- Android SDK Platform 26 (install through Visual Studio)
- Android SDK Platform 29 (install through Visual Studio)

Once all the above are set up, running `.\build.cmd` in the repository root should get everything up and running.
Once all the above are set up, use the desired Solution (.sln) file in the repository's `src` directory.

### <a name="rules"></a> Coding Rules

Expand Down
62 changes: 39 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,28 +23,27 @@ There has been an excellent [book](https://kent-boogaart.com/you-i-and-reactiveu

Install the following packages to start building your own ReactiveUI app. <b>Note:</b> some of the platform-specific packages are required. This means your app won't perform as expected until you install the packages properly. See the <a href="https://reactiveui.net/docs/getting-started/installation/">Installation</a> docs page for more info.

| Platform | ReactiveUI Package | NuGet | [Events][EventsDocs] Package |
| ----------------- | ----------------------------------- | -------------------- | --------------------------------------- |
| .NET Standard | [ReactiveUI][CoreDoc] | [![CoreBadge]][Core] | None |
| | [ReactiveUI.Fody][FodyDoc] | [![FodyBadge]][Fody] | None |
| Unit Testing | [ReactiveUI.Testing][TestDoc] | [![TestBadge]][Test] | None |
| Universal Windows | [ReactiveUI][UniDoc] | [![CoreBadge]][Core] | [ReactiveUI.Events][CoreEvents] |
| WPF | [ReactiveUI.WPF][WpfDoc] | [![WpfBadge]][Wpf] | [ReactiveUI.Events.WPF][WpfEvents] |
| Windows Forms | [ReactiveUI.WinForms][WinDoc] | [![WinBadge]][Win] | [ReactiveUI.Events.WinForms][WinEvents] |
| Xamarin.Forms | [ReactiveUI.XamForms][XamDoc] | [![XamBadge]][Xam] | [ReactiveUI.Events.XamForms][XamEvents] |
| Xamarin.Essentials| [ReactiveUI][XamDoc] | [![CoreBadge]][Core] | [ReactiveUI.Events.XamEssentials][XamE] |
| AndroidX (Xamarin)| [ReactiveUI.AndroidX][DroDoc] | [![DroXBadge]][DroX] | [ReactiveUI.Events][CoreEvents] |
| Xamarin.Android | [ReactiveUI.AndroidSupport][DroDoc] | [![DroBadge]][Dro] | [ReactiveUI.Events][CoreEvents] |
| Xamarin.iOS | [ReactiveUI][IosDoc] | [![CoreBadge]][Core] | [ReactiveUI.Events][CoreEvents] |
| Xamarin.Mac | [ReactiveUI][MacDoc] | [![CoreBadge]][Core] | [ReactiveUI.Events][CoreEvents] |
| Tizen | [ReactiveUI][CoreDoc] | [![CoreBadge]][Core] | [ReactiveUI.Events][CoreEvents] |
| Blazor | [ReactiveUI.Blazor][BlazDoc] | [![BlazBadge]][Blaz] | None |
| Platform Uno | ReactiveUI.Uno | [![UnoBadge]][Uno] | None |
| Avalonia | [Avalonia.ReactiveUI][AvaDoc] | [![AvaBadge]][Ava] | None |
| Any | [ReactiveUI.Validation][ValDocs] | [![ValBadge]][ValCore] | None |
| Platform | ReactiveUI Package | NuGet |
| ----------------- | ----------------------------------- | -------------------- |
| .NET Standard | [ReactiveUI][CoreDoc] | [![CoreBadge]][Core] |
| | [ReactiveUI.Fody][FodyDoc] | [![FodyBadge]][Fody] |
| Unit Testing | [ReactiveUI.Testing][TestDoc] | [![TestBadge]][Test] |
| Universal Windows | [ReactiveUI][UniDoc] | [![CoreBadge]][Core] |
| WPF | [ReactiveUI.WPF][WpfDoc] | [![WpfBadge]][Wpf] |
| Windows Forms | [ReactiveUI.WinForms][WinDoc] | [![WinBadge]][Win] |
| Xamarin.Forms | [ReactiveUI.XamForms][XamDoc] | [![XamBadge]][Xam] |
| Xamarin.Essentials| [ReactiveUI][XamDoc] | [![CoreBadge]][Core] |
| AndroidX (Xamarin)| [ReactiveUI.AndroidX][DroDoc] | [![DroXBadge]][DroX] |
| Xamarin.Android | [ReactiveUI.AndroidSupport][DroDoc] | [![DroBadge]][Dro] |
| Xamarin.iOS | [ReactiveUI][IosDoc] | [![CoreBadge]][Core] |
| Xamarin.Mac | [ReactiveUI][MacDoc] | [![CoreBadge]][Core] |
| Tizen | [ReactiveUI][CoreDoc] | [![CoreBadge]][Core] |
| Blazor | [ReactiveUI.Blazor][BlazDoc] | [![BlazBadge]][Blaz] |
| Platform Uno | ReactiveUI.Uno | [![UnoBadge]][Uno] |
| Avalonia | [Avalonia.ReactiveUI][AvaDoc] | [![AvaBadge]][Ava] |
| Any | [ReactiveUI.Validation][ValDocs] | [![ValBadge]][ValCore] |

[Core]: https://www.nuget.org/packages/ReactiveUI/
[CoreEvents]: https://www.nuget.org/packages/ReactiveUI.Events/
[CoreBadge]: https://img.shields.io/nuget/v/ReactiveUI.svg
[CoreDoc]: https://reactiveui.net/docs/getting-started/installation/

Expand All @@ -59,7 +58,6 @@ Install the following packages to start building your own ReactiveUI app. <b>Not
[UniDoc]: https://reactiveui.net/docs/getting-started/installation/universal-windows-platform

[Wpf]: https://www.nuget.org/packages/ReactiveUI.WPF/
[WpfEvents]: https://www.nuget.org/packages/ReactiveUI.Events.WPF/
[WpfBadge]: https://img.shields.io/nuget/v/ReactiveUI.WPF.svg
[WpfDoc]: https://reactiveui.net/docs/getting-started/installation/windows-presentation-foundation

Expand All @@ -72,8 +70,6 @@ Install the following packages to start building your own ReactiveUI app. <b>Not
[XamEvents]: https://www.nuget.org/packages/ReactiveUI.Events.XamForms/
[XamBadge]: https://img.shields.io/nuget/v/ReactiveUI.XamForms.svg
[XamDoc]: https://reactiveui.net/docs/getting-started/installation/xamarin-forms
[XamE]: https://www.nuget.org/packages/ReactiveUI.Events.XamEssentials/

[Dro]: https://www.nuget.org/packages/ReactiveUI.AndroidSupport/
[DroBadge]: https://img.shields.io/nuget/v/ReactiveUI.AndroidSupport.svg
[DroDoc]: https://reactiveui.net/docs/getting-started/installation/xamarin-android
Expand Down Expand Up @@ -127,6 +123,14 @@ ReactiveUI is developed under an OSI-approved open source license, making it fre

If you want to submit pull requests please first open a [GitHub issue](https://github.com/reactiveui/ReactiveUI/issues/new/choose) to discuss. We are first time PR contributors friendly.

The current source uses **Visual Studio 2019 Preview**. Please install the following workloads to enable building the source:

- dotnet workload install android
- dotnet workload install ios
- dotnet workload install tvos
- dotnet workload install macos
- dotnet workload install maui

## Core Team

<table>
Expand All @@ -150,16 +154,25 @@ If you want to submit pull requests please first open a [GitHub issue](https://g
<a href="https://github.com/worldbeater">Artyom Gorchakov</a>
<p>Moscow, Russia</p>
</td>
</tr>
<tr>
<td align="center" valign="top">
<img width="100" height="100" src="https://github.com/cabauman.png?s=150">
<br>
<a href="https://github.com/cabauman">Colt Bauman</a>
<p>South Korea</p>
</td>
<td align="center" valign="top">
<img width="100" height="100" src="https://github.com/chrispulman.png?s=150">
<br>
<a href="https://github.com/chrispulman">Chris Pulman</a>
<p>UK</p>
</td>
</tr>
</tbody>
</table>


## Alumni Core Team

The following have been core team members in the past.
Expand All @@ -185,6 +198,8 @@ The following have been core team members in the past.
<a href="https://github.com/olevett">Olly Levett</a>
<p>London, United Kingdom</p>
</td>
</tr>
<tr>
<td align="center" valign="top">
<img width="100" height="100" src="https://github.com/anaisbetts.png?s=150">
<br>
Expand All @@ -207,6 +222,7 @@ The following have been core team members in the past.
</tbody>
</table>


## .NET Foundation

ReactiveUI is part of the [.NET Foundation](https://www.dotnetfoundation.org/). Other projects that are associated with the foundation include the Microsoft .NET Compiler Platform ("Roslyn") as well as the Microsoft ASP.NET family of projects, Microsoft .NET Core & Xamarin Forms.
4 changes: 2 additions & 2 deletions integrationtests/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
<SolutionDir Condition="'$(SolutionDir)' == ''">$(MSBuildThisFileDirectory)</SolutionDir>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="stylecop.analyzers" Version="1.2.0-beta.321" PrivateAssets="all" />
<PackageReference Include="stylecop.analyzers" Version="1.2.0-beta.354" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="5.0.3" PrivateAssets="all" />
<PackageReference Include="Roslynator.Analyzers" Version="3.2.0" PrivateAssets="All" />
<PackageReference Include="Roslynator.Analyzers" Version="3.2.2" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)..\src\stylecop.json" Link="stylecop.json" />
Expand Down

0 comments on commit cebb2be

Please sign in to comment.