From 7e73affba0f2240de8fa14f58b6c1b0b219f486e Mon Sep 17 00:00:00 2001 From: yfakariya Date: Thu, 2 Feb 2017 22:31:30 +0900 Subject: [PATCH 01/12] Fix some collection built in serializer bypass null check. #211 Some built-in serializers use UnpackFromCore instead of UnpackFrom for items deserialization. This causes bypass of null check, then null items are deserialized as non-null objects. --- CHANGES.txt | 5 ++ ...ric_Dictionary_2MessagePackSerializer`2.cs | 16 ++--- ...c_KeyValuePair_2MessagePackSerializer`2.cs | 8 +-- ...s_Generic_List_1MessagePackSerializer`1.cs | 8 +-- ..._Generic_Stack_1MessagePackSerializer`1.cs | 2 +- .../Serialization/RegressionTests.cs | 65 +++++++++++++++++++ 6 files changed, 87 insertions(+), 17 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 0fcd8201b..8910d2598 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -594,3 +594,8 @@ Release 0.8.0 beta 2016/07/24 IMPROVEMENTS * Relax constructor based deserialization condition. It will be used even if there are any settable members(including private property setters). Part of issue #178 and fixes issue #135. * PackHelpers and UnpackHelpers APIs are now backward compatible. + +Release 0.8.1 2017/02/02 + + BUG FIXES + * Fix null items of complex type in List or Dictionary will not be deserialized as null. Issue #211. diff --git a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs index a9b9f65c2..12d46bdea 100644 --- a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs +++ b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs @@ -103,12 +103,12 @@ private void UnpackToCore( Unpacker unpacker, Dictionary collectio { using ( var subTreeUnpacker = unpacker.ReadSubtree() ) { - key = this._keySerializer.UnpackFromCore( subTreeUnpacker ); + key = this._keySerializer.UnpackFrom( subTreeUnpacker ); } } else { - key = this._keySerializer.UnpackFromCore( unpacker ); + key = this._keySerializer.UnpackFrom( unpacker ); } if ( !unpacker.Read() ) @@ -120,12 +120,12 @@ private void UnpackToCore( Unpacker unpacker, Dictionary collectio { using ( var subTreeUnpacker = unpacker.ReadSubtree() ) { - collection.Add( key, this._valueSerializer.UnpackFromCore( subTreeUnpacker ) ); + collection.Add( key, this._valueSerializer.UnpackFrom( subTreeUnpacker ) ); } } else { - collection.Add( key, this._valueSerializer.UnpackFromCore( unpacker ) ); + collection.Add( key, this._valueSerializer.UnpackFrom( unpacker ) ); } } } @@ -180,12 +180,12 @@ private async Task UnpackToAsyncCore( Unpacker unpacker, Dictionary UnpackFromCore( Unpacker SerializationExceptions.ThrowUnexpectedEndOfStream( unpacker ); } - var key = unpacker.LastReadData.IsNil ? default( TKey ) : this._keySerializer.UnpackFromCore( unpacker ); + var key = unpacker.LastReadData.IsNil ? default( TKey ) : this._keySerializer.UnpackFrom( unpacker ); if ( !unpacker.Read() ) { SerializationExceptions.ThrowUnexpectedEndOfStream( unpacker ); } - var value = unpacker.LastReadData.IsNil ? default( TValue ) : this._valueSerializer.UnpackFromCore( unpacker ); + var value = unpacker.LastReadData.IsNil ? default( TValue ) : this._valueSerializer.UnpackFrom( unpacker ); return new KeyValuePair( key, value ); } @@ -89,14 +89,14 @@ protected internal override async Task> UnpackFromAsy SerializationExceptions.ThrowUnexpectedEndOfStream( unpacker ); } - var key = unpacker.LastReadData.IsNil ? default( TKey ) : await this._keySerializer.UnpackFromAsyncCore( unpacker, cancellationToken ).ConfigureAwait( false ); + var key = unpacker.LastReadData.IsNil ? default( TKey ) : await this._keySerializer.UnpackFromAsync( unpacker, cancellationToken ).ConfigureAwait( false ); if ( !await unpacker.ReadAsync( cancellationToken ).ConfigureAwait( false ) ) { SerializationExceptions.ThrowUnexpectedEndOfStream( unpacker ); } - var value = unpacker.LastReadData.IsNil ? default( TValue ) : await this._valueSerializer.UnpackFromAsyncCore( unpacker, cancellationToken ).ConfigureAwait( false ); + var value = unpacker.LastReadData.IsNil ? default( TValue ) : await this._valueSerializer.UnpackFromAsync( unpacker, cancellationToken ).ConfigureAwait( false ); return new KeyValuePair( key, value ); } diff --git a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_List_1MessagePackSerializer`1.cs b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_List_1MessagePackSerializer`1.cs index 739ad2b72..06032a821 100644 --- a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_List_1MessagePackSerializer`1.cs +++ b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_List_1MessagePackSerializer`1.cs @@ -99,12 +99,12 @@ private void UnpackToCore( Unpacker unpacker, List collection, int count ) { using ( var subTreeUnpacker = unpacker.ReadSubtree() ) { - collection.Add( this._itemSerializer.UnpackFromCore( subTreeUnpacker ) ); + collection.Add( this._itemSerializer.UnpackFrom( subTreeUnpacker ) ); } } else { - collection.Add( this._itemSerializer.UnpackFromCore( unpacker ) ); + collection.Add( this._itemSerializer.UnpackFrom( unpacker ) ); } } } @@ -158,12 +158,12 @@ private async Task UnpackToAsyncCore( Unpacker unpacker, List collection, int { using ( var subTreeUnpacker = unpacker.ReadSubtree() ) { - collection.Add( await this._itemSerializer.UnpackFromAsyncCore( subTreeUnpacker, cancellationToken ).ConfigureAwait( false ) ); + collection.Add( await this._itemSerializer.UnpackFromAsync( subTreeUnpacker, cancellationToken ).ConfigureAwait( false ) ); } } else { - collection.Add( await this._itemSerializer.UnpackFromAsyncCore( unpacker, cancellationToken ).ConfigureAwait( false ) ); + collection.Add( await this._itemSerializer.UnpackFromAsync( unpacker, cancellationToken ).ConfigureAwait( false ) ); } } } diff --git a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Stack_1MessagePackSerializer`1.cs b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Stack_1MessagePackSerializer`1.cs index a22c1b82e..8812715fd 100644 --- a/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Stack_1MessagePackSerializer`1.cs +++ b/src/MsgPack/Serialization/DefaultSerializers/System_Collections_Generic_Stack_1MessagePackSerializer`1.cs @@ -111,7 +111,7 @@ protected internal override async Task PackToAsyncCore( Packer packer, Stack items ) } } #endif // !SILVERLIGHT && !AOT && !NETSTANDARD1_1 && !NETSTANDARD1_3 + + [Test] + public void TestIssue211_ListOfT() + { + var target = new SerializationContext().GetSerializer>(); + using ( var buffer = new MemoryStream() ) + { + target.Pack( buffer, new List { null } ); + buffer.Position = 0; + var result = target.Unpack( buffer ); + Assert.That( result.Count, Is.EqualTo( 1 ) ); + Assert.That( result[ 0 ], Is.Null ); + } + } + + [Test] + public void TestIssue211_DictionaryOfT() + { + var target = new SerializationContext().GetSerializer>(); + using ( var buffer = new MemoryStream() ) + { + target.Pack( buffer, new Dictionary { { String.Empty, null } } ); + buffer.Position = 0; + var result = target.Unpack( buffer ); + Assert.That( result.Count, Is.EqualTo( 1 ) ); + Assert.That( result.First().Value, Is.Null ); + } + } + + [Test] + public void TestIssue211_StackOfT() + { + var target = new SerializationContext().GetSerializer>(); + using ( var buffer = new MemoryStream() ) + { + var obj = new Stack(); + obj.Push( null ); + target.Pack( buffer, obj ); + buffer.Position = 0; + var result = target.Unpack( buffer ); + Assert.That( result.Count, Is.EqualTo( 1 ) ); + Assert.That( result.Pop(), Is.Null ); + } + } + + [Test] + public void TestIssue211_QueueOfT() + { + var target = new SerializationContext().GetSerializer>(); + using ( var buffer = new MemoryStream() ) + { + var obj = new Queue(); + obj.Enqueue( null ); + target.Pack( buffer, obj ); + buffer.Position = 0; + var result = target.Unpack( buffer ); + Assert.That( result.Count, Is.EqualTo( 1 ) ); + Assert.That( result.Dequeue(), Is.Null ); + } + } + + public class SingleValueObject + { + public string Value { get; set; } + } } } From 96f5dc6e89e8717fcdcb82edc3b8173681c8f45c Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 09:22:38 +0900 Subject: [PATCH 02/12] Fix version suffix and logs. --- build/SetBuildEnv.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/SetBuildEnv.ps1 b/build/SetBuildEnv.ps1 index 12432b7bc..320007063 100644 --- a/build/SetBuildEnv.ps1 +++ b/build/SetBuildEnv.ps1 @@ -7,15 +7,15 @@ if ( $env:APPVEYOR_REPO_TAG -ne "True" ) { $now = [DateTime]::UtcNow $daysSpan = $now - ( New-Object DateTime( $now.Year, 1, 1 ) ) - $env:PackageVersion = "${version}-dev-{0:yy}{1:000}" -f @( $now, $daysSpan.Days ) + $env:PackageVersion = "${version}-{0:yy}{1:000}" -f @( $now, $daysSpan.Days ) } elseif ( ${version} -match "^[\d.]+$" ) { - $env:PackageVersion = "${version}-final-${env:APPVEYOR_BUILD_NUMBER}" + $env:PackageVersion = "${version}-${env:APPVEYOR_BUILD_NUMBER}" } else { - $env:PackageVersion = "${version}-dev-${env:APPVEYOR_BUILD_NUMBER}" + $env:PackageVersion = "${version}-${env:APPVEYOR_BUILD_NUMBER}" } } else @@ -23,4 +23,4 @@ else $env:PackageVersion = $version } -Write-Information "version:'${version}', AssemblyBaseVersion:'${AssemblyBaseVersion}', PackageVersion:'${PackageVersion}'" +Write-Host "version:'${version}', AssemblyBaseVersion:'${AssemblyBaseVersion}', PackageVersion:'${PackageVersion}'" From fbdd03cabb23e0334af50226701299d8c1f0a27d Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 09:23:35 +0900 Subject: [PATCH 03/12] Temporary disable android sdk fetch. --- appveyor-release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/appveyor-release.yml b/appveyor-release.yml index eb6ad6423..8b9e55782 100644 --- a/appveyor-release.yml +++ b/appveyor-release.yml @@ -8,9 +8,9 @@ init: - cmd: >- cd \ - appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.3.4-windows.zip +@rem appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.3.4-windows.zip - 7z x android-sdk_r24.3.4-windows.zip > nul +@rem 7z x android-sdk_r24.3.4-windows.zip > nul cd %APPVEYOR_BUILD_FOLDER% assembly_info: @@ -27,7 +27,7 @@ install: ./SetBuildEnv.ps1 - ./UpdateAndroidSdk.cmd +# ./UpdateAndroidSdk.cmd cd .. build_script: From 6dd585835716bcf753452ebaaebe190dff057931 Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 09:29:28 +0900 Subject: [PATCH 04/12] Fix appveyor.yml. --- appveyor-release.yml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/appveyor-release.yml b/appveyor-release.yml index 8b9e55782..9b05644b5 100644 --- a/appveyor-release.yml +++ b/appveyor-release.yml @@ -4,15 +4,6 @@ branches: - master - 0.7 configuration: Release -init: -- cmd: >- - cd \ - -@rem appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.3.4-windows.zip - -@rem 7z x android-sdk_r24.3.4-windows.zip > nul - - cd %APPVEYOR_BUILD_FOLDER% assembly_info: patch: true file: '**\*AssemblyInfo.cs' @@ -27,8 +18,6 @@ install: ./SetBuildEnv.ps1 -# ./UpdateAndroidSdk.cmd - cd .. build_script: - ps: >- From 020fd18ad54fba55e72d9f2e6b5bbf5b6455bebd Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 09:31:49 +0900 Subject: [PATCH 05/12] Fix log message. --- build/SetBuildEnv.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/SetBuildEnv.ps1 b/build/SetBuildEnv.ps1 index 320007063..9a8f40008 100644 --- a/build/SetBuildEnv.ps1 +++ b/build/SetBuildEnv.ps1 @@ -23,4 +23,4 @@ else $env:PackageVersion = $version } -Write-Host "version:'${version}', AssemblyBaseVersion:'${AssemblyBaseVersion}', PackageVersion:'${PackageVersion}'" +Write-Host "version:'${version}', AssemblyBaseVersion:'${env:AssemblyBaseVersion}', PackageVersion:'${env:PackageVersion}'" From 60496d5e481a2019572b2080dcf4a0f9fdb4ab53 Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 09:34:59 +0900 Subject: [PATCH 06/12] Restore Android SDK fetch with version up. --- appveyor-debug.yml | 4 ++-- appveyor-release.yml | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/appveyor-debug.yml b/appveyor-debug.yml index 64e8f612e..d8f5dbd74 100644 --- a/appveyor-debug.yml +++ b/appveyor-debug.yml @@ -5,9 +5,9 @@ init: - cmd: >- cd \ - appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.3.4-windows.zip + appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.4.1-windows.zip - 7z x android-sdk_r24.3.4-windows.zip > nul + 7z x android-sdk_r24.4.1-windows.zip > nul cd %APPVEYOR_BUILD_FOLDER% assembly_info: diff --git a/appveyor-release.yml b/appveyor-release.yml index 9b05644b5..001a70184 100644 --- a/appveyor-release.yml +++ b/appveyor-release.yml @@ -4,6 +4,15 @@ branches: - master - 0.7 configuration: Release +init: +- cmd: >- + cd \ + + appveyor DownloadFile http://dl.google.com/android/android-sdk_r24.4.1-windows.zip + + 7z x android-sdk_r24.4.1-windows.zip > nul + + cd %APPVEYOR_BUILD_FOLDER% assembly_info: patch: true file: '**\*AssemblyInfo.cs' @@ -18,6 +27,8 @@ install: ./SetBuildEnv.ps1 + ./UpdateAndroidSdk.cmd + cd .. build_script: - ps: >- From 692d5865ee7b8501f9fa36a7375a47cd057c6c9f Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 16:56:17 +0900 Subject: [PATCH 07/12] Fix iOS build. This commit removes Xamarin iOS classic project and migrate unit test to unified project. --- MsgPack.Xamarin.sln | 30 +- Sync.xml | 12 +- .../MsgPack.Xamarin.iOS.Unified.csproj | 747 ------------------ .../Properties/AssemblyInfo.cs | 40 - .../MsgPack.Xamarin.iOS.csproj | 23 +- .../Properties/AssemblyInfo.cs | 10 +- ...{UnitTestAppDelegate.cs => AppDelegate.cs} | 41 +- test/MsgPack.UnitTest.Xamarin.iOS/Info.plist | 73 +- test/MsgPack.UnitTest.Xamarin.iOS/Main.cs | 14 +- .../MsgPack.UnitTest.Xamarin.iOS.csproj | 41 +- .../Resources/Default-568h@2x.png | Bin 0 -> 12651 bytes .../Resources/Default.png | Bin 0 -> 5281 bytes .../Resources/Default@2x.png | Bin 0 -> 11793 bytes 13 files changed, 108 insertions(+), 923 deletions(-) delete mode 100644 src/MsgPack.Xamarin.iOS.Unified/MsgPack.Xamarin.iOS.Unified.csproj delete mode 100644 src/MsgPack.Xamarin.iOS.Unified/Properties/AssemblyInfo.cs rename test/MsgPack.UnitTest.Xamarin.iOS/{UnitTestAppDelegate.cs => AppDelegate.cs} (51%) create mode 100644 test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default-568h@2x.png create mode 100644 test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default.png create mode 100644 test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default@2x.png diff --git a/MsgPack.Xamarin.sln b/MsgPack.Xamarin.sln index ab25a0e42..c5653bb14 100644 --- a/MsgPack.Xamarin.sln +++ b/MsgPack.Xamarin.sln @@ -24,11 +24,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{DB9CF5 .nuget\NuGet.targets = .nuget\NuGet.targets EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsgPack.Xamarin.iOS", "src\MsgPack.Xamarin.iOS\MsgPack.Xamarin.iOS.csproj", "{346B55F0-94FA-4B90-9C11-06031043B685}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsgPack.UnitTest.Xamarin.iOS", "test\MsgPack.UnitTest.Xamarin.iOS\MsgPack.UnitTest.Xamarin.iOS.csproj", "{2B75A9C8-F891-4F78-9E27-8B6FE972DE6C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsgPack.Xamarin.iOS.Unified", "src\MsgPack.Xamarin.iOS.Unified\MsgPack.Xamarin.iOS.Unified.csproj", "{C9710C8A-2FA9-47FE-812C-992C283471CC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsgPack.Xamarin.iOS", "src\MsgPack.Xamarin.iOS\MsgPack.Xamarin.iOS.csproj", "{C9710C8A-2FA9-47FE-812C-992C283471CC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -103,31 +101,6 @@ Global {5EDECDB4-5179-4441-974F-EC26B4F54528}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU {5EDECDB4-5179-4441-974F-EC26B4F54528}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {5EDECDB4-5179-4441-974F-EC26B4F54528}.Release|Mixed Platforms.Deploy.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|Any CPU.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|Any CPU.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|iPhone.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|Any CPU.Build.0 = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|iPhone.Build.0 = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|Any CPU.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|Any CPU.Build.0 = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|iPhone.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {346B55F0-94FA-4B90-9C11-06031043B685}.Release|Mixed Platforms.Build.0 = Release|Any CPU {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone @@ -195,7 +168,6 @@ Global {BA5E7D16-23AB-44B5-BAF5-6E9C9F51E67A} = {1BD5D488-707E-4030-8AE8-80D93D04963F} {A6210C9C-1614-46C5-97B2-6A37032AF143} = {BA5E7D16-23AB-44B5-BAF5-6E9C9F51E67A} {5EDECDB4-5179-4441-974F-EC26B4F54528} = {87A17015-9338-431E-B338-57BDA03984C1} - {346B55F0-94FA-4B90-9C11-06031043B685} = {BA5E7D16-23AB-44B5-BAF5-6E9C9F51E67A} {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C} = {87A17015-9338-431E-B338-57BDA03984C1} {C9710C8A-2FA9-47FE-812C-992C283471CC} = {BA5E7D16-23AB-44B5-BAF5-6E9C9F51E67A} EndGlobalSection diff --git a/Sync.xml b/Sync.xml index 74d135d57..793e65bbb 100644 --- a/Sync.xml +++ b/Sync.xml @@ -43,6 +43,7 @@ + @@ -86,16 +87,9 @@ - - - - - - - - - + + diff --git a/src/MsgPack.Xamarin.iOS.Unified/MsgPack.Xamarin.iOS.Unified.csproj b/src/MsgPack.Xamarin.iOS.Unified/MsgPack.Xamarin.iOS.Unified.csproj deleted file mode 100644 index 1128db0dd..000000000 --- a/src/MsgPack.Xamarin.iOS.Unified/MsgPack.Xamarin.iOS.Unified.csproj +++ /dev/null @@ -1,747 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {C9710C8A-2FA9-47FE-812C-992C283471CC} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - MsgPack - Resources - MsgPack - - - true - full - false - bin\Debug - DEBUG;__UNIFIED__;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; - prompt - 4 - false - bin\Debug\MsgPack.xml - - - full - true - ..\..\bin\Xamarin.iOS10\ - prompt - 4 - false - __UNIFIED__;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; - ..\..\bin\Xamarin.iOS10\MsgPack.XML - - - - - - - - - - - - - Properties\CommonAssemblyInfo.cs - - - AsyncReadResult.cs - - - AsyncReadResult`1.cs - - - BigEndianBinary.cs - - - Binary.cs - - - BufferManager.cs - - - CollectionDebuggerProxy`1.cs - - - CollectionOperation.cs - - - DictionaryDebuggerProxy`2.cs - - - Float32Bits.cs - - - Float64Bits.cs - - - GlobalSuppressions.cs - - - IAsyncPackable.cs - - - IAsyncUnpackable.cs - - - InvalidMessagePackStreamException.cs - - - IPackable.cs - - - ItemsUnpacker.cs - - - ItemsUnpacker.Read.cs - - - ItemsUnpacker.Skipping.cs - - - ItemsUnpacker.Unpacking.cs - - - IUnpackable.cs - - - KnownExtTypeCode.cs - - - KnownExtTypeName.cs - - - MessageNotSupportedException.cs - - - MessagePackCode.cs - - - MessagePackConvert.cs - - - MessagePackExtendedTypeObject.cs - - - MessagePackObject.cs - - - MessagePackObject.Utilities.cs - - - MessagePackObjectDictionary.cs - - - MessagePackObjectDictionary.Enumerator.cs - - - MessagePackObjectDictionary.KeySet.cs - - - MessagePackObjectDictionary.KeySet.Enumerator.cs - - - MessagePackObjectDictionary.ValueCollection.cs - - - MessagePackObjectDictionary.ValueCollection.Enumerator.cs - - - MessagePackObjectEqualityComparer.cs - - - MessagePackString.cs - - - MessageTypeException.cs - - - Packer.cs - - - Packer.Nullable.cs - - - Packer.Packing.cs - - - PackerCompatibilityOptions.cs - - - PackerUnpackerExtensions.cs - - - PackerUnpackerStreamOptions.cs - - - PackingOptions.cs - - - PreserveAttribute.cs - - - ReflectionAbstractions.cs - - - Serialization\CollectionDetailedKind.cs - - - Serialization\CollectionKind.cs - - - Serialization\CollectionSerializers\CollectionMessagePackSerializerBase`2.cs - - - Serialization\CollectionSerializers\CollectionMessagePackSerializer`2.cs - - - Serialization\CollectionSerializers\CollectionSerializerHelpers.cs - - - Serialization\CollectionSerializers\DictionaryMessagePackSerializerBase`3.cs - - - Serialization\CollectionSerializers\DictionaryMessagePackSerializer`3.cs - - - Serialization\CollectionSerializers\EnumerableMessagePackSerializerBase`2.cs - - - Serialization\CollectionSerializers\EnumerableMessagePackSerializer`2.cs - - - Serialization\CollectionSerializers\ICollectionInstanceFactory.cs - - - Serialization\CollectionSerializers\NonGenericCollectionMessagePackSerializer`1.cs - - - Serialization\CollectionSerializers\NonGenericDictionaryMessagePackSerializer`1.cs - - - Serialization\CollectionSerializers\NonGenericEnumerableMessagePackSerializerBase`1.cs - - - Serialization\CollectionSerializers\NonGenericEnumerableMessagePackSerializer`1.cs - - - Serialization\CollectionSerializers\NonGenericListMessagePackSerializer`1.cs - - - Serialization\CollectionSerializers\ReadOnlyCollectionMessagePackSerializer`2.cs - - - Serialization\CollectionSerializers\ReadOnlyDictionaryMessagePackSerializer`3.cs - - - Serialization\CollectionTraitOptions.cs - - - Serialization\CollectionTraits.cs - - - Serialization\DataMemberContract.cs - - - Serialization\DateTimeConversionMethod.cs - - - Serialization\DateTimeMemberConversionMethod.cs - - - Serialization\DateTimeMessagePackSerializerHelpers.cs - - - Serialization\DefaultConcreteTypeRepository.cs - - - Serialization\DefaultSerializers\AbstractCollectionMessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\AbstractCollectionSerializerHelper.cs - - - Serialization\DefaultSerializers\AbstractDictionaryMessagePackSerializer`3.cs - - - Serialization\DefaultSerializers\AbstractEnumerableMessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\AbstractNonGenericCollectionMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\AbstractNonGenericDictionaryMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\AbstractNonGenericEnumerableMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\AbstractNonGenericListMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\AbstractReadOnlyCollectionMessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\AbstractReadOnlyDictionaryMessagePackSerializer`3.cs - - - Serialization\DefaultSerializers\ArraySegmentMessageSerializer.cs - - - Serialization\DefaultSerializers\ArraySerializer.cs - - - Serialization\DefaultSerializers\ArraySerializer.Primitives.cs - - - Serialization\DefaultSerializers\ArraySerializer`1.cs - - - Serialization\DefaultSerializers\DateTimeMessagePackSerializerProvider.cs - - - Serialization\DefaultSerializers\DateTimeOffsetMessagePackSerializer.cs - - - Serialization\DefaultSerializers\DateTimeOffsetMessagePackSerializerProvider.cs - - - Serialization\DefaultSerializers\DefaultSerializers.cs - - - Serialization\DefaultSerializers\FSharpCollectionSerializer`2.cs - - - Serialization\DefaultSerializers\FSharpMapSerializer`3.cs - - - Serialization\DefaultSerializers\GenericSerializer.cs - - - Serialization\DefaultSerializers\ImmutableCollectionSerializer`2.cs - - - Serialization\DefaultSerializers\ImmutableDictionarySerializer`3.cs - - - Serialization\DefaultSerializers\ImmutableStackSerializer`2.cs - - - Serialization\DefaultSerializers\InternalDateTimeExtensions.cs - - - Serialization\DefaultSerializers\MessagePackObjectExtensions.cs - - - Serialization\DefaultSerializers\MsgPack_MessagePackExtendedTypeObjectMessagePackSerializer.cs - - - Serialization\DefaultSerializers\MsgPack_MessagePackObjectDictionaryMessagePackSerializer.cs - - - Serialization\DefaultSerializers\MsgPack_MessagePackObjectMessagePackSerializer.cs - - - Serialization\DefaultSerializers\MultidimensionalArraySerializer`1.cs - - - Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs - - - Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_ArraySegment_1MessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_ByteArrayMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_CharArrayMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_DictionaryEntryMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_Dictionary_2MessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_KeyValuePair_2MessagePackSerializer`2.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_ListOfMessagePackObjectMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_List_1MessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_Queue_1MessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_Collections_Generic_Stack_1MessagePackSerializer`1.cs - - - Serialization\DefaultSerializers\System_Collections_QueueMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_Specialized_NameValueCollectionMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Collections_StackMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Globalization_CultureInfoMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Numerics_ComplexMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_ObjectMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_StringMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_Text_StringBuilderMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_UriMessagePackSerializer.cs - - - Serialization\DefaultSerializers\System_VersionMessagePackSerializer.cs - - - Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs - - - Serialization\DictionaryKeyTransformers.cs - - - Serialization\DictionarySerlaizationOptions.cs - - - Serialization\EmitterFlavor.cs - - - Serialization\EnumMemberSerializationMethod.cs - - - Serialization\EnumMessagePackSerializerHelpers.cs - - - Serialization\EnumMessagePackSerializerProvider.cs - - - Serialization\EnumMessagePackSerializer`1.cs - - - Serialization\EnumSerializationMethod.cs - - - Serialization\ExtTypeCodeMapping.cs - - - Serialization\ICustomizableEnumSerializer.cs - - - Serialization\IdentifierUtility.cs - - - Serialization\IMessagePackSerializer.cs - - - Serialization\IMessagePackSingleObjectSerializer.cs - - - Serialization\INilImplicationHandlerOnUnpackedParameter.cs - - - Serialization\INilImplicationHandlerParameter.cs - - - Serialization\LazyDelegatingMessagePackSerializer`1.cs - - - Serialization\MessagePackDateTimeMemberAttribute.cs - - - Serialization\MessagePackDeserializationConstructorAttribute.cs - - - Serialization\MessagePackEnumAttribute.cs - - - Serialization\MessagePackEnumMemberAttribute.cs - - - Serialization\MessagePackIgnoreAttribute.cs - - - Serialization\MessagePackKnownTypeAttributes.cs - - - Serialization\MessagePackMemberAttribute.cs - - - Serialization\MessagePackRuntimeTypeAttributes.cs - - - Serialization\MessagePackSerializer.cs - - - Serialization\MessagePackSerializer.Factories.cs - - - Serialization\MessagePackSerializerExtensions.cs - - - Serialization\MessagePackSerializerProvider.cs - - - Serialization\MessagePackSerializer`1.cs - - - Serialization\NilImplication.cs - - - Serialization\NilImplicationHandler`4.cs - - - Serialization\NullTextWriter.cs - - - Serialization\PackHelperParameters.cs - - - Serialization\PackHelpers.cs - - - Serialization\Polymorphic\IPolymorphicDeserializer.cs - - - Serialization\Polymorphic\IPolymorphicHelperAttributes.cs - - - Serialization\Polymorphic\KnownTypePolymorphicMessagePackSerializer`1.cs - - - Serialization\Polymorphic\PolymorphicSerializerProvider`1.cs - - - Serialization\Polymorphic\TypeEmbedingPolymorphicMessagePackSerializer`1.cs - - - Serialization\Polymorphic\TypeInfoEncoder.cs - - - Serialization\Polymorphic\TypeInfoEncoding.cs - - - Serialization\PolymorphismSchema.Constructors.cs - - - Serialization\PolymorphismSchema.cs - - - Serialization\PolymorphismSchema.Internals.cs - - - Serialization\PolymorphismSchemaChildrenType.cs - - - Serialization\PolymorphismTarget.cs - - - Serialization\PolymorphismType.cs - - - Serialization\ReflectionExtensions.cs - - - Serialization\ReflectionHelpers.cs - - - Serialization\ReflectionSerializers\ReflectionCollectionMessagePackSerializer`2.cs - - - Serialization\ReflectionSerializers\ReflectionDictionaryMessagePackSerializer`3.cs - - - Serialization\ReflectionSerializers\ReflectionEnumerableMessagePackSerializer`2.cs - - - Serialization\ReflectionSerializers\ReflectionEnumMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionNilImplicationHandler.cs - - - Serialization\ReflectionSerializers\ReflectionNonGeenricCollectionMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionNonGeenricEnumerableMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionNonGenericDictionaryMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionNonGenericListMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionObjectMessagePackSerializer`1.cs - - - Serialization\ReflectionSerializers\ReflectionSerializerHelper.cs - - - Serialization\ReflectionSerializers\ReflectionSerializerNilImplicationHandlerOnUnpackedParameter.cs - - - Serialization\ReflectionSerializers\ReflectionSerializerNilImplicationHandlerParameter.cs - - - Serialization\ReflectionSerializers\ReflectionTupleMessagePackSerializer`1.cs - - - Serialization\Reflection\GenericTypeExtensions.cs - - - Serialization\Reflection\ReflectionExtensions.cs - - - Serialization\ResolveSerializerEventArgs.cs - - - Serialization\SerializationCompatibilityOptions.cs - - - Serialization\SerializationContext.cs - - - Serialization\SerializationContext.ExtTypeCodes.cs - - - Serialization\SerializationExceptions.cs - - - Serialization\SerializationMethod.cs - - - Serialization\SerializationMethodGeneratorOption.cs - - - Serialization\SerializationTarget.cs - - - Serialization\SerializerCapabilities.cs - - - Serialization\SerializerDebugging.cs - - - Serialization\SerializerOptions.cs - - - Serialization\SerializerRegistrationOptions.cs - - - Serialization\SerializerRepository.cs - - - Serialization\SerializerRepository.defaults.cs - - - Serialization\SerializerTypeKeyRepository.cs - - - Serialization\SerializingMember.cs - - - Serialization\TypeKeyRepository.cs - - - Serialization\UnpackHelperParameters.cs - - - Serialization\UnpackHelpers.cs - - - Serialization\UnpackHelpers.direct.cs - - - Serialization\UnpackHelpers.facade.cs - - - SetOperation.cs - - - StreamPacker.cs - - - StringEscape.cs - - - SubtreeUnpacker.cs - - - SubtreeUnpacker.Unpacking.cs - - - TupleItems.cs - - - UnassignedMessageTypeException.cs - - - Unpacker.cs - - - Unpacker.Unpacking.cs - - - UnpackException.cs - - - Unpacking.cs - - - Unpacking.Numerics.cs - - - Unpacking.Others.cs - - - Unpacking.Streaming.cs - - - Unpacking.String.cs - - - UnpackingMode.cs - - - UnpackingResult.cs - - - UnpackingStream.cs - - - UnpackingStreamReader.cs - - - UnsafeNativeMethods.cs - - - - - - remarks.xml - - - - \ No newline at end of file diff --git a/src/MsgPack.Xamarin.iOS.Unified/Properties/AssemblyInfo.cs b/src/MsgPack.Xamarin.iOS.Unified/Properties/AssemblyInfo.cs deleted file mode 100644 index 08af7b0fb..000000000 --- a/src/MsgPack.Xamarin.iOS.Unified/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,40 +0,0 @@ -#region -- License Terms -- -// -// MessagePack for CLI -// -// Copyright (C) 2016 FUJIWARA, Yusuke -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -#endregion -- License Terms -- - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Security; - -using Foundation; - -[assembly: AssemblyTitle( "MessagePack for CLI(.NET/Mono)" )] -[assembly: AssemblyDescription( "MessagePack for CLI(.NET/Mono) packing/unpacking library for Xamarin.iOS unified API." )] - -[assembly: AssemblyFileVersion( "0.7.2259.1047" )] - -[assembly: SecurityRules( SecurityRuleSet.Level2, SkipVerificationInFullTrust = true )] -[assembly: AllowPartiallyTrustedCallers] - -#if DEBUG || PERFORMANCE_TEST -[assembly: InternalsVisibleTo( "MsgPackUnitTestXamariniOSUnified" )] -#endif - -[assembly: LinkerSafe] - diff --git a/src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj b/src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj index 8ceef5dba..1128db0dd 100644 --- a/src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj +++ b/src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj @@ -1,47 +1,47 @@  - + Debug AnyCPU - {346B55F0-94FA-4B90-9C11-06031043B685} - {6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 8.0.30703 + 2.0 + {C9710C8A-2FA9-47FE-812C-992C283471CC} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Library MsgPack Resources MsgPack - true - ..\MsgPack.snk true full false bin\Debug - DEBUG;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; + DEBUG;__UNIFIED__;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; prompt 4 false bin\Debug\MsgPack.xml + full true - ..\..\bin\MonoTouch10\ + ..\..\bin\Xamarin.iOS10\ prompt 4 false - __MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; - ..\..\bin\MonoTouch10\MsgPack.xml + __UNIFIED__;__MOBILE__;__IOS__;AOT;NETSTANDARD1_3;XAMARIN;FEATURE_TAP; + ..\..\bin\Xamarin.iOS10\MsgPack.XML - + - Properties\CommonAssemblyInfo.cs @@ -743,4 +743,5 @@ remarks.xml + \ No newline at end of file diff --git a/src/MsgPack.Xamarin.iOS/Properties/AssemblyInfo.cs b/src/MsgPack.Xamarin.iOS/Properties/AssemblyInfo.cs index 0c8299d24..fc61da79e 100644 --- a/src/MsgPack.Xamarin.iOS/Properties/AssemblyInfo.cs +++ b/src/MsgPack.Xamarin.iOS/Properties/AssemblyInfo.cs @@ -1,8 +1,8 @@ -#region -- License Terms -- +#region -- License Terms -- // // MessagePack for CLI // -// Copyright (C) 2010-2016 FUJIWARA, Yusuke +// Copyright (C) 2016 FUJIWARA, Yusuke // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -22,10 +22,10 @@ using System.Runtime.CompilerServices; using System.Security; -using MonoTouch.Foundation; +using Foundation; [assembly: AssemblyTitle( "MessagePack for CLI(.NET/Mono)" )] -[assembly: AssemblyDescription( "MessagePack for CLI(.NET/Mono) packing/unpacking library for Xamarin.iOS." )] +[assembly: AssemblyDescription( "MessagePack for CLI(.NET/Mono) packing/unpacking library for Xamarin.iOS unified API." )] [assembly: AssemblyFileVersion( "0.7.2259.1047" )] @@ -33,7 +33,7 @@ [assembly: AllowPartiallyTrustedCallers] #if DEBUG || PERFORMANCE_TEST -[assembly: InternalsVisibleTo( "MsgPackUnitTestXamariniOS, PublicKey=0024000004800000940000000602000000240000525341310004000001000100a967de8de9d45380b93a6aa56f64fc2cb2d3c9d4b400e00de01f31ba9e15cf5ca95926dbf8760cce413eabd711e23df0c133193a570da8a3bb1bdc00ef170fccb2bc033266fa5346442c9cf0b071133d5b484845eab17095652aeafeeb71193506b8294d9c8c91e3fd01cc50bdbc2d0eb78dd655bb8cd0bd3cdbbcb192549cb4" )] +[assembly: InternalsVisibleTo( "MsgPackUnitTestXamariniOS" )] #endif [assembly: LinkerSafe] diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/UnitTestAppDelegate.cs b/test/MsgPack.UnitTest.Xamarin.iOS/AppDelegate.cs similarity index 51% rename from test/MsgPack.UnitTest.Xamarin.iOS/UnitTestAppDelegate.cs rename to test/MsgPack.UnitTest.Xamarin.iOS/AppDelegate.cs index 1087f0452..957948086 100644 --- a/test/MsgPack.UnitTest.Xamarin.iOS/UnitTestAppDelegate.cs +++ b/test/MsgPack.UnitTest.Xamarin.iOS/AppDelegate.cs @@ -1,44 +1,45 @@ using System; -using System.Collections.Generic; -using System.Linq; -using MonoTouch.Foundation; -using MonoTouch.UIKit; + +using Foundation; + using MonoTouch.NUnit.UI; -namespace MsgPack.UnitTest.Xamios +using UIKit; + +namespace MsgPack { - // The UIApplicationDelegate for the application. This class is responsible for launching the - // User Interface of the application, as well as listening (and optionally responding) to + // The UIApplicationDelegate for the application. This class is responsible for launching the + // User Interface of the application, as well as listening (and optionally responding) to // application events from iOS. - [Register ("UnitTestAppDelegate")] - public partial class UnitTestAppDelegate : UIApplicationDelegate + [Register( "AppDelegate" )] + public partial class AppDelegate : UIApplicationDelegate { // class-level declarations UIWindow window; TouchRunner runner; + // - // This method is invoked when the application has loaded and is ready to run. In this + // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // - public override bool FinishedLaunching (UIApplication app, NSDictionary options) + public override bool FinishedLaunching( UIApplication app, NSDictionary options ) { // create a new window instance based on the screen size - window = new UIWindow (UIScreen.MainScreen.Bounds); - runner = new TouchRunner (window); + this.window = new UIWindow( UIScreen.MainScreen.Bounds ); + this.runner = new TouchRunner( this.window ); // register every tests included in the main application/assembly - runner.Add (System.Reflection.Assembly.GetExecutingAssembly ()); + this.runner.Add( System.Reflection.Assembly.GetExecutingAssembly() ); + + this.window.RootViewController = new UINavigationController( this.runner.GetViewController() ); - window.RootViewController = new UINavigationController (runner.GetViewController ()); - // make the window visible - window.MakeKeyAndVisible (); - + this.window.MakeKeyAndVisible(); + return true; } } -} - +} \ No newline at end of file diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/Info.plist b/test/MsgPack.UnitTest.Xamarin.iOS/Info.plist index 5507ccb67..077137373 100644 --- a/test/MsgPack.UnitTest.Xamarin.iOS/Info.plist +++ b/test/MsgPack.UnitTest.Xamarin.iOS/Info.plist @@ -2,39 +2,44 @@ - CFBundleDisplayName - MsgPack.UnitTest.Xamios - CFBundleIdentifier - org.msgpack.msgpack-cli-xamarin-ios-test - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - MinimumOSVersion - 7.0 - UIDeviceFamily - - 1 - 2 - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - + CFBundleDisplayName + MsgPack.UnitTest.Xamios + CFBundleIdentifier + org.msgpack.msgpack-cli-xamarin-ios-test + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + MinimumOSVersion + 7.0 + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/Main.cs b/test/MsgPack.UnitTest.Xamarin.iOS/Main.cs index d271a2e21..f5fd1e83f 100644 --- a/test/MsgPack.UnitTest.Xamarin.iOS/Main.cs +++ b/test/MsgPack.UnitTest.Xamarin.iOS/Main.cs @@ -1,21 +1,17 @@ using System; -using System.Collections.Generic; -using System.Linq; -using MonoTouch.Foundation; -using MonoTouch.UIKit; -using MsgPack.Serialization; +using UIKit; -namespace MsgPack.UnitTest.Xamios +namespace MsgPack { public class Application { // This is the main entry point of the application. static void Main( string[] args ) { - // if you want to use a different Application Delegate class from "UnitTestAppDelegate" + // if you want to use a different Application Delegate class from "AppDelegate" // you can specify it here. - UIApplication.Main( args, null, "UnitTestAppDelegate" ); + UIApplication.Main( args, null, "AppDelegate" ); } } -} +} \ No newline at end of file diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/MsgPack.UnitTest.Xamarin.iOS.csproj b/test/MsgPack.UnitTest.Xamarin.iOS/MsgPack.UnitTest.Xamarin.iOS.csproj index b697611aa..22547f1a6 100644 --- a/test/MsgPack.UnitTest.Xamarin.iOS/MsgPack.UnitTest.Xamarin.iOS.csproj +++ b/test/MsgPack.UnitTest.Xamarin.iOS/MsgPack.UnitTest.Xamarin.iOS.csproj @@ -4,7 +4,7 @@ Debug iPhoneSimulator {2B75A9C8-F891-4F78-9E27-8B6FE972DE6C} - {6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Exe MsgPack Resources @@ -17,7 +17,7 @@ full false bin\iPhoneSimulator\Debug - DEBUG;__MOBILE__;__IOS__;XAMIOS;MONO; + DEBUG;__UNIFIED__;__MOBILE__;__IOS__;XAMIOS;MONO; prompt 4 false @@ -32,7 +32,7 @@ true bin\iPhoneSimulator\Release - __MOBILE__;__IOS__;XAMIOS;MONO; + __UNIFIED__;__MOBILE__;__IOS__;XAMIOS;MONO; prompt 4 None @@ -45,7 +45,7 @@ full false bin\iPhone\Debug - DEBUG;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; + DEBUG;__UNIFIED__;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; prompt 4 false @@ -76,7 +76,7 @@ true bin\iPhone\Release - __MOBILE__;__IOS__;AOT;XAMARIN;MONO; + __UNIFIED__;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; prompt 4 Entitlements.plist @@ -87,7 +87,7 @@ true bin\iPhone\Ad-Hoc - __MOBILE__;__IOS__;AOT;XAMARIN;MONO; + __UNIFIED__;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; prompt 4 false @@ -101,7 +101,7 @@ full true bin\iPhone\AppStore - __MOBILE__;__IOS__;AOT;XAMARIN;MONO; + __UNIFIED__;__MOBILE__;__IOS__;AOT;XAMARIN;MONO; prompt 4 false @@ -114,14 +114,12 @@ - + - - - + cases.mpac @@ -1888,16 +1886,9 @@ UnpackingTest.Scalar.cs + - - - - - - {346B55F0-94FA-4B90-9C11-06031043B685} - MsgPack.Xamarin.iOS - @@ -1909,5 +1900,17 @@ gen\_ReadMe.txt + + + + + + + {c9710c8a-2fa9-47fe-812c-992c283471cc} + MsgPack.Xamarin.iOS + false + false + + \ No newline at end of file diff --git a/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default-568h@2x.png b/test/MsgPack.UnitTest.Xamarin.iOS/Resources/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f66780c1383e7f97cb42b80fab80b031814438 GIT binary patch literal 12651 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 literal 0 HcmV?d00001 From ce5ca9892c7feb8204c97cd00448a52601e4696a Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 17:10:51 +0900 Subject: [PATCH 08/12] Fix build script for zip directory structure. --- build/Build.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/Build.ps1 b/build/Build.ps1 index 00a2bd268..d0ab6f5c4 100644 --- a/build/Build.ps1 +++ b/build/Build.ps1 @@ -192,8 +192,8 @@ if ( $buildConfig -eq 'Release' ) { & $nuget pack ../MsgPack.nuspec -Symbols -Version $env:PackageVersion -OutputDirectory ../dist - Copy-Item ../bin/ ./MsgPack-CLI/ -Recurse -Exclude @("*.vshost.*") - Copy-Item ../tools/mpu/bin/ ./MsgPack-CLI/mpu/ -Recurse -Exclude @("*.vshost.*") + Copy-Item ../bin/* ./MsgPack-CLI/ -Recurse -Exclude @("*.vshost.*") + Copy-Item ../tools/mpu/bin/* ./MsgPack-CLI/mpu/ -Recurse -Exclude @("*.vshost.*") [Reflection.Assembly]::LoadWithPartialName( "System.IO.Compression.FileSystem" ) | Out-Null # 'latest' should be rewritten with semver manually. if ( ( Test-Path "../dist/MsgPack.Cli.${env:PackageVersion}.zip" ) ) From 0d85ca4f3ff0d4554cdc68218f071d8783768451 Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 17:47:33 +0900 Subject: [PATCH 09/12] Remove MonoTouch1.0 (classic Xamarin.iOS) from nuspec. This configuration is officially deprecated and removed from nupkg in commit 3f3d48006db612b5506c7583c47697e5e73d5f41, so should be removed from nuspec too. --- MsgPack.nuspec | 1 - 1 file changed, 1 deletion(-) diff --git a/MsgPack.nuspec b/MsgPack.nuspec index 434afe9f4..590a46081 100644 --- a/MsgPack.nuspec +++ b/MsgPack.nuspec @@ -21,7 +21,6 @@ This package provides MessagePack serialization/deserialization APIs. This pacak - From ee4620444bea534be77d24bb2457a9d49fd82ac3 Mon Sep 17 00:00:00 2001 From: yfakariya Date: Sat, 24 Sep 2016 17:51:46 +0900 Subject: [PATCH 10/12] Set minClientVersion to nuspec. #177 NuGet 2.x does not support .NET Standard, so they fail to parse msgpack.nuspec file as 0.7.0. This commit set minimum version restriction which just prevents confusing error. This fix actually does not solve the problem, it still says the client should update nuget to 2.12 or 3.x, but it gives hint to the solution. Note: this solution is also used in corefx packages. --- MsgPack.nuspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MsgPack.nuspec b/MsgPack.nuspec index 590a46081..714be6825 100644 --- a/MsgPack.nuspec +++ b/MsgPack.nuspec @@ -1,6 +1,6 @@  - + MsgPack.Cli MessagePack for CLI 0.0.0-development From b25f336b668bac8a5e99d15640c24ba5969ed667 Mon Sep 17 00:00:00 2001 From: yfakariya Date: Fri, 3 Feb 2017 00:00:36 +0900 Subject: [PATCH 11/12] Upadte version. --- build/Version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Version.txt b/build/Version.txt index 8adc70fdd..c18d72be3 100644 --- a/build/Version.txt +++ b/build/Version.txt @@ -1 +1 @@ -0.8.0 \ No newline at end of file +0.8.1 \ No newline at end of file From c1da5418509743628afce438e7fcd976504a9556 Mon Sep 17 00:00:00 2001 From: yfakariya Date: Fri, 3 Feb 2017 07:26:18 +0900 Subject: [PATCH 12/12] Add document to clarify #212. --- src/MsgPack/Serialization/MessagePackSerializer.cs | 8 ++++++++ src/MsgPack/Serialization/MessagePackSerializer`1.cs | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/MsgPack/Serialization/MessagePackSerializer.cs b/src/MsgPack/Serialization/MessagePackSerializer.cs index aa69da881..c2dcc53f7 100644 --- a/src/MsgPack/Serialization/MessagePackSerializer.cs +++ b/src/MsgPack/Serialization/MessagePackSerializer.cs @@ -114,6 +114,10 @@ public void PackTo( Packer packer, object objectTree ) /// /// The deserialized object. /// + /// + /// You must call at least once in advance. + /// Or, you will get a default value of the object. + /// /// public object UnpackFrom( Unpacker unpacker ) { @@ -229,6 +233,10 @@ public Task PackToAsync( Packer packer, object objectTree, CancellationToken can /// /// The type of deserializing is not serializable even if it can be serialized. /// + /// + /// You must call at least once in advance. + /// Or, you will get a default value of the object. + /// /// public Task UnpackFromAsync( Unpacker unpacker, CancellationToken cancellationToken ) { diff --git a/src/MsgPack/Serialization/MessagePackSerializer`1.cs b/src/MsgPack/Serialization/MessagePackSerializer`1.cs index b6a13adb0..577be9bf8 100644 --- a/src/MsgPack/Serialization/MessagePackSerializer`1.cs +++ b/src/MsgPack/Serialization/MessagePackSerializer`1.cs @@ -483,6 +483,10 @@ protected internal virtual Task PackToAsyncCore( Packer packer, T objectTree, Ca /// /// is not serializable even if it can be serialized. /// + /// + /// You must call at least once in advance. + /// Or, you will get a default value of . + /// /// [System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Design", "CA1062:ValidateArgumentsOfPublicMethods", MessageId = "0", Justification = "False positive because never reached." )] public new T UnpackFrom( Unpacker unpacker ) @@ -574,6 +578,10 @@ protected internal virtual T UnpackNil() /// /// is not serializable even if it can be serialized. /// + /// + /// You must call at least once in advance. + /// Or, you will get a default value of . + /// /// public Task UnpackFromAsync( Unpacker unpacker ) {