Fix code for building with corefx
authorWonYoung Choi <wy80.choi@samsung.com>
Thu, 28 Jul 2016 08:11:24 +0000 (17:11 +0900)
committerWonYoung Choi <wy80.choi@samsung.com>
Thu, 28 Jul 2016 08:11:24 +0000 (17:11 +0900)
Change-Id: Ia2933a7c1f207def83fedb850dc092b5b062938e

Tizen.Content.Download/CoreFx.References.targets [new file with mode: 0644]
Tizen.Content.Download/Tizen.Content.Download.csproj
Tizen.Content.Download/Tizen.Content.Download/Request.cs
packaging/csapi-download.spec

diff --git a/Tizen.Content.Download/CoreFx.References.targets b/Tizen.Content.Download/CoreFx.References.targets
new file mode 100644 (file)
index 0000000..dab29ec
--- /dev/null
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Condition=" '$(CoreFxPath)' != '' ">
+     <Reference Include="Microsoft.Win32.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/Microsoft.Win32.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.AppContext">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.AppContext.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections.Concurrent">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Collections.Concurrent.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Collections.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel.Annotations">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.ComponentModel.Annotations.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.ComponentModel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Console">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Console.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Debug">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.Debug.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Process">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.Process.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Tools">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.Tools.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.TraceSource">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.TraceSource.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Diagnostics.Tracing">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Diagnostics.Tracing.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Dynamic.Runtime">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Dynamic.Runtime.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization.Calendars">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Globalization.Calendars.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Globalization.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Globalization.Extensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Globalization.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.Compression">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.Compression.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.Compression.ZipFile">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.Compression.ZipFile.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.FileSystem.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.FileSystem.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.FileSystem.Watcher">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.FileSystem.Watcher.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.MemoryMappedFiles">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.MemoryMappedFiles.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.UnmanagedMemoryStream">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.IO.UnmanagedMemoryStream.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Linq.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Expressions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Linq.Expressions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Parallel">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Linq.Parallel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Linq.Queryable">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Linq.Queryable.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Http">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Http.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.NameResolution">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.NameResolution.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Requests">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Requests.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Security">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Security.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.Sockets">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.Sockets.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Net.WebHeaderCollection">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Net.WebHeaderCollection.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Numerics.Vectors">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Numerics.Vectors.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ObjectModel">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.ObjectModel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.DispatchProxy">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.DispatchProxy.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Extensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Reflection.TypeExtensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Reflection.TypeExtensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Resources.ResourceManager">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Resources.ResourceManager.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Extensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Handles">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.Handles.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.InteropServices">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.InteropServices.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Loader">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.Loader.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.Numerics">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Runtime.Numerics.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Algorithms">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Security.Cryptography.Algorithms.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Encoding">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Security.Cryptography.Encoding.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.Primitives">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Security.Cryptography.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Security.Cryptography.X509Certificates">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Security.Cryptography.X509Certificates.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.Encoding">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Text.Encoding.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.Encoding.Extensions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Text.Encoding.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.RegularExpressions">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Text.RegularExpressions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Tasks">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.Tasks.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Tasks.Parallel">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.Tasks.Parallel.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Thread">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.Thread.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.ThreadPool">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.ThreadPool.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Timer">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Threading.Timer.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.ReaderWriter">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Xml.ReaderWriter.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml.XDocument">
+      <Private>False</Private>
+      <HintPath>$(CoreFxPath)/System.Xml.XDocument.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+</Project>
\ No newline at end of file
index 4f87693..1b23cf1 100644 (file)
@@ -38,7 +38,8 @@
   <PropertyGroup>\r
     <AssemblyOriginatorKeyFile>Tizen.Content.Download.snk</AssemblyOriginatorKeyFile>\r
   </PropertyGroup>\r
-  <ItemGroup>\r
+  <Import Project="CoreFx.References.targets" />\r
+  <ItemGroup Condition=" '$(CoreFxPath)' == '' ">\r
     <Reference Include="System" />\r
     <Reference Include="System.Core" />\r
     <Reference Include="System.Xml.Linq" />\r
@@ -46,6 +47,8 @@
     <Reference Include="Microsoft.CSharp" />\r
     <Reference Include="System.Data" />\r
     <Reference Include="System.Xml" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
     <Reference Include="Tizen">\r
       <HintPath>..\..\tizen\Tizen\bin\Debug\Tizen.dll</HintPath>\r
     </Reference>\r
@@ -71,7 +74,7 @@
     <None Include="Tizen.Content.Download.snk" />\r
   </ItemGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.\r
        Other similar extension points exist, see Microsoft.Common.targets.\r
   <Target Name="BeforeBuild">\r
   </Target>\r
index 1e3a9bb..2bd6f3c 100644 (file)
@@ -659,7 +659,7 @@ namespace Tizen.Content.Download
 
             for (int iterator = 0; iterator < size; iterator++)
             {
-                managedArray[iterator] = Marshal.PtrToStringAuto(IntPtrArray[iterator]);
+                managedArray[iterator] = Marshal.PtrToStringAnsi(IntPtrArray[iterator]);
             }
         }
 
index f7e4a0a..b8018a4 100644 (file)
@@ -1,4 +1,5 @@
 %{!?dotnet_assembly_path: %define dotnet_assembly_path %{_datadir}/assembly}
+%{!?dotnet_core_path: %define dotnet_core_path %{_datadir}/tizen.net/ref}
 
 %if 0%{?tizen_build_devel_mode}
 %define BUILDCONF Debug
@@ -20,10 +21,11 @@ Source1:    %{name}.manifest
 BuildRequires: mono-compiler
 BuildRequires: mono-devel
 
-# P/Invoke Build Requires
-BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(capi-web-url-download)
+# .NETCore
+%if 0%{?_with_corefx}
+AutoReqProv: no
+BuildRequires: corefx-managed-32b-ref
+%endif
 
 # C# API Requires
 BuildRequires: csapi-tizen
@@ -41,6 +43,12 @@ cp %{SOURCE1} .
 %build
 for ASM in %{Assemblies}; do
 xbuild $ASM/$ASM.csproj \
+%if 0%{?_with_corefx}
+        /p:NoStdLib=True \
+        /p:TargetFrameworkVersion=v5.0 \
+        /p:AddAdditionalExplicitAssemblyReferences=False \
+        /p:CoreFxPath=%{dotnet_core_path} \
+%endif
         /p:Configuration=%{BUILDCONF} \
         /p:ReferencePath=%{dotnet_assembly_path}
 done
@@ -52,11 +60,7 @@ for ASM in %{Assemblies}; do
 install -p -m 644 $ASM/bin/%{BUILDCONF}/$ASM.dll %{buildroot}%{dotnet_assembly_path}
 done
 
-# License
-mkdir -p %{buildroot}%{_datadir}/license
-cp LICENSE %{buildroot}%{_datadir}/license/%{name}
-
 %files
 %manifest %{name}.manifest
+%license LICENSE
 %attr(644,root,root) %{dotnet_assembly_path}/*.dll
-%attr(644,root,root) %{_datadir}/license/%{name}