Skip to content

Commit 252034a

Browse files
committed
Remove FILETIME dependency from Xamarin/Unity builds. Issue #87.
1 parent 987adeb commit 252034a

File tree

12 files changed

+33
-50
lines changed

12 files changed

+33
-50
lines changed

CHANGES.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,3 +271,8 @@ Release 0.6.0 Beta2 - 2015/05/24
271271

272272
BUG FIXES
273273
* Fix System.Object instance causes StackOverflowException. Issue #73
274+
275+
Release 0.6.0 Beta3 - 2015/06/14
276+
277+
BUG FIXES
278+
* Remove FILETIME dependency to avoid build error in Xamarin/Unity. Issue #87

Sync.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@
3535
<Preserve Path="MPContract.cs" />
3636
<Exclude Path="Serialization\AbstractSerializers\*" />
3737
<Exclude Path="Serialization\CodeDomSerializers\*" />
38+
<Exclude Path="Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs" />
39+
<Exclude Path="Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs" />
40+
<Exclude Path="Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs" />
3841
<Exclude Path="Serialization\EmittingSerializers\*" />
3942
<Exclude Path="Serialization\ExpressionSerializers\*" />
4043
<Exclude Path="Serialization\Metadata\*" />
@@ -140,6 +143,7 @@
140143

141144
<Project Name="MsgPack.Silverlight.WindowsPhone" Base="MsgPack.WinRT.Portable">
142145
<Preserve Path="Properties\AssemblyInfo.cs" />
146+
<Preserve Path="Serialization\DefaultSerializers\System_DBNullMessagePackSerializer.cs" />
143147
<Exclude Path="Serialization\Reflection\ReflectionHelpers.cs" />
144148
<Exclude Path="WinRTCompatibility.cs" />
145149
</Project>

src/MsgPack.Unity3D.Micro/MsgPack.Unity3D.Micro.csproj

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -268,9 +268,6 @@
268268
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\DefaultSerializers.cs">
269269
<Link>Serialization\DefaultSerializers\DefaultSerializers.cs</Link>
270270
</Compile>
271-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs">
272-
<Link>Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs</Link>
273-
</Compile>
274271
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\GenericSerializer.cs">
275272
<Link>Serialization\DefaultSerializers\GenericSerializer.cs</Link>
276273
</Compile>
@@ -301,9 +298,6 @@
301298
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs">
302299
<Link>Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs</Link>
303300
</Compile>
304-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs">
305-
<Link>Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs</Link>
306-
</Compile>
307301
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs">
308302
<Link>Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs</Link>
309303
</Compile>
@@ -358,9 +352,6 @@
358352
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs">
359353
<Link>Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs</Link>
360354
</Compile>
361-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs">
362-
<Link>Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs</Link>
363-
</Compile>
364355
<Compile Include="..\MsgPack\Serialization\EmitterFlavor.cs">
365356
<Link>Serialization\EmitterFlavor.cs</Link>
366357
</Compile>

src/MsgPack.Unity3D/MsgPack.Unity3D.csproj

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -272,9 +272,6 @@
272272
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\DefaultSerializers.cs">
273273
<Link>Serialization\DefaultSerializers\DefaultSerializers.cs</Link>
274274
</Compile>
275-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs">
276-
<Link>Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs</Link>
277-
</Compile>
278275
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\GenericSerializer.cs">
279276
<Link>Serialization\DefaultSerializers\GenericSerializer.cs</Link>
280277
</Compile>
@@ -305,9 +302,6 @@
305302
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs">
306303
<Link>Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs</Link>
307304
</Compile>
308-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs">
309-
<Link>Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs</Link>
310-
</Compile>
311305
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs">
312306
<Link>Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs</Link>
313307
</Compile>
@@ -374,9 +368,6 @@
374368
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs">
375369
<Link>Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs</Link>
376370
</Compile>
377-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs">
378-
<Link>Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs</Link>
379-
</Compile>
380371
<Compile Include="..\MsgPack\Serialization\EmitterFlavor.cs">
381372
<Link>Serialization\EmitterFlavor.cs</Link>
382373
</Compile>

