Skip to content

Commit

Permalink
Merge pull request reactiveui#1045 from reactiveui/uap
Browse files Browse the repository at this point in the history
Add Universal Windows Platform (UWP) support.
  • Loading branch information
moswald committed Jan 23, 2016
2 parents 19f7a7a + 5e0665c commit 1d744a4
Show file tree
Hide file tree
Showing 94 changed files with 1,118 additions and 703 deletions.
11 changes: 10 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ bld/

# Roslyn cache directories
*.ide/
.vs/

# MSTest test Results
[Tt]est[Rr]esult*/
Expand Down Expand Up @@ -135,11 +136,17 @@ packages/*
## 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/
#!packages/build/

*.nuget.props
*.nuget.targets
*.lock.json

# Windows Azure Build Output
csx/
Expand Down Expand Up @@ -204,6 +211,8 @@ ReactiveUI.Events/EventBuilder.exe.mdb
ReactiveUI.Events/Mono.*
ReactiveUI.Events/Nustache.*

nuget.exe

ext/monodroid/18


Expand Down
Binary file removed .nuget/NuGet.exe
Binary file not shown.
84 changes: 55 additions & 29 deletions MakeRelease.ps1
Original file line number Diff line number Diff line change
@@ -1,25 +1,55 @@
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", "Xamarin.Mac10"}
$Archs = {
"Mono",
"Monoandroid",
"Monomac",
"Monotouch",
"Net45",
"Portable-Net45+Win8+WP8+WPA81",
"Portable-Net45+WinRT45+WP8+MonoAndroid10+MonoTouch10",
"Portable-Win81+Wpa81",
"uap10.0",
"WPA81",
"WP8",
"WP81"
"Xamarin.iOS10",
"Xamarin.Mac10"
}

$Projects = {
"ReactiveUI", "ReactiveUI.Testing", "ReactiveUI.Blend", "ReactiveUI.Winforms",
"RxUIViewModelGenerator", "ReactiveUI.Events", "ReactiveUI.AndroidSupport",
"ReactiveUI.XamForms"
"ReactiveUI",
"ReactiveUI.AndroidSupport",
"ReactiveUI.Blend",
"ReactiveUI.Events",
"ReactiveUI.Testing",
"ReactiveUI.Winforms",
"ReactiveUI.XamForms",
"RxUIViewModelGenerator"
}

$MSBuildLocation = "C:\Program Files (x86)\MSBuild\12.0\bin"
$MSBuildLocation = "C:\Program Files (x86)\MSBuild\14.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

$url = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
$nugetExe = "$(pwd)\nuget.exe"

$nugetExists = Test-Path $nugetExe

if($nugetExists -eq $False) {
"NuGet: Downloading latest from [$url]`nSaving at [$nugetExe]"
$client = new-object System.Net.WebClient
$client.DownloadFile($url, $nugetExe)
}

& $nugetExe restore .\ReactiveUI.sln
& "$MSBuildLocation\MSBuild.exe" /v:m /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU" /maxcpucount:1 .\ReactiveUI.sln

###
### Build the Release directory
Expand All @@ -29,25 +59,19 @@ if (Test-Path .\Release) {
rmdir -r -force .\Release
}

foreach-object $Archs | %{mkdir -Path ".\Release\$_"}
foreach-object $Archs | %{mkdir -Path ".\Release\$_" | out-null}

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}


get-childitem -r .\Release | ?{$_.FullName.Contains("Clousot")} | %{rm $_.FullName}
###
### Build NuGet Packages
###
Expand Down Expand Up @@ -83,9 +107,9 @@ if($version) {

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"}
$libDirs = get-childitem -r .\NuGet-Release | ?{$_.Name -eq "lib"}
$srcDirs = get-childitem -r .\NuGet-Release | ?{$_.Name -eq "src"} | %{get-childitem $_.FullName}
$toolsDirs = get-childitem -r .\NuGet-Release | ?{$_.Name -eq "tools"}
$nugetReleaseDir = Resolve-Path ".\NuGet-Release"

# copy binaries
Expand All @@ -98,7 +122,7 @@ foreach ($dir in $libDirs) {
foreach ($dir in $toolsDirs) {
echo "foo"
echo $dir.FullName
$files = ls $dir.FullName
$files = get-childitem $dir.FullName

foreach ($file in $files) {
echo "bar"
Expand All @@ -116,13 +140,15 @@ foreach ($dir in $srcDirs) {
robocopy ".\$projFolderName\" "$($dir.FullName)" *.cs /S
}

$stubs = ls -r -file .\NuGet-Release | ?{$_.Length -eq 0} | ?{!$_.FullName.Contains("src")}
$stubs = get-childitem -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? ***"
echo $stubs
#exit 1
}

$specFiles = ls -r .\NuGet-Release | ?{$_.Name.EndsWith(".nuspec")}
$specFiles | %{.\.nuget\NuGet.exe pack -symbols $_.FullName}
mkdir -path artifacts -ea silentlycontinue | out-null
$specFiles = get-childitem -r .\NuGet-Release | ?{$_.Name.EndsWith(".nuspec")}
$specFiles | %{& $nugetExe pack -symbols $_.FullName -OutputDirectory artifacts}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>reactiveui-androidsupport</id>
<version>6.5.0</version>
<description>ReactiveUI extensions for the Android Support Library</description>
Expand Down
16 changes: 12 additions & 4 deletions NuGet/ReactiveUI-Blend/ReactiveUI-Blend.nuspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>reactiveui-blend</id>
<version>6.5.0</version>
<description>Blend behaviors for ReactiveUI</description>
Expand All @@ -9,7 +9,6 @@
<licenseUrl>http://opensource.org/licenses/ms-pl.html</licenseUrl>
<language>en-us</language>
<requireLicenseAcceptance>false</requireLicenseAcceptance>

<dependencies>
<group>
<dependency id="reactiveui-core" version="[6.5.0]" />
Expand All @@ -26,6 +25,15 @@
<dependency id="reactiveui-core" version="[6.5.0]" />
<dependency id="Rx-Xaml" version="2.2.5" />
</group>
<group targetFramework="uap10.0">
<dependency id="reactiveui-core" version="[6.5.0]" />
<dependency id="Microsoft.Xaml.Behaviors.Uwp.Managed" version="1.0.3" />
<dependency id="Rx-Core" version="2.2.5" />
<dependency id="Rx-Interfaces" version="2.2.5" />
<dependency id="Rx-Linq" version="2.2.5" />
<dependency id="System.Diagnostics.Debug" version="4.0.10" />
<dependency id="System.Runtime" version="4.0.20" />
</group>
</dependencies>
</metadata>
</package>
</package>
38 changes: 32 additions & 6 deletions NuGet/ReactiveUI-Core/ReactiveUI-Core.nuspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>reactiveui-core</id>
<version>6.5.0</version>
<description>An MVVM library for .NET that is deeply integrated with the Reactive Extensions</description>
Expand All @@ -20,23 +20,49 @@
<dependency id="Rx-Xaml" version="2.2.5" />
<dependency id="Rx-WinRT" version="2.2.5" />
</group>
<group targetFramework="wp8">
<group targetFramework="wp8">
<dependency id="Rx-Main" version="2.2.5" />
<dependency id="Splat" version="[1,2)" />
<dependency id="Rx-Xaml" version="2.2.5" />
<dependency id="Rx-WinRT" version="2.2.5" />
</group>
<group targetFramework="net45">
<group targetFramework="net45">
<dependency id="Rx-Main" version="2.2.5" />
<dependency id="Splat" version="[1,2)" />
<dependency id="Rx-Xaml" version="2.2.5" />
</group>
<group targetFramework="Portable-Win81+Wpa81">
<group targetFramework="Portable-Win81+Wpa81">
<dependency id="Rx-Main" version="2.2.5" />
<dependency id="Splat" version="[1,2)" />
<dependency id="Rx-Xaml" version="2.2.5" />
<dependency id="Rx-WinRT" version="2.2.5" />
</group>
</group>
<group targetFramework="uap10.0">
<dependency id="Rx-Core" version="2.2.5" />
<dependency id="Rx-Interfaces" version="2.2.5" />
<dependency id="Rx-Linq" version="2.2.5" />
<dependency id="Rx-PlatformServices" version="2.2.5" />
<dependency id="Rx-WindowStoreApps" version="2.2.5" />
<dependency id="Rx-WinRT" version="2.2.5" />
<dependency id="Splat" version="1.6.2" />
<dependency id="System.Collections" version="4.0.10" />
<dependency id="System.Diagnostics.Debug" version="4.0.10" />
<dependency id="System.Diagnostics.Tools" version="4.0.0" />
<dependency id="System.IO" version="4.0.10" />
<dependency id="System.Linq" version="4.0.0" />
<dependency id="System.Linq.Expressions" version="4.0.10" />
<dependency id="System.ObjectModel" version="4.0.10" />
<dependency id="System.Reflection" version="4.0.10" />
<dependency id="System.Reflection.Extensions" version="4.0.0" />
<dependency id="System.Runtime" version="4.0.20" />
<dependency id="System.Runtime.Extensions" version="4.0.10" />
<dependency id="System.Runtime.InteropServices.WindowsRuntime" version="4.0.0" />
<dependency id="System.Runtime.Serialization.Primitives" version="4.0.10" />
<dependency id="System.Runtime.Serialization.Xml" version="4.0.10" />
<dependency id="System.Text.Encoding" version="4.0.10" />
<dependency id="System.Threading" version="4.0.10" />
<dependency id="System.Threading.Tasks" version="4.0.10" />
</group>
</dependencies>
</metadata>
</package>
17 changes: 13 additions & 4 deletions NuGet/ReactiveUI-Events/ReactiveUI-Events.nuspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>reactiveui-events</id>
<version>6.5.0</version>
<description>ReactiveUI.Events adds Observable-based events to UI controls and other appropriate places.</description>
Expand All @@ -10,7 +10,16 @@
<language>en-us</language>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies>
<dependency id="Rx-Main" version="2.2.5" />
<group>
<dependency id="Rx-Main" version="2.2.5" />
</group>
<group targetFramework="uap10.0">
<dependency id="Rx-Interfaces" version="2.2.5" />
<dependency id="Rx-Linq" version="2.2.5" />
<dependency id="System.ObjectModel" version="4.0.10" />
<dependency id="System.Runtime" version="4.0.20" />
<dependency id="System.Runtime.InteropServices.WindowsRuntime" version="4.0.0" />
</group>
</dependencies>
</metadata>
</package>
</package>
17 changes: 14 additions & 3 deletions NuGet/ReactiveUI-Testing/ReactiveUI-Testing.nuspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>reactiveui-testing</id>
<version>6.5.0</version>
<description>A library to aid in writing unit tests for ReactiveUI projects</description>
Expand All @@ -22,6 +22,17 @@
<dependency id="reactiveui-core" version="[6.5.0]" />
<dependency id="Rx-Testing" version="2.2.5" />
</group>
<group targetFramework="uap10.0">
<dependency id="reactiveui-core" version="[6.5.0]" />
<dependency id="Rx-Core" version="2.2.5" />
<dependency id="Rx-Interfaces" version="2.2.5" />
<dependency id="Rx-Linq" version="2.2.5" />
<dependency id="Rx-Testing" version="2.2.5" />
<dependency id="System.Diagnostics.Debug" version="4.0.10" />
<dependency id="System.Runtime" version="4.0.20" />
<dependency id="System.Threading" version="4.0.10" />
<dependency id="System.Threading.Tasks" version="4.0.10" />
</group>
<group targetFramework="monoandroid">
<dependency id="reactiveui-core" version="[6.5.0]" />
</group>
Expand All @@ -30,4 +41,4 @@
</group>
</dependencies>
</metadata>
</package>
</package>
Empty file.
4 changes: 2 additions & 2 deletions NuGet/ReactiveUI-Winforms/ReactiveUI-Winforms.nuspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>reactiveui-winforms</id>
<version>6.5.0</version>
<description>Windows Forms specific extensions to ReactiveUI</description>
Expand Down
4 changes: 2 additions & 2 deletions NuGet/ReactiveUI-XamForms/ReactiveUI-XamForms.nuspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>reactiveui-xamforms</id>
<version>6.5.0</version>
<description>Xamarin Forms specific extensions to ReactiveUI</description>
Expand Down
17 changes: 0 additions & 17 deletions NuGet/ReactiveUI/ReactiveUI-Mobile.nuspec

This file was deleted.

Loading

0 comments on commit 1d744a4

Please sign in to comment.