From 45c35f4f2e8ab83e26bf5a1366fa58bf5ce480f3 Mon Sep 17 00:00:00 2001 From: WonYoung Choi Date: Sat, 3 Sep 2016 16:31:47 +0900 Subject: [PATCH] Fix project files to support netstandard 1.6 Change-Id: Ic3a31e3b869d6d18277b9c0291a18c1b0f66227e Signed-off-by: WonYoung Choi --- .gitignore | 4 +- packaging/csapi-multimedia.spec | 70 ++++- .../Tizen.Multimedia.Net45.csproj | 133 +++++++++ .../Tizen.Multimedia.Net45.project.json | 11 + src/Tizen.Multimedia/Tizen.Multimedia.csproj | 281 +++++++++--------- src/Tizen.Multimedia/Tizen.Multimedia.nuspec | 12 + .../Tizen.Multimedia.project.json | 12 + 7 files changed, 364 insertions(+), 159 deletions(-) create mode 100644 src/Tizen.Multimedia/Tizen.Multimedia.Net45.csproj create mode 100644 src/Tizen.Multimedia/Tizen.Multimedia.Net45.project.json mode change 100755 => 100644 src/Tizen.Multimedia/Tizen.Multimedia.csproj create mode 100644 src/Tizen.Multimedia/Tizen.Multimedia.nuspec create mode 100644 src/Tizen.Multimedia/Tizen.Multimedia.project.json diff --git a/.gitignore b/.gitignore index 2d8426628..46619d59d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ bin/ obj/ *.exe *.dll - +*.csproj.user +*.lock.json +.vs/ diff --git a/packaging/csapi-multimedia.spec b/packaging/csapi-multimedia.spec index 3eb7c7ae6..6b1c0165d 100644 --- a/packaging/csapi-multimedia.spec +++ b/packaging/csapi-multimedia.spec @@ -1,4 +1,4 @@ -%{!?dotnet_assembly_path: %define dotnet_assembly_path %{_datadir}/assembly} +%{!?dotnet_assembly_path: %define dotnet_assembly_path /opt/usr/share/dotnet.tizen/framework} %{!?dotnet_core_path: %define dotnet_core_path %{_datadir}/tizen.net/ref} %if 0%{?tizen_build_devel_mode} @@ -27,8 +27,10 @@ AutoReqProv: no BuildRequires: corefx-managed-32b-ref %endif -# C# API Requires -BuildRequires: csapi-tizen +BuildRequires: dotnet-build-tools + +# C# API Requries +BuildRequires: csapi-tizen-devel %description Tizen Multimedia API for C# @@ -40,25 +42,69 @@ cp %{SOURCE1} . %define Assemblies Tizen.Multimedia %build +# Build for Net45 for ASM in %{Assemblies}; do -xbuild $ASM/$ASM.csproj \ +if [ -e $ASM/$ASM.Net45.csproj ]; then + xbuild $ASM/$ASM.Net45.csproj \ + /p:Configuration=%{BUILDCONF} \ + /p:DotnetAssemblyPath=%{dotnet_assembly_path}/devel/net45 \ + /p:OutputPath=bin/net45 +fi + +# Build for Dotnet %if 0%{?_with_corefx} - /p:NoStdLib=True \ - /p:TargetFrameworkVersion=v5.0 \ - /p:AddAdditionalExplicitAssemblyReferences=False \ - /p:CoreFxPath=%{dotnet_core_path} \ +if [ -e $ASM/$ASM.csproj ]; then + xbuild $ASM/$ASM.csproj \ + /p:Configuration=%{BUILDCONF} \ + /p:DotnetAssemblyPath=%{dotnet_assembly_path}/devel/netstandard1.6 \ + /p:CoreFxPath=%{dotnet_core_path} \ + /p:OutputPath=bin/netstandard1.6 +fi %endif - /p:Configuration=%{BUILDCONF} \ - /p:ReferencePath=%{dotnet_assembly_path} + +# Make NuGet package +dotnet-gbs pack $ASM/$ASM.nuspec --PackageVersion=%{version} --PackageFiles=$ASM/bin + done %install -mkdir -p %{buildroot}%{dotnet_assembly_path} +mkdir -p %{buildroot}%{dotnet_assembly_path}/devel for ASM in %{Assemblies}; do -install -p -m 644 $ASM/bin/%{BUILDCONF}/$ASM.dll %{buildroot}%{dotnet_assembly_path} + cp -fr $ASM/bin/* %{buildroot}%{dotnet_assembly_path}/devel +%if 0%{?_with_corefx} + install -p -m 644 $ASM/bin/netstandard1.6/$ASM.dll %{buildroot}%{dotnet_assembly_path} +%else + install -p -m 644 $ASM/bin/net45/$ASM.dll %{buildroot}%{dotnet_assembly_path} +%endif done +mkdir -p %{buildroot}/nuget +install -p -m 644 *.nupkg %{buildroot}/nuget + %files %manifest %{name}.manifest %license LICENSE %attr(644,root,root) %{dotnet_assembly_path}/*.dll + +%package devel +Summary: Development package for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +AutoReqProv: no + +%description devel +Development package for %{name} + +%files devel +%{dotnet_assembly_path}/devel/* + +%package nuget +Summary: NuGet package for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description nuget +NuGet package for %{name} + +%files nuget +/nuget/*.nupkg diff --git a/src/Tizen.Multimedia/Tizen.Multimedia.Net45.csproj b/src/Tizen.Multimedia/Tizen.Multimedia.Net45.csproj new file mode 100644 index 000000000..573ad4243 --- /dev/null +++ b/src/Tizen.Multimedia/Tizen.Multimedia.Net45.csproj @@ -0,0 +1,133 @@ + + + + Debug + AnyCPU + {026550F4-E9A0-48F3-BCBF-0AB37268C3D7} + Library + Properties + Tizen.Multimedia + Tizen.Multimedia + 512 + v4.5 + + + true + full + false + bin\Debug\Net45\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\Net45\ + TRACE + prompt + 4 + + + true + + + Tizen.Multimedia.snk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Tizen.Multimedia/Tizen.Multimedia.Net45.project.json b/src/Tizen.Multimedia/Tizen.Multimedia.Net45.project.json new file mode 100644 index 000000000..d9af4f0c6 --- /dev/null +++ b/src/Tizen.Multimedia/Tizen.Multimedia.Net45.project.json @@ -0,0 +1,11 @@ +{ + "dependencies": { + "Tizen": "1.0.0" + }, + "frameworks": { + "net45": {} + }, + "runtimes": { + "win": {} + } +} diff --git a/src/Tizen.Multimedia/Tizen.Multimedia.csproj b/src/Tizen.Multimedia/Tizen.Multimedia.csproj old mode 100755 new mode 100644 index f91efa7bd..9c412e190 --- a/src/Tizen.Multimedia/Tizen.Multimedia.csproj +++ b/src/Tizen.Multimedia/Tizen.Multimedia.csproj @@ -1,153 +1,142 @@ - - - - - Debug - AnyCPU - {0CE698B0-4849-4096-9D7F-30E611F50DAD} - Library - Properties - Tizen.Multimedia - Tizen.Multimedia - v4.5 - 512 - - 8.0.30703 - 2.0 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - - - Tizen.Multimedia.snk - - - - - - - - - - - - - - ..\..\tizen\Tizen\bin\Debug\Tizen.dll - - - ..\..\tizen\Tizen.Internals\bin\Debug\Tizen.Internals.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + Debug + AnyCPU + {0CE698B0-4849-4096-9D7F-30E611F50DAD} + Library + Properties + Tizen.Multimedia + Tizen.Multimedia + 512 + + + .NETStandard + v1.6 + .NETStandard,Version=v1.6 + false + true + $(NoWarn);1701;1702 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + + + Tizen.Multimedia.snk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - {7659CA59-410D-41A1-9841-586E88BC78C9} - Tizen - - - {B9AA1CB2-F72D-4A30-A33B-A20C850A38A0} - Tizen.Internals - - + --> + + + + <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory) + <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory) + true + \ No newline at end of file diff --git a/src/Tizen.Multimedia/Tizen.Multimedia.nuspec b/src/Tizen.Multimedia/Tizen.Multimedia.nuspec new file mode 100644 index 000000000..4fa666c5c --- /dev/null +++ b/src/Tizen.Multimedia/Tizen.Multimedia.nuspec @@ -0,0 +1,12 @@ + + + + Tizen.Multimedia + $version$ + Tizen Developers + Multimedia API for Tizen.Net + + + + + diff --git a/src/Tizen.Multimedia/Tizen.Multimedia.project.json b/src/Tizen.Multimedia/Tizen.Multimedia.project.json new file mode 100644 index 000000000..beb9e1553 --- /dev/null +++ b/src/Tizen.Multimedia/Tizen.Multimedia.project.json @@ -0,0 +1,12 @@ +{ + "dependencies": { + "NETStandard.Library": "1.6.0", + "Tizen": "1.0.0" + }, + "frameworks": { + "netstandard1.6": {} + }, + "runtimes": { + "win": {} + } +} -- 2.34.1