src/MsgPack.Xamarin.Android/MsgPack.Xamarin.Android.csproj

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -266,9 +266,6 @@
266266
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\DefaultSerializers.cs">
267267
<Link>Serialization\DefaultSerializers\DefaultSerializers.cs</Link>
268268
</Compile>
269-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs">
270-
<Link>Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs</Link>
271-
</Compile>
272269
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\GenericSerializer.cs">
273270
<Link>Serialization\DefaultSerializers\GenericSerializer.cs</Link>
274271
</Compile>
@@ -299,9 +296,6 @@
299296
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs">
300297
<Link>Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs</Link>
301298
</Compile>
302-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs">
303-
<Link>Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs</Link>
304-
</Compile>
305299
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs">
306300
<Link>Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs</Link>
307301
</Compile>
@@ -368,9 +362,6 @@
368362
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs">
369363
<Link>Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs</Link>
370364
</Compile>
371-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs">
372-
<Link>Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs</Link>
373-
</Compile>
374365
<Compile Include="..\MsgPack\Serialization\EmitterFlavor.cs">
375366
<Link>Serialization\EmitterFlavor.cs</Link>
376367
</Compile>

src/MsgPack.Xamarin.iOS/MsgPack.Xamarin.iOS.csproj

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,6 @@
260260
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\DefaultSerializers.cs">
261261
<Link>Serialization\DefaultSerializers\DefaultSerializers.cs</Link>
262262
</Compile>
263-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs">
264-
<Link>Serialization\DefaultSerializers\FileTimeMessagePackSerializerProvider.cs</Link>
265-
</Compile>
266263
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\GenericSerializer.cs">
267264
<Link>Serialization\DefaultSerializers\GenericSerializer.cs</Link>
268265
</Compile>
@@ -293,9 +290,6 @@
293290
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs">
294291
<Link>Serialization\DefaultSerializers\NativeDateTimeMessagePackSerializer.cs</Link>
295292
</Compile>
296-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs">
297-
<Link>Serialization\DefaultSerializers\NativeFileTimeMessagePackSerializer.cs</Link>
298-
</Compile>
299293
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs">
300294
<Link>Serialization\DefaultSerializers\NullableMessagePackSerializer`1.cs</Link>
301295
</Compile>
@@ -362,9 +356,6 @@
362356
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs">
363357
<Link>Serialization\DefaultSerializers\UnixEpocDateTimeMessagePackSerializer.cs</Link>
364358
</Compile>
365-
<Compile Include="..\MsgPack\Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs">
366-
<Link>Serialization\DefaultSerializers\UnixEpocFileTimeMessagePackSerializer.cs</Link>
367-
</Compile>
368359
<Compile Include="..\MsgPack\Serialization\EmitterFlavor.cs">
369360
<Link>Serialization\EmitterFlavor.cs</Link>
370361
</Compile>

src/MsgPack/Serialization/DateTimeMessagePackSerializerHelpers.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
//
1919
#endregion -- License Terms --
2020

21+
#if UNITY_STANDALONE || UNITY_WEBPLAYER || UNITY_WII || UNITY_IPHONE || UNITY_ANDROID || UNITY_PS3 || UNITY_XBOX360 || UNITY_FLASH || UNITY_BKACKBERRY || UNITY_WINRT
22+
#define UNITY
23+
#endif
24+
2125
using System;
2226
#if !CORLIB_ONLY
2327
using System.ComponentModel;
@@ -81,10 +85,10 @@ internal static bool IsDateTime( Type dateTimeType )
8185
return
8286
dateTimeType == typeof( DateTime )
8387
|| dateTimeType == typeof( DateTime? )
84-
#if !SILVERLIGHT || WINDOWS_PHONE
88+
#if ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
8589
|| dateTimeType == typeof( FILETIME )
8690
|| dateTimeType == typeof( FILETIME? )
87-
#endif // !SILVERLIGHT || WINDOWS_PHONE
91+
#endif // ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
8892
// DateTimeOffset? is not have to be treat specially.
8993
|| dateTimeType == typeof( DateTimeOffset );
9094
}

src/MsgPack/Serialization/DefaultSerializers/InternalDateTimeExtensions.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,14 @@
1818
//
1919
#endregion -- License Terms --
2020

21+
#if UNITY_STANDALONE || UNITY_WEBPLAYER || UNITY_WII || UNITY_IPHONE || UNITY_ANDROID || UNITY_PS3 || UNITY_XBOX360 || UNITY_FLASH || UNITY_BKACKBERRY || UNITY_WINRT
22+
#define UNITY
23+
#endif
24+
2125
using System;
22-
#if !SILVERLIGHT || WINDOWS_PHONE
26+
#if ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
2327
using System.Runtime.InteropServices.ComTypes;
24-
#endif // !SILVERLIGHT || WINDOWS_PHONE
28+
#endif // ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
2529

2630
namespace MsgPack.Serialization.DefaultSerializers
2731
{
@@ -66,7 +70,7 @@ public static Int64 ToBinary( this DateTime source )
6670
// End porting
6771
#endif // SILVERLIGHT
6872

69-
#if !SILVERLIGHT || WINDOWS_PHONE
73+
#if ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
7074
private static readonly DateTime _fileTimeEpocUtc = new DateTime( 1601, 1, 1, 0, 0, 0, DateTimeKind.Utc );
7175

7276
public static DateTime ToDateTime( this FILETIME source )
@@ -88,6 +92,6 @@ public static FILETIME ToWin32FileTimeUtc( this DateTime source )
8892
dwLowDateTime = unchecked( ( int ) ( value & 0xffffffff ) )
8993
};
9094
}
91-
#endif // !SILVERLIGHT || WINDOWS_PHONE
95+
#endif // ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
9296
}
9397
}

src/MsgPack/Serialization/SerializerRepository.defaults.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ internal static Dictionary<RuntimeTypeHandle, object> InitializeDefaultTable( Se
6666
dictionary.Add( typeof( Byte[] ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.System_ByteArrayMessagePackSerializer( ownerContext ) );
6767
dictionary.Add( typeof( DateTime ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.DateTimeMessagePackSerializerProvider( ownerContext, false ) );
6868
dictionary.Add( typeof( DateTimeOffset ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.DateTimeOffsetMessagePackSerializerProvider( ownerContext ) );
69-
#if !SILVERLIGHT
69+
#if ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
7070
dictionary.Add( typeof( System.Runtime.InteropServices.ComTypes.FILETIME ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.FileTimeMessagePackSerializerProvider( ownerContext, false ) );
71-
#endif // !SILVERLIGHT
71+
#endif // ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
7272
// DateTime and FILETIME must have nullable providers.
7373
dictionary.Add( typeof( DateTime? ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.DateTimeMessagePackSerializerProvider( ownerContext, true ) );
74-
#if !SILVERLIGHT
74+
#if ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
7575
dictionary.Add( typeof( System.Runtime.InteropServices.ComTypes.FILETIME? ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.FileTimeMessagePackSerializerProvider( ownerContext, true ) );
76-
#endif // !SILVERLIGHT
76+
#endif // ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
7777
#if UNITY
7878
dictionary.Add( typeof( System.Collections.Generic.KeyValuePair<,> ).TypeHandle, typeof( System_Collections_Generic_KeyValuePair_2MessagePackSerializer ) );
7979
dictionary.Add( typeof( System.ArraySegment<> ).TypeHandle, typeof( System_ArraySegment_1MessagePackSerializer ) );

src/MsgPack/Serialization/SerializerRepository.defaults.tt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,14 +271,14 @@ namespace MsgPack.Serialization
271271
dictionary.Add( typeof( Byte[] ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.<#= typeof( Byte ).FullName.Replace( Type.Delimiter, '_' ).Replace( '`', '_' ) #>ArrayMessagePackSerializer( ownerContext ) );
272272
dictionary.Add( typeof( DateTime ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.DateTimeMessagePackSerializerProvider( ownerContext, false ) );
273273
dictionary.Add( typeof( DateTimeOffset ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.DateTimeOffsetMessagePackSerializerProvider( ownerContext ) );
274-
#if !SILVERLIGHT
274+
#if ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
275275
dictionary.Add( typeof( System.Runtime.InteropServices.ComTypes.FILETIME ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.FileTimeMessagePackSerializerProvider( ownerContext, false ) );
276-
#endif // !SILVERLIGHT
276+
#endif // ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
277277
// DateTime and FILETIME must have nullable providers.
278278
dictionary.Add( typeof( DateTime? ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.DateTimeMessagePackSerializerProvider( ownerContext, true ) );
279-
#if !SILVERLIGHT
279+
#if ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
280280
dictionary.Add( typeof( System.Runtime.InteropServices.ComTypes.FILETIME? ).TypeHandle, new MsgPack.Serialization.DefaultSerializers.FileTimeMessagePackSerializerProvider( ownerContext, true ) );
281-
#endif // !SILVERLIGHT
281+
#endif // ( !SILVERLIGHT || WINDOWS_PHONE ) && !XAMIOS && !XAMDROID && !UNITY
282282
#if UNITY
283283
dictionary.Add( typeof( System.Collections.Generic.KeyValuePair<,> ).TypeHandle, typeof( System_Collections_Generic_KeyValuePair_2MessagePackSerializer ) );
284284
dictionary.Add( typeof( System.ArraySegment<> ).TypeHandle, typeof( System_ArraySegment_1MessagePackSerializer ) );

0 commit comments

Comments
 (0)