aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.drone.yml32
-rw-r--r--.gitignore12
-rw-r--r--.gitlab-ci.yml10
-rw-r--r--CONTRIBUTING.md2
-rw-r--r--MediaBrowser.Server.Mono/ApplicationPathHelper.cs60
-rw-r--r--MediaBrowser.Server.Mono/EmbyServer.csproj1
-rw-r--r--MediaBrowser.Server.Mono/Program.cs19
-rw-r--r--MediaBrowser.Server.Mono/app.config7
-rw-r--r--MediaBrowser.sln487
-rw-r--r--README.md2
-rw-r--r--debian/conf/jellyfin57
-rw-r--r--debian/conf/jellyfin.conf24
-rw-r--r--debian/conf/jellyfin.service.conf7
-rw-r--r--debian/install2
-rw-r--r--debian/jellyfin.init5
-rw-r--r--debian/jellyfin.service16
-rw-r--r--debian/jellyfin.upstart4
-rwxr-xr-xdebian/rules3
-rw-r--r--tests/BDInfo.Test/BDInfo.Test.csproj23
-rw-r--r--tests/BDInfo.Test/UnitTest1.cs14
-rw-r--r--tests/DvdLib.Test/DvdLib.Test.csproj23
-rw-r--r--tests/DvdLib.Test/UnitTest1.cs15
-rw-r--r--tests/IsoMounter.Test/IsoMounter.Test.csproj23
-rw-r--r--tests/IsoMounter.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Api.Test/Jellyfin.Api.Test.csproj23
-rw-r--r--tests/Jellyfin.Api.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Common.Test/Jellyfin.Common.Test.csproj23
-rw-r--r--tests/Jellyfin.Common.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Controller.Test/Jellyfin.Controller.Test.csproj23
-rw-r--r--tests/Jellyfin.Controller.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Dlna.Test/Jellyfin.Dlna.Test.csproj23
-rw-r--r--tests/Jellyfin.Dlna.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Drawing.ImageMagick.Test/Jellyfin.Drawing.ImageMagick.Test.csproj23
-rw-r--r--tests/Jellyfin.Drawing.ImageMagick.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Drawing.Skia.Test/Jellyfin.Drawing.Skia.Test.csproj23
-rw-r--r--tests/Jellyfin.Drawing.Skia.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Drawing.Test/Jellyfin.Drawing.Test.csproj23
-rw-r--r--tests/Jellyfin.Drawing.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.LocalMetadata.Test/Jellyfin.LocalMetadata.Test.csproj23
-rw-r--r--tests/Jellyfin.LocalMetadata.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Model.Test/Jellyfin.Model.Test.csproj23
-rw-r--r--tests/Jellyfin.Model.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Naming.Test/Jellyfin.Naming.Test.csproj23
-rw-r--r--tests/Jellyfin.Naming.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Notifications.Test/Jellyfin.Notifications.Test.csproj23
-rw-r--r--tests/Jellyfin.Notifications.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Photos.Test/Jellyfin.Photos.Test.csproj23
-rw-r--r--tests/Jellyfin.Photos.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Providers.Test/Jellyfin.Providers.Test.csproj23
-rw-r--r--tests/Jellyfin.Providers.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Server.Implementations.Test/Jellyfin.Server.Implementations.Test.csproj23
-rw-r--r--tests/Jellyfin.Server.Implementations.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.Test/Jellyfin.Test.csproj23
-rw-r--r--tests/Jellyfin.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.WebDashboard.Test/Jellyfin.WebDashboard.Test.csproj23
-rw-r--r--tests/Jellyfin.WebDashboard.Test/UnitTest1.cs14
-rw-r--r--tests/Jellyfin.XbmcMetadata.Test/Jellyfin.XbmcMetadata.Test.csproj23
-rw-r--r--tests/Jellyfin.XbmcMetadata.Test/UnitTest1.cs15
-rw-r--r--tests/Jellyfin.XmlTv.Test/Jellyfin.XmlTv.Test.csproj29
-rw-r--r--tests/Jellyfin.XmlTv.Test/XmlTvReaderDateTimeTests.cs88
-rw-r--r--tests/Jellyfin.XmlTv.Test/XmlTvReaderLanguageTests.cs173
-rw-r--r--tests/Jellyfin.XmlTv.Test/XmlTvReaderTests.cs217
62 files changed, 114 insertions, 1901 deletions
diff --git a/.drone.yml b/.drone.yml
new file mode 100644
index 000000000..13762ba0a
--- /dev/null
+++ b/.drone.yml
@@ -0,0 +1,32 @@
+kind: pipeline
+name: build:debian
+
+steps:
+- name: submodules
+ image: docker:git
+ commands:
+ - git submodule update --init --recursive
+- name: build:debian
+ image: plugins/docker
+ group: build
+ settings:
+ repo: jellyfin/jellyfin
+ dry_run: true
+ dockerfile: Dockerfile.debian_package
+
+
+---
+kind: pipeline
+name: build:docker
+
+steps:
+- name: submodules
+ image: docker:git
+ commands:
+ - git submodule update --init --recursive
+- name: build:docker
+ image: plugins/docker
+ group: build
+ settings:
+ repo: jellyfin/jellyfin
+ dry_run: true
diff --git a/.gitignore b/.gitignore
index f34c83571..ff9e52259 100644
--- a/.gitignore
+++ b/.gitignore
@@ -235,7 +235,19 @@ pip-log.txt
MediaBrowser.WebDashboard/dashboard-ui/.idea/
/.vs
+##########
+# Rider
+##########
.idea/
+#########################
+# Debian build artifacts
+#########################
+
+debian/.debhelper/
+debian/files
+debian/jellyfin.substvars
+debian/jellyfin/
+
# Don't ignore the debian/bin folder
!debian/bin/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index f9c205bcf..000000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-variables:
- GIT_DEPTH: "1"
- GIT_SUBMODULE_STRATEGY: "recursive"
-
-build:docker:
- image: docker
- services:
- - docker:dind
- script:
- - docker build .
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b5fd212c9..1b1bc3b72 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -25,7 +25,7 @@ We adhere to a fairly standard fork-and-PR model of development:
2. Make your changes on a local feature branch of your copy of the repository.
-3. Submit a pull request from your feature branch back to the upstream master branch.
+3. Submit a pull request from your feature branch back to the upstream develop branch. If your PR includes *only* documentation or text file changes you should submit it against master.
All PRs require review before merging. Once that is done, if the PR is not tagged with the WIP label, it should be immediately merged by the reviewer assuming that they have write access. If you do not have write access, please feel free to leave reviews as well and suggest changes as they will be taken into account as well.
diff --git a/MediaBrowser.Server.Mono/ApplicationPathHelper.cs b/MediaBrowser.Server.Mono/ApplicationPathHelper.cs
deleted file mode 100644
index ac55693fa..000000000
--- a/MediaBrowser.Server.Mono/ApplicationPathHelper.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using System;
-using System.Configuration;
-using System.IO;
-using System.Runtime.InteropServices;
-
-namespace MediaBrowser.Server.Mono
-{
- public static class ApplicationPathHelper
- {
- /// <summary>
- /// Gets the path to the application's ProgramDataFolder
- /// </summary>
- /// <returns>System.String.</returns>
- public static string GetProgramDataPath(string applicationPath)
- {
- var useDebugPath = false;
-
-#if DEBUG
- useDebugPath = true;
-#endif
-
- var programDataPath = useDebugPath ?
- ConfigurationManager.AppSettings["DebugProgramDataPath"] :
- ConfigurationManager.AppSettings["ReleaseProgramDataPath"];
-
- if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
- {
- programDataPath = programDataPath.Replace("%ApplicationData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
- }
- else
- {
- programDataPath = programDataPath.Replace("%ApplicationData%", "/var/lib");
- }
-
-
- programDataPath = programDataPath
- .Replace('/', Path.DirectorySeparatorChar)
- .Replace('\\', Path.DirectorySeparatorChar);
-
- // If it's a relative path, e.g. "..\"
- if (!Path.IsPathRooted(programDataPath))
- {
- var path = Path.GetDirectoryName(applicationPath);
-
- if (string.IsNullOrEmpty(path))
- {
- throw new ApplicationException("Unable to determine running assembly location");
- }
-
- programDataPath = Path.Combine(path, programDataPath);
-
- programDataPath = Path.GetFullPath(programDataPath);
- }
-
- Directory.CreateDirectory(programDataPath);
-
- return programDataPath;
- }
- }
-}
diff --git a/MediaBrowser.Server.Mono/EmbyServer.csproj b/MediaBrowser.Server.Mono/EmbyServer.csproj
index cafee872b..480b422bc 100644
--- a/MediaBrowser.Server.Mono/EmbyServer.csproj
+++ b/MediaBrowser.Server.Mono/EmbyServer.csproj
@@ -22,7 +22,6 @@
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="1.1.11" />
<PackageReference Include="SQLitePCLRaw.core" Version="1.1.11" />
<PackageReference Include="SQLitePCLRaw.provider.sqlite3.netstandard11" Version="1.1.11" />
- <PackageReference Include="System.Configuration.ConfigurationManager" Version="4.5.0" />
</ItemGroup>
<ItemGroup>
diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs
index 3bcfff983..21de06ccc 100644
--- a/MediaBrowser.Server.Mono/Program.cs
+++ b/MediaBrowser.Server.Mono/Program.cs
@@ -24,6 +24,7 @@ using Mono.Unix.Native;
using ILogger = MediaBrowser.Model.Logging.ILogger;
using X509Certificate = System.Security.Cryptography.X509Certificates.X509Certificate;
using System.Threading;
+using InteropServices = System.Runtime.InteropServices;
namespace MediaBrowser.Server.Mono
{
@@ -87,12 +88,26 @@ namespace MediaBrowser.Server.Mono
{
if (string.IsNullOrEmpty(programDataPath))
{
- programDataPath = ApplicationPathHelper.GetProgramDataPath(applicationPath);
+ if (InteropServices.RuntimeInformation.IsOSPlatform(InteropServices.OSPlatform.Windows))
+ {
+ programDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
+ }
+ else
+ {
+ // $XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored.
+ programDataPath = Environment.GetEnvironmentVariable("XDG_DATA_HOME");
+ // If $XDG_DATA_HOME is either not set or empty, $HOME/.local/share should be used.
+ if (string.IsNullOrEmpty(programDataPath)){
+ programDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".local", "share");
+ }
+ }
}
+ programDataPath = Path.Combine(programDataPath, "jellyfin");
+
var appFolderPath = Path.GetDirectoryName(applicationPath);
- return new ServerApplicationPaths(programDataPath, appFolderPath, Path.GetDirectoryName(applicationPath));
+ return new ServerApplicationPaths(programDataPath, appFolderPath, appFolderPath);
}
private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options)
diff --git a/MediaBrowser.Server.Mono/app.config b/MediaBrowser.Server.Mono/app.config
deleted file mode 100644
index a93871625..000000000
--- a/MediaBrowser.Server.Mono/app.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
- <appSettings>
- <add key="DebugProgramDataPath" value="%ApplicationData%/jellyfin-debug/" />
- <add key="ReleaseProgramDataPath" value="%ApplicationData%/jellyfin/" />
- </appSettings>
-</configuration> \ No newline at end of file
diff --git a/MediaBrowser.sln b/MediaBrowser.sln
index 4c0db4880..b7c8ba527 100644
--- a/MediaBrowser.sln
+++ b/MediaBrowser.sln
@@ -64,50 +64,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.XmlTv", "Emby.XmlTv\Em
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IsoMounter", "Emby.IsoMounting\IsoMounter\IsoMounter.csproj", "{9BA471D2-6DB9-4DBF-B3A0-9FB3171F94A6}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BDInfo.Test", "tests\BDInfo.Test\BDInfo.Test.csproj", "{70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DvdLib.Test", "tests\DvdLib.Test\DvdLib.Test.csproj", "{393482D5-4902-4D78-A085-D3D1DAAB35C5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Dlna.Test", "tests\Jellyfin.Dlna.Test\Jellyfin.Dlna.Test.csproj", "{D9DDBA32-F017-4B04-A9A8-684B09792D6B}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{2AC30C72-9249-4621-967C-929ECA51D9F2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Drawing.Test", "tests\Jellyfin.Drawing.Test\Jellyfin.Drawing.Test.csproj", "{DB1A8734-E61E-4DC8-9664-681E691DDD2C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Drawing.ImageMagick.Test", "tests\Jellyfin.Drawing.ImageMagick.Test\Jellyfin.Drawing.ImageMagick.Test.csproj", "{D290F8B9-5C8C-4B11-82A7-E1F1615771B6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Drawing.Skia.Test", "tests\Jellyfin.Drawing.Skia.Test\Jellyfin.Drawing.Skia.Test.csproj", "{941A0327-CBE9-4804-BD45-49C0D4889E2D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Naming.Test", "tests\Jellyfin.Naming.Test\Jellyfin.Naming.Test.csproj", "{B1577537-4675-40CA-B6F4-699E544E5238}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Notifications.Test", "tests\Jellyfin.Notifications.Test\Jellyfin.Notifications.Test.csproj", "{588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Photos.Test", "tests\Jellyfin.Photos.Test\Jellyfin.Photos.Test.csproj", "{DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Server.Implementations.Test", "tests\Jellyfin.Server.Implementations.Test\Jellyfin.Server.Implementations.Test.csproj", "{479023FE-D41A-47C2-84D3-7AB89EA94DCB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.XmlTv.Test", "tests\Jellyfin.XmlTv.Test\Jellyfin.XmlTv.Test.csproj", "{3B256C5C-6B43-418F-8101-6418275DD8E3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Test", "tests\Jellyfin.Test\Jellyfin.Test.csproj", "{522B49EE-8F4D-4DF9-A8D8-F7C49D630184}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IsoMounter.Test", "tests\IsoMounter.Test\IsoMounter.Test.csproj", "{94668F26-EF57-4308-84E7-F3AEFF6BEEEF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Api.Test", "tests\Jellyfin.Api.Test\Jellyfin.Api.Test.csproj", "{80313AD3-B247-414E-8421-332CF600192A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Common.Test", "tests\Jellyfin.Common.Test\Jellyfin.Common.Test.csproj", "{6C1A297B-DA4A-4291-8E09-1BE27A7896C7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Controller.Test", "tests\Jellyfin.Controller.Test\Jellyfin.Controller.Test.csproj", "{FFE772D4-4EA0-4CFF-959F-F03A665D21EE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.LocalMetadata.Test", "tests\Jellyfin.LocalMetadata.Test\Jellyfin.LocalMetadata.Test.csproj", "{B1E67507-8344-4759-97C0-5938BE4028C3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Model.Test", "tests\Jellyfin.Model.Test\Jellyfin.Model.Test.csproj", "{55FDA93E-B630-4EBF-BE13-45ABF23FF66F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Providers.Test", "tests\Jellyfin.Providers.Test\Jellyfin.Providers.Test.csproj", "{F15C15AA-FF3C-4B9D-B779-157573A026D6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.WebDashboard.Test", "tests\Jellyfin.WebDashboard.Test\Jellyfin.WebDashboard.Test.csproj", "{7D87AEB7-A2AD-4649-A9BC-ED577851D282}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.XbmcMetadata.Test", "tests\Jellyfin.XbmcMetadata.Test\Jellyfin.XbmcMetadata.Test.csproj", "{368FAC59-60D1-49D6-AF2C-EC489551C5E4}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -569,426 +525,6 @@ Global
{9BA471D2-6DB9-4DBF-B3A0-9FB3171F94A6}.Release|x64.Build.0 = Release|Any CPU
{9BA471D2-6DB9-4DBF-B3A0-9FB3171F94A6}.Release|x86.ActiveCfg = Release|Any CPU
{9BA471D2-6DB9-4DBF-B3A0-9FB3171F94A6}.Release|x86.Build.0 = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|Win32.Build.0 = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|x64.ActiveCfg = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|x64.Build.0 = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|x86.ActiveCfg = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Debug|x86.Build.0 = Debug|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|Any CPU.Build.0 = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|Win32.ActiveCfg = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|Win32.Build.0 = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|x64.ActiveCfg = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|x64.Build.0 = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|x86.ActiveCfg = Release|Any CPU
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F}.Release|x86.Build.0 = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|Win32.Build.0 = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|x64.ActiveCfg = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|x64.Build.0 = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|x86.ActiveCfg = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Debug|x86.Build.0 = Debug|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|Any CPU.Build.0 = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|Win32.ActiveCfg = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|Win32.Build.0 = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|x64.ActiveCfg = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|x64.Build.0 = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|x86.ActiveCfg = Release|Any CPU
- {393482D5-4902-4D78-A085-D3D1DAAB35C5}.Release|x86.Build.0 = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|Win32.Build.0 = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|x64.ActiveCfg = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|x64.Build.0 = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|x86.ActiveCfg = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Debug|x86.Build.0 = Debug|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|Any CPU.Build.0 = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|Win32.ActiveCfg = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|Win32.Build.0 = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|x64.ActiveCfg = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|x64.Build.0 = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|x86.ActiveCfg = Release|Any CPU
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B}.Release|x86.Build.0 = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|Win32.Build.0 = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|x64.ActiveCfg = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|x64.Build.0 = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Debug|x86.Build.0 = Debug|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|Any CPU.Build.0 = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|Win32.ActiveCfg = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|Win32.Build.0 = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|x64.ActiveCfg = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|x64.Build.0 = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|x86.ActiveCfg = Release|Any CPU
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C}.Release|x86.Build.0 = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|Win32.Build.0 = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|x64.ActiveCfg = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|x64.Build.0 = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|x86.ActiveCfg = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Debug|x86.Build.0 = Debug|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|Any CPU.Build.0 = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|Win32.ActiveCfg = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|Win32.Build.0 = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|x64.ActiveCfg = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|x64.Build.0 = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|x86.ActiveCfg = Release|Any CPU
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6}.Release|x86.Build.0 = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|Win32.Build.0 = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|x64.ActiveCfg = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|x64.Build.0 = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|x86.ActiveCfg = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Debug|x86.Build.0 = Debug|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|Any CPU.Build.0 = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|Win32.ActiveCfg = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|Win32.Build.0 = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|x64.ActiveCfg = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|x64.Build.0 = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|x86.ActiveCfg = Release|Any CPU
- {941A0327-CBE9-4804-BD45-49C0D4889E2D}.Release|x86.Build.0 = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|Win32.Build.0 = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|x64.ActiveCfg = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|x64.Build.0 = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|x86.ActiveCfg = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Debug|x86.Build.0 = Debug|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|Any CPU.Build.0 = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|Win32.ActiveCfg = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|Win32.Build.0 = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|x64.ActiveCfg = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|x64.Build.0 = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|x86.ActiveCfg = Release|Any CPU
- {B1577537-4675-40CA-B6F4-699E544E5238}.Release|x86.Build.0 = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|Win32.Build.0 = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|x64.ActiveCfg = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|x64.Build.0 = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|x86.ActiveCfg = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Debug|x86.Build.0 = Debug|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|Any CPU.Build.0 = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|Win32.ActiveCfg = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|Win32.Build.0 = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|x64.ActiveCfg = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|x64.Build.0 = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|x86.ActiveCfg = Release|Any CPU
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8}.Release|x86.Build.0 = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|Win32.Build.0 = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|x64.ActiveCfg = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|x64.Build.0 = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Debug|x86.Build.0 = Debug|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|Any CPU.Build.0 = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|Win32.ActiveCfg = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|Win32.Build.0 = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|x64.ActiveCfg = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|x64.Build.0 = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|x86.ActiveCfg = Release|Any CPU
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA}.Release|x86.Build.0 = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|Win32.Build.0 = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|x64.ActiveCfg = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|x64.Build.0 = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|x86.ActiveCfg = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Debug|x86.Build.0 = Debug|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|Any CPU.Build.0 = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|Win32.ActiveCfg = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|Win32.Build.0 = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|x64.ActiveCfg = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|x64.Build.0 = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|x86.ActiveCfg = Release|Any CPU
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB}.Release|x86.Build.0 = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|Win32.Build.0 = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|x64.ActiveCfg = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|x64.Build.0 = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|x86.ActiveCfg = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Debug|x86.Build.0 = Debug|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|Any CPU.Build.0 = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|Win32.ActiveCfg = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|Win32.Build.0 = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|x64.ActiveCfg = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|x64.Build.0 = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|x86.ActiveCfg = Release|Any CPU
- {3B256C5C-6B43-418F-8101-6418275DD8E3}.Release|x86.Build.0 = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|Win32.Build.0 = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|x64.ActiveCfg = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|x64.Build.0 = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|x86.ActiveCfg = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Debug|x86.Build.0 = Debug|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|Any CPU.Build.0 = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|Win32.ActiveCfg = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|Win32.Build.0 = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|x64.ActiveCfg = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|x64.Build.0 = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|x86.ActiveCfg = Release|Any CPU
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184}.Release|x86.Build.0 = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|Win32.Build.0 = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|x64.ActiveCfg = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|x64.Build.0 = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|x86.ActiveCfg = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Debug|x86.Build.0 = Debug|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|Any CPU.Build.0 = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|Win32.ActiveCfg = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|Win32.Build.0 = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|x64.ActiveCfg = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|x64.Build.0 = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|x86.ActiveCfg = Release|Any CPU
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF}.Release|x86.Build.0 = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|Win32.Build.0 = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|x64.ActiveCfg = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|x64.Build.0 = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|x86.ActiveCfg = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Debug|x86.Build.0 = Debug|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|Any CPU.Build.0 = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|Win32.ActiveCfg = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|Win32.Build.0 = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|x64.ActiveCfg = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|x64.Build.0 = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|x86.ActiveCfg = Release|Any CPU
- {80313AD3-B247-414E-8421-332CF600192A}.Release|x86.Build.0 = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|Win32.Build.0 = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|x64.ActiveCfg = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|x64.Build.0 = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|x86.ActiveCfg = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Debug|x86.Build.0 = Debug|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|Any CPU.Build.0 = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|Win32.ActiveCfg = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|Win32.Build.0 = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|x64.ActiveCfg = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|x64.Build.0 = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|x86.ActiveCfg = Release|Any CPU
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7}.Release|x86.Build.0 = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|Win32.Build.0 = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|x64.ActiveCfg = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|x64.Build.0 = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|x86.ActiveCfg = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Debug|x86.Build.0 = Debug|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|Any CPU.Build.0 = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|Win32.ActiveCfg = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|Win32.Build.0 = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|x64.ActiveCfg = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|x64.Build.0 = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|x86.ActiveCfg = Release|Any CPU
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE}.Release|x86.Build.0 = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|Win32.Build.0 = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|x64.ActiveCfg = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|x64.Build.0 = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|x86.ActiveCfg = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Debug|x86.Build.0 = Debug|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|Any CPU.Build.0 = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|Win32.ActiveCfg = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|Win32.Build.0 = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|x64.ActiveCfg = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|x64.Build.0 = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|x86.ActiveCfg = Release|Any CPU
- {B1E67507-8344-4759-97C0-5938BE4028C3}.Release|x86.Build.0 = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|Win32.Build.0 = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|x64.ActiveCfg = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|x64.Build.0 = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|x86.ActiveCfg = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Debug|x86.Build.0 = Debug|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|Any CPU.Build.0 = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|Win32.ActiveCfg = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|Win32.Build.0 = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|x64.ActiveCfg = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|x64.Build.0 = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|x86.ActiveCfg = Release|Any CPU
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F}.Release|x86.Build.0 = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|Win32.Build.0 = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|x64.ActiveCfg = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|x64.Build.0 = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|x86.ActiveCfg = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Debug|x86.Build.0 = Debug|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|Any CPU.Build.0 = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|Win32.ActiveCfg = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|Win32.Build.0 = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|x64.ActiveCfg = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|x64.Build.0 = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|x86.ActiveCfg = Release|Any CPU
- {F15C15AA-FF3C-4B9D-B779-157573A026D6}.Release|x86.Build.0 = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|Win32.Build.0 = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|x64.ActiveCfg = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|x64.Build.0 = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|x86.ActiveCfg = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Debug|x86.Build.0 = Debug|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|Any CPU.Build.0 = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|Win32.ActiveCfg = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|Win32.Build.0 = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|x64.ActiveCfg = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|x64.Build.0 = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|x86.ActiveCfg = Release|Any CPU
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282}.Release|x86.Build.0 = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|Win32.Build.0 = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|x64.ActiveCfg = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|x64.Build.0 = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|x86.ActiveCfg = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Debug|x86.Build.0 = Debug|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|Any CPU.Build.0 = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|Win32.ActiveCfg = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|Win32.Build.0 = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|x64.ActiveCfg = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|x64.Build.0 = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|x86.ActiveCfg = Release|Any CPU
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -996,27 +532,4 @@ Global
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3448830C-EBDC-426C-85CD-7BBB9651A7FE}
EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {D9DDBA32-F017-4B04-A9A8-684B09792D6B} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {70DF5E87-3CCE-4EB4-96C0-7570FEBE785F} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {393482D5-4902-4D78-A085-D3D1DAAB35C5} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {DB1A8734-E61E-4DC8-9664-681E691DDD2C} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {D290F8B9-5C8C-4B11-82A7-E1F1615771B6} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {941A0327-CBE9-4804-BD45-49C0D4889E2D} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {B1577537-4675-40CA-B6F4-699E544E5238} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {588C62D7-47A4-434F-80D1-D2EA7CCEB4D8} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {DB8B7AE5-262F-4114-B8C7-0CB900BE81FA} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {479023FE-D41A-47C2-84D3-7AB89EA94DCB} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {3B256C5C-6B43-418F-8101-6418275DD8E3} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {522B49EE-8F4D-4DF9-A8D8-F7C49D630184} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {94668F26-EF57-4308-84E7-F3AEFF6BEEEF} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {80313AD3-B247-414E-8421-332CF600192A} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {6C1A297B-DA4A-4291-8E09-1BE27A7896C7} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {FFE772D4-4EA0-4CFF-959F-F03A665D21EE} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {B1E67507-8344-4759-97C0-5938BE4028C3} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {55FDA93E-B630-4EBF-BE13-45ABF23FF66F} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {F15C15AA-FF3C-4B9D-B779-157573A026D6} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {7D87AEB7-A2AD-4649-A9BC-ED577851D282} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- {368FAC59-60D1-49D6-AF2C-EC489551C5E4} = {2AC30C72-9249-4621-967C-929ECA51D9F2}
- EndGlobalSection
EndGlobal
diff --git a/README.md b/README.md
index f247d95c0..8369b4c45 100644
--- a/README.md
+++ b/README.md
@@ -119,7 +119,7 @@ A pre-built windows installer will be available soon. Until then it isn't too ha
```
git clone https://github.com/jellyfin/jellyfin.git C:\Jellyfin
```
-0. From the Jellyfin directory you can use our Jellyfin build script. Call `Build-Jellyfin.ps1 -InstallFFMPEG` from inside the directory in a powershell window. Make sure you've set your executionpolicy to unsrestricted.
+0. From the Jellyfin directory you can use our Jellyfin build script. Call `Build-Jellyfin.ps1 -InstallFFMPEG` from inside the directory in a powershell window. Make sure you've set your executionpolicy to unrestricted.
Additional flags:
* If you want to optimize for your environment you can use the `-WindowsVersion` and `-Architecture` flags to do so; the default is generic Windows x64.
diff --git a/debian/conf/jellyfin b/debian/conf/jellyfin
index 57f424c06..5c26d12c3 100644
--- a/debian/conf/jellyfin
+++ b/debian/conf/jellyfin
@@ -1,37 +1,36 @@
-# Defaults for jellyfin initscript
-# sourced by /etc/init.d/jellyfin and /usr/lib/jellyfin/jellyfin.sh
-# installed at /etc/default/jellyfin by the maintainer scripts
+# Jellyfin default configuration options
+
+# Use this file to override the default configurations; add additional
+# options with JELLYFIN_ADD_OPTS.
+
+# Under systemd, use
+# /etc/systemd/system/jellyfin.service.d/jellyfin.service.conf
+# to override the user or this config file's location.
#
# This is a POSIX shell fragment
#
-## Don't edit this file
-## Edit user configuration in /etc/jellyfin.conf to change
-##
-## JELLYFIN_USER= #$JELLYFIN_USER, username to run Jellyfin under, the default is jellyfin
-## JELLYFIN_GROUP= #$JELLYFIN_GROUP, Jellyfin group where Jellyfin user belongs
-## JELLYFIN_DIR= #$JELLYFIN_DIR, the location of Jellyfin program files the default is /usr/lib/jellyfin
-## JELLYFIN_BIN= #$JELLYFIN_BIN, full path of MediaBrowser.Server.Mono.exe the default is /usr/lib/jellyfin/bin/MediaBrowser.Server.Mono.exe
-## JELLYFIN_DATA= #$JELLYFIN_DATA, the location of Jellyfin data, cache, logs, the default is /var/lib/jellyfin
-## JELLYFIN_PIDFILE= #$JELLYFIN_PIDFILE, the location of jellyfin.pid, the default is /var/run/jellyfin/jellyfin.pid
-## JELLYFIN_ADD_OPTS= #$JELLYFIN_ADD_OPTS, additional options to pass to the Jellyfin executable, beyond ffmpeg, ffprobe and restart
-## MONO_BIN= #$MONO_BIN, full path of mono binary, the default is /usr/bin/mono-sgen
-## MONO_OPTS= #$MONO_OPTS, list of additional options to pass to mono binary
-## MONO_ENV= #$MONO_ENV, list of environment variables for running mono binary
-##
-## EXAMPLE if want to run as different user
-## add JELLYFIN_USER=username to /etc/jellyfin.conf
-## otherwise default jellyfin is used
+#
+# General options
+#
-JELLYFIN_USER="jellyfin"
-JELLYFIN_GROUP="jellyfin"
-JELLYFIN_DIR="/usr/lib/jellyfin"
-JELLYFIN_BIN="/usr/lib/jellyfin/bin/MediaBrowser.Server.Mono.exe"
+# Path to the jellyfin.dll executable
+JELLYFIN_EXE="/usr/lib/jellyfin/bin/jellyfin.dll"
+# Data directory
JELLYFIN_DATA="/var/lib/jellyfin"
-JELLYFIN_PIDFILE="/var/run/jellyfin.pid"
+# Restart script for in-app server control
+JELLYFIN_RESTART_SCRIPT="/usr/lib/jellyfin/restart.sh"
+# Additional options for the binary
JELLYFIN_ADD_OPTS=""
-MONO_BIN="/usr/bin/mono-sgen"
-MONO_OPTS="--optimize=all"
-MONO_ENV="MONO_THREADS_PER_CPU=250 MONO_GC_PARAMS=nursery-size=128m"
-UMASK="002"
+
+#
+# SysV init/Upstart options
+#
+
+# Application username
+JELLYFIN_USER="jellyfin"
+# .NET Core runtime binary
+JELLYFIN_DOTNET="/usr/bin/dotnet"
+# Full application command
+JELLYFIN_COMMAND="$JELLYFIN_EXE -programdata $JELLYFIN_DATA -restartpath $JELLYFIN_RESTART_SCRIPT $JELLYFIN_ADD_OPTS"
diff --git a/debian/conf/jellyfin.conf b/debian/conf/jellyfin.conf
deleted file mode 100644
index ef5c424e8..000000000
--- a/debian/conf/jellyfin.conf
+++ /dev/null
@@ -1,24 +0,0 @@
-# Override defaults for jellyfin initscript
-# sourced by /etc/init.d/jellyfin and /usr/bin/jellyfin
-# installed at /etc/jellyfin.conf by the maintainer scripts
-
-#
-# This is a POSIX shell fragment
-#
-
-## To change the defaults add any of the following settings below the comments
-##
-## JELLYFIN_USER= #$JELLYFIN_USER, username to run Jellyfin under, the default is jellyfin
-## JELLYFIN_GROUP= #$JELLYFIN_GROUP, Jellyfin group where Jellyfin user belongs
-## JELLYFIN_DIR= #$JELLYFIN_DIR, the location of Jellyfin program files the default is /usr/lib/jellyfin
-## JELLYFIN_BIN= #$JELLYFIN_BIN, full path of MediaBrowser.Server.Mono.exe the default is /usr/lib/jellyfin/bin/MediaBrowser.Server.Mono.exe
-## JELLYFIN_DATA= #$JELLYFIN_DATA, the location of Jellyfin data, cache, logs, the default is /var/lib/jellyfin
-## JELLYFIN_PIDFILE= #$JELLYFIN_PIDFILE, the location of jellyfin.pid, the default is /var/run/jellyfin/jellyfin.pid
-## JELLYFIN_ADD_OPTS= #$JELLYFIN_ADD_OPTS, additional options to pass to the Jellyfin executable, beyond ffmpeg, ffprobe and restart
-## MONO_BIN= #$MONO_BIN, full path of mono binary, the default is /usr/bin/mono-sgen
-## MONO_OPTS= #$MONO_OPTS, list of additional options to pass to mono binary
-## MONO_ENV= #$MONO_ENV, list of environment variables for running mono binary
-##
-## EXAMPLE if want to run as different user
-## add JELLYFIN_USER=username
-## otherwise default jellyfin is used
diff --git a/debian/conf/jellyfin.service.conf b/debian/conf/jellyfin.service.conf
new file mode 100644
index 000000000..1b69dd74e
--- /dev/null
+++ b/debian/conf/jellyfin.service.conf
@@ -0,0 +1,7 @@
+# Jellyfin systemd configuration options
+
+# Use this file to override the user or environment file location.
+
+[Service]
+#User = jellyfin
+#EnvironmentFile = /etc/default/jellyfin
diff --git a/debian/install b/debian/install
index a45091a3c..bc26f9f09 100644
--- a/debian/install
+++ b/debian/install
@@ -1,5 +1,5 @@
usr/lib/jellyfin usr/lib/
-debian/conf/jellyfin.conf etc/
debian/conf/jellyfin etc/default/
+debian/conf/jellyfin.service.conf etc/systemd/system/jellyfin.service.d/
debian/bin/jellyfin-sudoers etc/sudoers.d/
debian/bin/restart.sh usr/lib/jellyfin/
diff --git a/debian/jellyfin.init b/debian/jellyfin.init
index 4f23e13f0..18c7d02a1 100644
--- a/debian/jellyfin.init
+++ b/debian/jellyfin.init
@@ -9,13 +9,14 @@
### END INIT INFO
# Carry out specific functions when asked to by the system
-pid=`ps -fA|grep dotnet|grep JellyfinServer|awk '{print $2}'| tr -d '\n'`
+pid=`ps -fA|grep dotnet|grep jellyfin|awk '{print $2}'| tr -d '\n'`
case "$1" in
start)
if [ "$pid" == "" ]; then
echo "Starting Jellyfin..."
- nohup dotnet /usr/lib/jellyfin/bin/EmbyServer.dll >/dev/null 2>&1 &
+ . /etc/default/jellyfin
+ nohup su -u $JELLYFIN_USER -c $JELLYFIN_DOTNET $JELLYFIN_COMMAND
else
echo "Jellyfin already running"
fi
diff --git a/debian/jellyfin.service b/debian/jellyfin.service
index 751d19f89..982608a7e 100644
--- a/debian/jellyfin.service
+++ b/debian/jellyfin.service
@@ -1,12 +1,14 @@
[Unit]
-Description=Jellyfin Media Server
-After=network.target
+Description = Jellyfin Media Server
+After = network.target
[Service]
-User=jellyfin
-ExecStart=/usr/bin/dotnet /usr/lib/jellyfin/bin/EmbyServer.dll
-Restart=on-abort
-TimeoutSec=20
+Type = simple
+EnvironmentFile = /etc/default/jellyfin
+User = jellyfin
+ExecStart = /usr/bin/dotnet ${JELLYFIN_EXE} -programdata ${JELLYFIN_DATA} -restartpath ${JELLYFIN_RESTART_SCRIPT} ${JELLYFIN_ADD_OPTS}
+Restart = on-abort
+TimeoutSec = 20
[Install]
-WantedBy=multi-user.target
+WantedBy = multi-user.target
diff --git a/debian/jellyfin.upstart b/debian/jellyfin.upstart
index ea7831ac0..ebbceaf57 100644
--- a/debian/jellyfin.upstart
+++ b/debian/jellyfin.upstart
@@ -15,6 +15,6 @@ script
# Log file
logger -t "$0" "DEBUG: `set`"
- exec /usr/bin/jellyfin start
- exec /usr/bin/dotnet /usr/lib/jellyfin/bin/EmbyServer.dll
+ . /etc/default/jellyfin
+ exec su -u $JELLYFIN_USER -c $JELLYFIN_DOTNET $JELLYFIN_COMMAND
end script
diff --git a/debian/rules b/debian/rules
index 864b64f6f..17e7d506c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,9 +15,8 @@ override_dh_auto_test:
override_dh_clistrip:
override_dh_auto_build:
- dotnet build --configuration $(CONFIG) $(CURDIR)/MediaBrowser.sln --output='$(CURDIR)/usr/lib/jellyfin/bin'
dotnet publish --configuration $(CONFIG) $(CURDIR)/MediaBrowser.sln --output='$(CURDIR)/usr/lib/jellyfin/bin'
override_dh_auto_clean:
- dotnet clean --configuration $(CONFIG) $(CURDIR)/MediaBrowser.sln || true
+ dotnet clean -maxcpucount:1 --configuration $(CONFIG) $(CURDIR)/MediaBrowser.sln || true
rm -rf '$(CURDIR)/usr/lib/jellyfin'
diff --git a/tests/BDInfo.Test/BDInfo.Test.csproj b/tests/BDInfo.Test/BDInfo.Test.csproj
deleted file mode 100644
index f0438f394..000000000
--- a/tests/BDInfo.Test/BDInfo.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\BDInfo\BDInfo.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/BDInfo.Test/UnitTest1.cs b/tests/BDInfo.Test/UnitTest1.cs
deleted file mode 100644
index 8295a0cf2..000000000
--- a/tests/BDInfo.Test/UnitTest1.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using NUnit.Framework;
-
-namespace BDInfo.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/DvdLib.Test/DvdLib.Test.csproj b/tests/DvdLib.Test/DvdLib.Test.csproj
deleted file mode 100644
index 0fe8602bf..000000000
--- a/tests/DvdLib.Test/DvdLib.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\DvdLib\DvdLib.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/DvdLib.Test/UnitTest1.cs b/tests/DvdLib.Test/UnitTest1.cs
deleted file mode 100644
index 7328ccaf3..000000000
--- a/tests/DvdLib.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace DvdLib.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/IsoMounter.Test/IsoMounter.Test.csproj b/tests/IsoMounter.Test/IsoMounter.Test.csproj
deleted file mode 100644
index f5b51267f..000000000
--- a/tests/IsoMounter.Test/IsoMounter.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.IsoMounting\IsoMounter\IsoMounter.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/IsoMounter.Test/UnitTest1.cs b/tests/IsoMounter.Test/UnitTest1.cs
deleted file mode 100644
index 26e2807b1..000000000
--- a/tests/IsoMounter.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace IsoMounter.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Api.Test/Jellyfin.Api.Test.csproj b/tests/Jellyfin.Api.Test/Jellyfin.Api.Test.csproj
deleted file mode 100644
index fd757001d..000000000
--- a/tests/Jellyfin.Api.Test/Jellyfin.Api.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.Api\MediaBrowser.Api.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Api.Test/UnitTest1.cs b/tests/Jellyfin.Api.Test/UnitTest1.cs
deleted file mode 100644
index 781556758..000000000
--- a/tests/Jellyfin.Api.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Api.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Common.Test/Jellyfin.Common.Test.csproj b/tests/Jellyfin.Common.Test/Jellyfin.Common.Test.csproj
deleted file mode 100644
index f7267a9da..000000000
--- a/tests/Jellyfin.Common.Test/Jellyfin.Common.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.Common\MediaBrowser.Common.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Common.Test/UnitTest1.cs b/tests/Jellyfin.Common.Test/UnitTest1.cs
deleted file mode 100644
index 8f15221a2..000000000
--- a/tests/Jellyfin.Common.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Common.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Controller.Test/Jellyfin.Controller.Test.csproj b/tests/Jellyfin.Controller.Test/Jellyfin.Controller.Test.csproj
deleted file mode 100644
index 707174c2d..000000000
--- a/tests/Jellyfin.Controller.Test/Jellyfin.Controller.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Controller.Test/UnitTest1.cs b/tests/Jellyfin.Controller.Test/UnitTest1.cs
deleted file mode 100644
index 4d8ad2169..000000000
--- a/tests/Jellyfin.Controller.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Controller.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Dlna.Test/Jellyfin.Dlna.Test.csproj b/tests/Jellyfin.Dlna.Test/Jellyfin.Dlna.Test.csproj
deleted file mode 100644
index f457544a6..000000000
--- a/tests/Jellyfin.Dlna.Test/Jellyfin.Dlna.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.Dlna\Emby.Dlna.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Dlna.Test/UnitTest1.cs b/tests/Jellyfin.Dlna.Test/UnitTest1.cs
deleted file mode 100644
index 13ebfc68f..000000000
--- a/tests/Jellyfin.Dlna.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Dlna.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Drawing.ImageMagick.Test/Jellyfin.Drawing.ImageMagick.Test.csproj b/tests/Jellyfin.Drawing.ImageMagick.Test/Jellyfin.Drawing.ImageMagick.Test.csproj
deleted file mode 100644
index 63ece8021..000000000
--- a/tests/Jellyfin.Drawing.ImageMagick.Test/Jellyfin.Drawing.ImageMagick.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.Drawing.ImageMagick\Emby.Drawing.ImageMagick.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Drawing.ImageMagick.Test/UnitTest1.cs b/tests/Jellyfin.Drawing.ImageMagick.Test/UnitTest1.cs
deleted file mode 100644
index d38c4a681..000000000
--- a/tests/Jellyfin.Drawing.ImageMagick.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Drawing.ImageMagick.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Drawing.Skia.Test/Jellyfin.Drawing.Skia.Test.csproj b/tests/Jellyfin.Drawing.Skia.Test/Jellyfin.Drawing.Skia.Test.csproj
deleted file mode 100644
index 180203b63..000000000
--- a/tests/Jellyfin.Drawing.Skia.Test/Jellyfin.Drawing.Skia.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.Drawing.Skia\Emby.Drawing.Skia.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Drawing.Skia.Test/UnitTest1.cs b/tests/Jellyfin.Drawing.Skia.Test/UnitTest1.cs
deleted file mode 100644
index 1d9f63fb7..000000000
--- a/tests/Jellyfin.Drawing.Skia.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Drawing.Skia.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Drawing.Test/Jellyfin.Drawing.Test.csproj b/tests/Jellyfin.Drawing.Test/Jellyfin.Drawing.Test.csproj
deleted file mode 100644
index 66911e86f..000000000
--- a/tests/Jellyfin.Drawing.Test/Jellyfin.Drawing.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.Drawing\Emby.Drawing.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Drawing.Test/UnitTest1.cs b/tests/Jellyfin.Drawing.Test/UnitTest1.cs
deleted file mode 100644
index 49e750972..000000000
--- a/tests/Jellyfin.Drawing.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Drawing.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.LocalMetadata.Test/Jellyfin.LocalMetadata.Test.csproj b/tests/Jellyfin.LocalMetadata.Test/Jellyfin.LocalMetadata.Test.csproj
deleted file mode 100644
index 3a53de317..000000000
--- a/tests/Jellyfin.LocalMetadata.Test/Jellyfin.LocalMetadata.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.LocalMetadata\MediaBrowser.LocalMetadata.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.LocalMetadata.Test/UnitTest1.cs b/tests/Jellyfin.LocalMetadata.Test/UnitTest1.cs
deleted file mode 100644
index 27e3d21c1..000000000
--- a/tests/Jellyfin.LocalMetadata.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.LocalMetadata.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Model.Test/Jellyfin.Model.Test.csproj b/tests/Jellyfin.Model.Test/Jellyfin.Model.Test.csproj
deleted file mode 100644
index fdf65127d..000000000
--- a/tests/Jellyfin.Model.Test/Jellyfin.Model.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Model.Test/UnitTest1.cs b/tests/Jellyfin.Model.Test/UnitTest1.cs
deleted file mode 100644
index 4e31c7af1..000000000
--- a/tests/Jellyfin.Model.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Model.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Naming.Test/Jellyfin.Naming.Test.csproj b/tests/Jellyfin.Naming.Test/Jellyfin.Naming.Test.csproj
deleted file mode 100644
index ad192467f..000000000
--- a/tests/Jellyfin.Naming.Test/Jellyfin.Naming.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.Naming\Emby.Naming.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Naming.Test/UnitTest1.cs b/tests/Jellyfin.Naming.Test/UnitTest1.cs
deleted file mode 100644
index 1f2233e95..000000000
--- a/tests/Jellyfin.Naming.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Naming.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Notifications.Test/Jellyfin.Notifications.Test.csproj b/tests/Jellyfin.Notifications.Test/Jellyfin.Notifications.Test.csproj
deleted file mode 100644
index e3fd48975..000000000
--- a/tests/Jellyfin.Notifications.Test/Jellyfin.Notifications.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.Notifications\Emby.Notifications.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Notifications.Test/UnitTest1.cs b/tests/Jellyfin.Notifications.Test/UnitTest1.cs
deleted file mode 100644
index 80ecc4434..000000000
--- a/tests/Jellyfin.Notifications.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Notifications.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Photos.Test/Jellyfin.Photos.Test.csproj b/tests/Jellyfin.Photos.Test/Jellyfin.Photos.Test.csproj
deleted file mode 100644
index 09eafca22..000000000
--- a/tests/Jellyfin.Photos.Test/Jellyfin.Photos.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.Photos\Emby.Photos.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Photos.Test/UnitTest1.cs b/tests/Jellyfin.Photos.Test/UnitTest1.cs
deleted file mode 100644
index 56b52973e..000000000
--- a/tests/Jellyfin.Photos.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Photos.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Providers.Test/Jellyfin.Providers.Test.csproj b/tests/Jellyfin.Providers.Test/Jellyfin.Providers.Test.csproj
deleted file mode 100644
index e1f49fed2..000000000
--- a/tests/Jellyfin.Providers.Test/Jellyfin.Providers.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.Providers\MediaBrowser.Providers.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Providers.Test/UnitTest1.cs b/tests/Jellyfin.Providers.Test/UnitTest1.cs
deleted file mode 100644
index 4216c7a9b..000000000
--- a/tests/Jellyfin.Providers.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Providers.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Server.Implementations.Test/Jellyfin.Server.Implementations.Test.csproj b/tests/Jellyfin.Server.Implementations.Test/Jellyfin.Server.Implementations.Test.csproj
deleted file mode 100644
index 1ae578cd7..000000000
--- a/tests/Jellyfin.Server.Implementations.Test/Jellyfin.Server.Implementations.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.Server.Implementations\Emby.Server.Implementations.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Server.Implementations.Test/UnitTest1.cs b/tests/Jellyfin.Server.Implementations.Test/UnitTest1.cs
deleted file mode 100644
index cce8b5e36..000000000
--- a/tests/Jellyfin.Server.Implementations.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Server.Implementations.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.Test/Jellyfin.Test.csproj b/tests/Jellyfin.Test/Jellyfin.Test.csproj
deleted file mode 100644
index 8b94543e7..000000000
--- a/tests/Jellyfin.Test/Jellyfin.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.Server.Mono\EmbyServer.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.Test/UnitTest1.cs b/tests/Jellyfin.Test/UnitTest1.cs
deleted file mode 100644
index 0a5dd72b6..000000000
--- a/tests/Jellyfin.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.WebDashboard.Test/Jellyfin.WebDashboard.Test.csproj b/tests/Jellyfin.WebDashboard.Test/Jellyfin.WebDashboard.Test.csproj
deleted file mode 100644
index 762b718a6..000000000
--- a/tests/Jellyfin.WebDashboard.Test/Jellyfin.WebDashboard.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.WebDashboard.Test/UnitTest1.cs b/tests/Jellyfin.WebDashboard.Test/UnitTest1.cs
deleted file mode 100644
index a636cb340..000000000
--- a/tests/Jellyfin.WebDashboard.Test/UnitTest1.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.WebDashboard.Test
-{
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.XbmcMetadata.Test/Jellyfin.XbmcMetadata.Test.csproj b/tests/Jellyfin.XbmcMetadata.Test/Jellyfin.XbmcMetadata.Test.csproj
deleted file mode 100644
index 499dc1383..000000000
--- a/tests/Jellyfin.XbmcMetadata.Test/Jellyfin.XbmcMetadata.Test.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\MediaBrowser.XbmcMetadata\MediaBrowser.XbmcMetadata.csproj" />
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.XbmcMetadata.Test/UnitTest1.cs b/tests/Jellyfin.XbmcMetadata.Test/UnitTest1.cs
deleted file mode 100644
index 435c7e417..000000000
--- a/tests/Jellyfin.XbmcMetadata.Test/UnitTest1.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-using NUnit.Framework;
-
-namespace Jellyfin.XbmcMetadata.Test
-{
- [TestFixture]
- public class UnitTest1
- {
- [Test]
- public void Test1()
- {
- Assert.That(true, Is.True);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.XmlTv.Test/Jellyfin.XmlTv.Test.csproj b/tests/Jellyfin.XmlTv.Test/Jellyfin.XmlTv.Test.csproj
deleted file mode 100644
index 6740a65c9..000000000
--- a/tests/Jellyfin.XmlTv.Test/Jellyfin.XmlTv.Test.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.1</TargetFramework>
-
- <IsPackable>false</IsPackable>
- </PropertyGroup>
-
- <ItemGroup>
- <PackageReference Include="AutoFixture" Version="4.6.0" />
- <PackageReference Include="AutoFixture.AutoMoq" Version="4.6.0" />
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
- <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
- <PackageReference Include="Moq" Version="4.10.1" />
- <PackageReference Include="NUnit" Version="3.11.0" />
- <PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
- </ItemGroup>
-
- <ItemGroup>
- <ProjectReference Include="..\..\Emby.XmlTv\Emby.XmlTv\Emby.XmlTv.csproj" />
- </ItemGroup>
-
- <ItemGroup>
- <Content Include="XmlFiles\*">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
- </ItemGroup>
-
-</Project>
diff --git a/tests/Jellyfin.XmlTv.Test/XmlTvReaderDateTimeTests.cs b/tests/Jellyfin.XmlTv.Test/XmlTvReaderDateTimeTests.cs
deleted file mode 100644
index 12ddec713..000000000
--- a/tests/Jellyfin.XmlTv.Test/XmlTvReaderDateTimeTests.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-using System;
-using System.IO;
-using Emby.XmlTv.Classes;
-using NUnit.Framework;
-
-namespace Jellyfin.XmlTv.Test
-{
- [TestFixture]
- public class XmlTvReaderDateTimeTests
- {
- private string _testFilePath;
-
- [SetUp]
- public void BeforeEachTest()
- {
- _testFilePath = Path.GetFullPath(Path.Combine("XmlFiles", "MultilanguageData.xml"));
- }
-
- [Test]
- public void ShouldHandlePartDates()
- {
- var reader = new XmlTvReader(_testFilePath, "es");
-
- Assert.AreEqual(Parse("01 Jan 2016 00:00:00"), reader.ParseDate("2016"));
- Assert.AreEqual(Parse("01 Jan 2016 00:00:00"), reader.ParseDate("201601"));
- Assert.AreEqual(Parse("01 Jan 2016 00:00:00"), reader.ParseDate("20160101"));
- Assert.AreEqual(Parse("01 Jan 2016 12:00:00"), reader.ParseDate("2016010112"));
- Assert.AreEqual(Parse("01 Jan 2016 12:34:00"), reader.ParseDate("201601011234"));
- Assert.AreEqual(Parse("01 Jan 2016 12:34:56"), reader.ParseDate("20160101123456"));
- }
-
- [Test]
- public void ShouldHandleDateWithOffset()
- {
- var reader = new XmlTvReader(_testFilePath, "es");
-
- // parse variations on 1:00AM
- Assert.AreEqual(Parse("01 Jan 2016 12:00:00"), reader.ParseDate("20160101120000 +0000"));
- Assert.AreEqual(Parse("01 Jan 2016 02:00:00"), reader.ParseDate("20160101120000 +1000"));
- Assert.AreEqual(Parse("01 Jan 2016 11:00:00"), reader.ParseDate("20160101120000 +0100"));
- Assert.AreEqual(Parse("01 Jan 2016 11:50:00"), reader.ParseDate("20160101120000 +0010"));
- Assert.AreEqual(Parse("01 Jan 2016 11:59:00"), reader.ParseDate("20160101120000 +0001"));
-
- Assert.AreEqual(Parse("01 Jan 2016 22:00:00"), reader.ParseDate("20160101120000 -1000"));
- Assert.AreEqual(Parse("01 Jan 2016 13:00:00"), reader.ParseDate("20160101120000 -0100"));
- Assert.AreEqual(Parse("01 Jan 2016 12:10:00"), reader.ParseDate("20160101120000 -0010"));
- Assert.AreEqual(Parse("01 Jan 2016 12:01:00"), reader.ParseDate("20160101120000 -0001"));
- }
-
- [Test]
- public void ShouldHandlePartDatesWithOffset()
- {
- var reader = new XmlTvReader(_testFilePath, "es");
-
- Assert.AreEqual(Parse("01 Jan 2016 01:00:00"), reader.ParseDate("2016 -0100"));
- Assert.AreEqual(Parse("01 Jan 2016 01:00:00"), reader.ParseDate("201601 -0100"));
- Assert.AreEqual(Parse("01 Jan 2016 01:00:00"), reader.ParseDate("20160101 -0100"));
- Assert.AreEqual(Parse("01 Jan 2016 13:00:00"), reader.ParseDate("2016010112 -0100"));
- Assert.AreEqual(Parse("01 Jan 2016 13:00:00"), reader.ParseDate("201601011200 -0100"));
- Assert.AreEqual(Parse("01 Jan 2016 13:00:00"), reader.ParseDate("20160101120000 -0100"));
- }
-
- [Test]
- public void ShouldHandleSpaces()
- {
- var reader = new XmlTvReader(_testFilePath, "es");
-
- // parse variations on 1:00AM
- Assert.AreEqual(Parse("01 Jan 2016 12:00:00"), reader.ParseDate("20160101120000 +000"));
- Assert.AreEqual(Parse("01 Jan 2016 12:00:00"), reader.ParseDate("20160101120000 +00"));
- Assert.AreEqual(Parse("01 Jan 2016 12:00:00"), reader.ParseDate("20160101120000 +0"));
- }
-
- [Test]
- public void ShouldHandleSpaces2()
- {
- var reader = new XmlTvReader(_testFilePath, "es");
-
- // parse variations on 1:00AM
- Assert.AreEqual(Parse("01 Jan 2016 12:00:00"), reader.ParseDate("20160101120000 0"));
- }
-
- private static DateTimeOffset Parse(string value)
- {
- return new DateTimeOffset(DateTimeOffset.Parse(value).Ticks, TimeSpan.Zero);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.XmlTv.Test/XmlTvReaderLanguageTests.cs b/tests/Jellyfin.XmlTv.Test/XmlTvReaderLanguageTests.cs
deleted file mode 100644
index 145ab2598..000000000
--- a/tests/Jellyfin.XmlTv.Test/XmlTvReaderLanguageTests.cs
+++ /dev/null
@@ -1,173 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using Emby.XmlTv.Classes;
-using NUnit.Framework;
-
-namespace Jellyfin.XmlTv.Test
-{
- [TestFixture]
- public class XmlTvReaderLanguageTests
- {
- private string _testFilePath;
-
- [SetUp]
- public void BeforeEachTest()
- {
- _testFilePath = Path.GetFullPath(Path.Combine("XmlFiles", "MultilanguageData.xml"));
- }
-
- /*
- <title lang="es">Homes Under the Hammer - Spanish</title>
- <title lang="es">Homes Under the Hammer - Spanish 2</title>
- <title lang="en">Homes Under the Hammer - English</title>
- <title lang="en">Homes Under the Hammer - English 2</title>
- <title lang="">Homes Under the Hammer - Empty Language</title>
- <title lang="">Homes Under the Hammer - Empty Language 2</title>
- <title>Homes Under the Hammer - No Language</title>
- <title>Homes Under the Hammer - No Language 2</title>
- */
-
- /* Expected Behaviour:
- - Language = Null Homes Under the Hammer - No Language
- - Language = "" Homes Under the Hammer - No Language
- - Language = es Homes Under the Hammer - Spanish
- - Language = en Homes Under the Hammer - English
- */
-
- [Test]
- public void Should_Return_The_First_Matching_Language_ES()
- {
- var reader = new XmlTvReader(_testFilePath, "es");
- var channel = reader.GetChannels().FirstOrDefault();
- Assert.IsNotNull(channel);
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programme = reader.GetProgrammes(channel.Id, startDate, startDate.AddDays(1), cancellationToken).FirstOrDefault();
-
- Assert.IsNotNull(programme);
- Assert.AreEqual("Homes Under the Hammer - Spanish", programme.Title);
- Assert.AreEqual(1, programme.Categories.Count);
- Assert.AreEqual("Property - Spanish", programme.Categories[0]);
- }
-
- [Test]
- public void Should_Return_The_First_Matching_Language_EN()
- {
- var reader = new XmlTvReader(_testFilePath, "en");
-
- var channel = reader.GetChannels().FirstOrDefault();
- Assert.IsNotNull(channel);
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programme = reader.GetProgrammes(channel.Id, startDate, startDate.AddDays(1), cancellationToken).FirstOrDefault();
-
- Assert.IsNotNull(programme);
- Assert.AreEqual("Homes Under the Hammer - English", programme.Title);
- Assert.AreEqual(1, programme.Categories.Count);
- Assert.AreEqual("Property - English", programme.Categories[0]);
- }
-
- [Test]
- public void Should_Return_The_First_Matching_With_No_Language()
- {
- var reader = new XmlTvReader(_testFilePath, null);
-
- var channel = reader.GetChannels().FirstOrDefault();
- Assert.IsNotNull(channel);
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programme = reader.GetProgrammes(channel.Id, startDate, startDate.AddDays(1), cancellationToken).FirstOrDefault();
-
- Assert.IsNotNull(programme);
- Assert.AreEqual("Homes Under the Hammer - No Language", programme.Title);
- Assert.AreEqual(1, programme.Categories.Count);
- Assert.AreEqual("Property - No Language", programme.Categories[0]);
- }
-
- [Test]
- public void Should_Return_The_First_Matching_With_Empty_Language()
- {
- var reader = new XmlTvReader(_testFilePath, String.Empty);
-
- var channel = reader.GetChannels().FirstOrDefault();
- Assert.IsNotNull(channel);
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programme = reader.GetProgrammes(channel.Id, startDate, startDate.AddDays(1), cancellationToken).FirstOrDefault();
-
- Assert.IsNotNull(programme);
- Assert.AreEqual("Homes Under the Hammer - Empty Language", programme.Title);
- Assert.AreEqual(1, programme.Categories.Count);
- Assert.AreEqual("Property - Empty Language", programme.Categories[0]);
- }
-
- [Test]
- public void Should_Return_The_First_When_NoMatchFound()
- {
- var reader = new XmlTvReader(_testFilePath, "es"); // There are no titles or categories for spanish
-
- var channel = reader.GetChannels().FirstOrDefault();
- Assert.IsNotNull(channel);
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programme = reader.GetProgrammes(channel.Id, startDate, startDate.AddDays(1), cancellationToken).Skip(1).FirstOrDefault();
-
- Assert.IsNotNull(programme);
- Assert.AreEqual("Homes Under the Hammer - English", programme.Title);
-
- // Should return all categories
- Assert.AreEqual(2, programme.Categories.Count);
- Assert.IsTrue(programme.Categories.Contains("Property - English"));
- Assert.IsTrue(programme.Categories.Contains("Property - Empty Language"));
- }
-
- [Test]
- public void Should_Return_The_First_When_NoLanguage()
- {
- var reader = new XmlTvReader(_testFilePath, null);
-
- var channel = reader.GetChannels().FirstOrDefault();
- Assert.IsNotNull(channel);
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programme = reader.GetProgrammes(channel.Id, startDate, startDate.AddDays(1), cancellationToken).Skip(1).FirstOrDefault();
-
- Assert.IsNotNull(programme);
- Assert.AreEqual("Homes Under the Hammer - English", programme.Title); // Should return the first in the list
-
- // Should return all categories
- Assert.AreEqual(2, programme.Categories.Count);
- Assert.IsTrue(programme.Categories.Contains("Property - English"));
- Assert.IsTrue(programme.Categories.Contains("Property - Empty Language"));
- }
-
- [Test]
- public void Should_Return_All_Languages()
- {
- var reader = new XmlTvReader(_testFilePath);
- var cancellationToken = new CancellationToken();
-
- var results = reader.GetLanguages(cancellationToken);
- Assert.IsNotNull(results);
-
- foreach (var result in results)
- {
- Console.WriteLine("{0} - {1}", result.Name, result.Relevance);
- }
-
- Assert.AreEqual(2, results.Count);
- Assert.AreEqual("en", results[0].Name);
- Assert.AreEqual(11, results[0].Relevance);
- Assert.AreEqual("es", results[1].Name);
- Assert.AreEqual(3, results[1].Relevance);
- }
- }
-} \ No newline at end of file
diff --git a/tests/Jellyfin.XmlTv.Test/XmlTvReaderTests.cs b/tests/Jellyfin.XmlTv.Test/XmlTvReaderTests.cs
deleted file mode 100644
index d44081970..000000000
--- a/tests/Jellyfin.XmlTv.Test/XmlTvReaderTests.cs
+++ /dev/null
@@ -1,217 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using Emby.XmlTv.Classes;
-using NUnit.Framework;
-
-namespace Jellyfin.XmlTv.Test
-{
- [TestFixture]
- public class XmlTvReaderTests
- {
- private string _ukDataPath;
- private string _esDataPath;
- private string _honeybeeDataPath;
-
- [SetUp]
- public void BeforeEachTest()
- {
- _ukDataPath = Path.GetFullPath(Path.Combine("XmlFiles", "UK_Data.xml"));
- _esDataPath = Path.GetFullPath(Path.Combine("XmlFiles", "ES_MultiLanguageData.xml"));
- _honeybeeDataPath = Path.GetFullPath(Path.Combine("XmlFiles", "honeybee.xml"));
- }
-
- [Test]
- public void UK_DataTest_ChannelsTest()
- {
- var reader = new XmlTvReader(_ukDataPath);
-
- var channels = reader.GetChannels().ToList();
- Assert.AreEqual(5, channels.Count);
-
- // Check each channel
- var channel = channels.SingleOrDefault(c => c.Id == "UK_RT_2667");
- Assert.IsNotNull(channel);
- Assert.AreEqual("BBC1 HD", channel.DisplayName);
- Assert.AreEqual("7.1", channel.Number);
- Assert.IsNotNull(channel.Icon);
- Assert.AreEqual("Logo_UK_RT_2667", channel.Icon.Source);
- Assert.AreEqual(100, channel.Icon.Width);
- Assert.AreEqual(200, channel.Icon.Height);
-
- channel = channels.SingleOrDefault(c => c.Id == "UK_RT_105");
- Assert.IsNotNull(channel);
- Assert.AreEqual("BBC2", channel.DisplayName);
- Assert.IsNotNull(channel.Icon);
- Assert.AreEqual("Logo_UK_RT_105", channel.Icon.Source);
- Assert.IsFalse(channel.Icon.Width.HasValue);
- Assert.IsFalse(channel.Icon.Height.HasValue);
-
- channel = channels.SingleOrDefault(c => c.Id == "UK_RT_2118");
- Assert.IsNotNull(channel);
- Assert.AreEqual("ITV1 HD", channel.DisplayName);
- Assert.IsNotNull(channel.Icon);
- Assert.AreEqual("Logo_UK_RT_2118", channel.Icon.Source);
- Assert.AreEqual(100, channel.Icon.Width);
- Assert.IsFalse(channel.Icon.Height.HasValue);
-
- channel = channels.SingleOrDefault(c => c.Id == "UK_RT_2056");
- Assert.IsNotNull(channel);
- Assert.AreEqual("Channel 4 HD", channel.DisplayName);
- Assert.IsNotNull(channel.Icon);
- Assert.AreEqual("Logo_UK_RT_2056", channel.Icon.Source);
- Assert.IsFalse(channel.Icon.Width.HasValue);
- Assert.AreEqual(200, channel.Icon.Height);
-
- channel = channels.SingleOrDefault(c => c.Id == "UK_RT_134");
- Assert.IsNotNull(channel);
- Assert.AreEqual("Channel 5", channel.DisplayName);
- Assert.IsNull(channel.Icon);
- }
-
- [Test]
- public void UK_DataTest_GeneralTest()
- {
- var reader = new XmlTvReader(_ukDataPath, null);
-
- var channels = reader.GetChannels().ToList();
- Assert.AreEqual(5, channels.Count);
-
- // Pick a channel to check the data for
- var channel = channels.SingleOrDefault(c => c.Id == "UK_RT_2056");
- Assert.IsNotNull(channel);
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programmes = reader.GetProgrammes(channel.Id, startDate, startDate.AddDays(1), cancellationToken).ToList();
-
- Assert.AreEqual(27, programmes.Count);
- var programme = programmes.SingleOrDefault(p => p.Title == "The Secret Life of");
-
- Assert.IsNotNull(programme);
- Assert.AreEqual(new DateTime(2015, 11, 26, 20, 0, 0), programme.StartDate);
- Assert.AreEqual(new DateTime(2015, 11, 26, 21, 0, 0), programme.EndDate);
- Assert.AreEqual("Cameras follow the youngsters' development after two weeks apart and time has made the heart grow fonder for Alfie and Emily, who are clearly happy to be back together. And although Alfie struggled to empathise with the rest of his peers before, a painting competition proves to be a turning point for him. George takes the children's rejection of his family recipe to heart, but goes on to triumph elsewhere, and romance is in the air when newcomer Sienna captures Arthur's heart.", programme.Description);
- Assert.AreEqual("Documentary", programme.Categories.Single());
- Assert.IsNotNull(programme.Episode);
- Assert.AreEqual("The Secret Life of 5 Year Olds", programme.Episode.Title);
- Assert.AreEqual(1, programme.Episode.Series);
- Assert.IsNull(programme.Episode.SeriesCount);
- Assert.AreEqual(4, programme.Episode.Episode);
- Assert.AreEqual(6, programme.Episode.EpisodeCount);
- Assert.IsNotNull(programme.Premiere);
- //Assert.AreEqual("First showing on national terrestrial TV", programme.Premiere.Details);
- Assert.IsTrue(programme.IsNew);
- }
-
- [Test]
- public void UK_DataTest_MultipleTitles_SameLanguage_Should_ReturnFirstValue()
- {
- var reader = new XmlTvReader(_ukDataPath, null);
-
- /*
- <title lang="en">Homes Under the Hammer - Title 1</title>
- <title lang="en">Homes Under the Hammer - Title 2</title>
- <title lang="en">Homes Under the Hammer - Title 3</title>
- */
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programmes = reader.GetProgrammes("UK_RT_2667", startDate, startDate.AddDays(1), cancellationToken).ToList();
- var programme = programmes.SingleOrDefault(p => p.Title == "Homes Under the Hammer - Title 1");
-
- Assert.IsNotNull(programme);
- }
-
- [Test]
- public void UK_DataTest_MultipleTitles_NoLanguage_Should_ReturnFirstValue()
- {
- var reader = new XmlTvReader(_ukDataPath, null);
-
- /*
- <title>Oxford Street Revealed - Title 1</title>
- <title>Oxford Street Revealed - Title 2</title>
- <title>Oxford Street Revealed - Title 3</title>
- */
-
- var startDate = new DateTime(2015, 11, 26);
- var cancellationToken = new CancellationToken();
- var programmes = reader.GetProgrammes("UK_RT_2667", startDate, startDate.AddDays(1), cancellationToken).ToList();
- var programme = programmes.SingleOrDefault(p => p.Title == "Oxford Street Revealed - Title 1");
-
- Assert.IsNotNull(programme);
- }
-
- [Test]
- public void ES_MultiLanguageDataTest()
- {
- var reader = new XmlTvReader(_esDataPath, "es"); // Specify the spanish language explicitly
-
- var channels = reader.GetChannels().ToList();
- Assert.AreEqual(141, channels.Count);
-
- // Pick a channel to check the data for
- var channel = channels.SingleOrDefault(c => c.Id == "Canal + HD" && c.DisplayName == "Canal + HD");
- Assert.IsNotNull(channel);
-
- var startDate = new DateTime(2016, 02, 18);
- var cancellationToken = new CancellationToken();
- var programmes = reader.GetProgrammes(channel.Id, startDate, startDate.AddDays(1), cancellationToken).ToList();
-
- Assert.AreEqual(22, programmes.Count);
- var programme = programmes.SingleOrDefault(p => p.Title == "This is Comedy. Judd Apatow & Co.");
-
- /*
- <programme start="20160218055100 +0100" stop="20160218065400 +0100" channel="Canal + HD">
- <title lang="es">This is Comedy. Judd Apatow &amp; Co.</title>
- <title lang="en">This is Comedy</title>
- <desc lang="es">El resurgir creativo de la comedia estadounidense en los últimos 15 años ha tenido un nombre indiscutible, Judd Apatow, y unos colaboradores indispensables, sus amigos (actores, cómicos, escritores) Jonah Hill, Steve Carrell, Paul Rudd, Seth Rogen, Lena Dunham... A través de extractos de sus filmes y de entrevistas a algunos los miembros de su 'banda' (Adam Sandler, Lena Dunham o Jason Segel), este documental muestra la carrera de un productor y director excepcional que ha sido capaz de llevar la risa a su máxima expresión</desc>
- <credits>
- <director>Jacky Goldberg</director>
- </credits>
- <date>2014</date>
- <category lang="es">Documentales</category>
- <category lang="es">Sociedad</category>
- <icon src="http://www.plus.es/recorte/n/caratula4/F3027798" />
- <country>Francia</country>
- <rating system="MPAA">
- <value>TV-G</value>
- </rating>
- <star-rating>
- <value>3/5</value>
- </star-rating>
- </programme>
- */
-
- Assert.IsNotNull(programme);
- Assert.AreEqual(new DateTime(2016, 02, 18, 4, 51, 0), programme.StartDate);
- Assert.AreEqual(new DateTime(2016, 02, 18, 5, 54, 0), programme.EndDate);
- Assert.AreEqual("El resurgir creativo de la comedia estadounidense en los últimos 15 años ha tenido un nombre indiscutible, Judd Apatow, y unos colaboradores indispensables, sus amigos (actores, cómicos, escritores) Jonah Hill, Steve Carrell, Paul Rudd, Seth Rogen, Lena Dunham... A través de extractos de sus filmes y de entrevistas a algunos los miembros de su 'banda' (Adam Sandler, Lena Dunham o Jason Segel), este documental muestra la carrera de un productor y director excepcional que ha sido capaz de llevar la risa a su máxima expresión", programme.Description);
- Assert.AreEqual(2, programme.Categories.Count);
- Assert.AreEqual("Documentales", programme.Categories[0]);
- Assert.AreEqual("Sociedad", programme.Categories[1]);
- Assert.IsNotNull(programme.Episode);
- Assert.IsNull(programme.Episode.Episode);
- Assert.IsNull(programme.Episode.EpisodeCount);
- Assert.IsNull(programme.Episode.Part);
- Assert.IsNull(programme.Episode.PartCount);
- Assert.IsNull(programme.Episode.Series);
- Assert.IsNull(programme.Episode.SeriesCount);
- Assert.IsNull(programme.Episode.Title);
- }
-
- [Test]
- public void HoneybeeTest()
- {
- var reader = new XmlTvReader(_honeybeeDataPath, null);
-
- var channels = reader.GetChannels().ToList();
- Assert.AreEqual(16, channels.Count);
-
- var programs = reader.GetProgrammes("2013.honeybee.it", DateTime.UtcNow.AddYears(-1),
- DateTime.UtcNow.AddYears(1), CancellationToken.None).ToList();
- Assert.AreEqual(297, programs.Count);
- }
- }
-} \ No newline at end of file