mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-03-05 13:20:20 -05:00
Compare commits
13 Commits
v3.0.6.134
...
phantom-x6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
473b146ae2 | ||
|
|
bdc0bb4441 | ||
|
|
96c5a37ca8 | ||
|
|
ce0b7e1077 | ||
|
|
29cde083f9 | ||
|
|
8faebc01ee | ||
|
|
2ea154b863 | ||
|
|
d02dfc9ff1 | ||
|
|
7bcfa3d7b2 | ||
|
|
1c1f9cddff | ||
|
|
8308d65375 | ||
|
|
d64d59ff27 | ||
|
|
8da6f7d7f4 |
62
build.sh
62
build.sh
@@ -12,6 +12,8 @@ sourceFolder='./src'
|
||||
slnFile=$sourceFolder/Sonarr.sln
|
||||
updateSubFolder=Sonarr.Update
|
||||
|
||||
sqlitePackageDir="$HOME/.nuget/packages/system.data.sqlite.core.lidarr/1.0.111-5"
|
||||
|
||||
nuget='tools/nuget/nuget.exe';
|
||||
vswhere='tools/vswhere/vswhere.exe';
|
||||
|
||||
@@ -88,16 +90,17 @@ CleanFolder()
|
||||
|
||||
BuildWithMSBuild()
|
||||
{
|
||||
installationPath=`$vswhere -latest -products \* -requires Microsoft.Component.MSBuild -property installationPath`
|
||||
installationPath=${installationPath/C:\\/\/c\/}
|
||||
installationPath=${installationPath//\\/\/}
|
||||
msBuild="$installationPath/MSBuild/$msBuildVersion/Bin"
|
||||
echo $msBuild
|
||||
msBuildPath=`$vswhere -latest -products \* -requires Microsoft.Component.MSBuild -find MSBuild\\\\\*\*\\\\Bin\\\\MSBuild.exe`
|
||||
msBuildPath=${msBuildPath/C:\\/\/c\/}
|
||||
msBuildPath=${msBuildPath//\\/\/}
|
||||
msBuildDir=$(dirname "$msBuildPath")
|
||||
|
||||
export PATH=$msBuild:$PATH
|
||||
CheckExitCode MSBuild.exe $slnFile //p:Configuration=Release //p:Platform=x86 //t:Clean //m
|
||||
echo $msBuildDir
|
||||
|
||||
export PATH=$msBuildDir:$PATH
|
||||
CheckExitCode MSBuild.exe $slnFile //p:Configuration=Release //p:Platform=x64 //t:Clean //m
|
||||
$nuget restore $slnFile
|
||||
CheckExitCode MSBuild.exe $slnFile //p:Configuration=Release //p:Platform=x86 //t:Build //m //p:AllowedReferenceRelatedFileExtensions=.pdb
|
||||
CheckExitCode MSBuild.exe $slnFile //p:Configuration=Release //p:Platform=x64 //t:Build //m //p:AllowedReferenceRelatedFileExtensions=.pdb
|
||||
}
|
||||
|
||||
BuildWithXbuild()
|
||||
@@ -105,7 +108,7 @@ BuildWithXbuild()
|
||||
export MONO_IOMAP=case
|
||||
CheckExitCode xbuild /t:Clean $slnFile
|
||||
mono $nuget restore $slnFile
|
||||
CheckExitCode xbuild /p:Configuration=Release /p:Platform=x86 /t:Build /p:AllowedReferenceRelatedFileExtensions=.pdb $slnFile
|
||||
CheckExitCode xbuild /p:Configuration=Release /p:Platform=x64 /t:Build /p:AllowedReferenceRelatedFileExtensions=.pdb $slnFile
|
||||
}
|
||||
|
||||
LintUI()
|
||||
@@ -134,9 +137,6 @@ Build()
|
||||
|
||||
CleanFolder $outputFolder false
|
||||
|
||||
echo "Removing Mono.Posix.dll"
|
||||
rm $outputFolder/Mono.Posix.dll
|
||||
|
||||
ProgressEnd 'Build'
|
||||
}
|
||||
|
||||
@@ -174,23 +174,11 @@ PatchMono()
|
||||
{
|
||||
local path=$1
|
||||
|
||||
# Below we deal with some mono incompatibilities with windows-only dotnet core/standard libs
|
||||
# See: https://github.com/mono/mono/blob/master/tools/nuget-hash-extractor/download.sh
|
||||
# That list defines assemblies that are prohibited from being loaded from the appdir, instead loading from mono GAC.
|
||||
|
||||
# We have debian dependencies to get these installed or facades from mono 5.10+
|
||||
for assembly in System.IO.Compression System.Runtime.InteropServices.RuntimeInformation System.Net.Http System.Globalization.Extensions System.Text.Encoding.CodePages System.Threading.Overlapped
|
||||
# Copy over the netstandard.dll facade since mono has no separate package for it and includes it in mono-devel
|
||||
for assembly in netstandard System.Runtime
|
||||
do
|
||||
if [ -e $path/$assembly.dll ]; then
|
||||
if [ -e $sourceFolder/Libraries/Mono/$assembly.dll ]; then
|
||||
echo "Copy Mono-specific facade $assembly.dll (uses win32 interop)"
|
||||
echo "Copy Mono-specific facade $assembly.dll"
|
||||
cp $sourceFolder/Libraries/Mono/$assembly.dll $path/$assembly.dll
|
||||
else
|
||||
echo "Remove $assembly.dll (uses win32 interop)"
|
||||
rm $path/$assembly.dll
|
||||
fi
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
# Copy more stable version of Vectors for mono <5.12
|
||||
@@ -240,10 +228,6 @@ PackageMono()
|
||||
echo "Adding Sonarr.Core.dll.config (for dllmap)"
|
||||
cp $sourceFolder/NzbDrone.Core/Sonarr.Core.dll.config $outputFolderLinux
|
||||
|
||||
# Remove Http binding redirect by renaming it
|
||||
# We don't need this anymore once our minimum mono version is 5.10
|
||||
sed -i "s/System.Net.Http/System.Net.Http.Mono/g" $outputFolderLinux/Sonarr.Console.exe.config
|
||||
|
||||
echo "Renaming Sonarr.Console.exe to Sonarr.exe"
|
||||
rm $outputFolderLinux/Sonarr.exe*
|
||||
for file in $outputFolderLinux/Sonarr.Console.exe*; do
|
||||
@@ -273,11 +257,11 @@ PackageMacOS()
|
||||
echo "Copying Binaries"
|
||||
cp -r $outputFolderLinux/* $outputFolderMacOS
|
||||
|
||||
echo "Adding sqlite dylibs"
|
||||
cp $sourceFolder/Libraries/Sqlite/*.dylib $outputFolderMacOS
|
||||
echo "Adding sqlite dylib"
|
||||
cp "$sqlitePackageDir/runtimes/osx-x64/native/net46"/* $outputFolderMacOS
|
||||
|
||||
echo "Adding MediaInfo dylib"
|
||||
cp $sourceFolder/Libraries/MediaInfo/*.dylib $outputFolderMacOS
|
||||
cp $sourceFolder/Libraries/MediaInfo/x64/*.dylib $outputFolderMacOS
|
||||
|
||||
ProgressEnd 'Creating MacOS Package'
|
||||
}
|
||||
@@ -298,11 +282,11 @@ PackageMacOSApp()
|
||||
echo "Copying Binaries"
|
||||
cp -r $outputFolderLinux/* $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
|
||||
|
||||
echo "Adding sqlite dylibs"
|
||||
cp $sourceFolder/Libraries/Sqlite/*.dylib $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
|
||||
echo "Adding sqlite dylib"
|
||||
cp "$sqlitePackageDir/runtimes/osx-x64/native/net46"/* $outputFolderMacOS
|
||||
|
||||
echo "Adding MediaInfo dylib"
|
||||
cp $sourceFolder/Libraries/MediaInfo/*.dylib $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
|
||||
cp $sourceFolder/Libraries/MediaInfo/x64/*.dylib $outputFolderMacOS
|
||||
|
||||
echo "Removing Update Folder"
|
||||
rm -r $outputFolderMacOSApp/Sonarr.app/Contents/MacOS/Sonarr.Update
|
||||
@@ -336,10 +320,6 @@ PackageTestsMono()
|
||||
echo "Adding Sonarr.Core.dll.config (for dllmap)"
|
||||
cp $sourceFolder/NzbDrone.Core/Sonarr.Core.dll.config $testPackageFolderLinux
|
||||
|
||||
# Remove Http binding redirect by renaming it
|
||||
# We don't need this anymore once our minimum mono version is 5.10
|
||||
sed -i "s/System.Net.Http/System.Net.Http.Mono/g" $testPackageFolderLinux/Sonarr.Common.Test.dll.config
|
||||
|
||||
cp ./test.sh $testPackageFolderLinux/
|
||||
dos2unix $testPackageFolderLinux/test.sh
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ Vcs-Git: git@github.com:Sonarr/Sonarr.git
|
||||
Vcs-Browser: https://github.com/Sonarr/Sonarr
|
||||
Build-Depends: debhelper (>= 9),
|
||||
dh-systemd (>= 1.5),
|
||||
mono-devel (>= 5.4),
|
||||
libmono-cil-dev (>= 5.4),
|
||||
mono-devel (>= 5.18),
|
||||
libmono-cil-dev (>= 5.18),
|
||||
cli-common-dev (>= 0.9+xamarin5)
|
||||
|
||||
Package: sonarr
|
||||
@@ -16,7 +16,7 @@ Architecture: all
|
||||
Provides: nzbdrone
|
||||
Conflicts: nzbdrone
|
||||
Replaces: nzbdrone
|
||||
Depends: adduser, libsqlite3-0 (>= 3.7), libmediainfo0v5 (>= 0.7.52) | libmediainfo0 (>= 0.7.52), mono-runtime (>= 5.4), ca-certificates-mono, libmono-system-net-http4.0-cil (>= 4.0.0~alpha1), ${cli:Depends}, ${misc:Depends}
|
||||
Depends: adduser, libsqlite3-0 (>= 3.7), libmediainfo0v5 (>= 0.7.52) | libmediainfo0 (>= 0.7.52), mono-runtime (>= 5.18), ca-certificates-mono, libmono-system-net-http4.0-cil (>= 4.0.0~alpha1), ${cli:Depends}, ${misc:Depends}
|
||||
Recommends: libmediainfo0v5 (>= 18.03) | libmediainfo0 (>= 18.03)
|
||||
Suggests: sqlite3 (>= 3.7), mediainfo (>= 0.7.52)
|
||||
Description: Internet PVR
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
EXCLUDE_MODULEREFS = crypt32 httpapi
|
||||
EXCLUDE_MODULEREFS = crypt32 httpapi __Internal
|
||||
|
||||
%:
|
||||
dh $@ --with=systemd --with=cli
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM ubuntu:xenial AS builder
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
ENV MONO_VERSION 5.14
|
||||
ENV MONO_VERSION 5.18
|
||||
|
||||
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
|
||||
echo "deb http://download.mono-project.com/repo/debian stable-xenial/snapshots/$MONO_VERSION main" > /etc/apt/sources.list.d/mono-official-stable.list && \
|
||||
|
||||
@@ -16,6 +16,7 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E03280
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libmono-system-runtime4.0-cil \
|
||||
libmono-system-net-http4.0-cil \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY startup.sh /startup.sh
|
||||
|
||||
@@ -2,16 +2,18 @@
|
||||
opt_parallel=
|
||||
opt_version=
|
||||
opt_mode=both
|
||||
while getopts 'pv:m:?h' c
|
||||
while getopts 'pv:m:r?h' c
|
||||
do
|
||||
case $c in
|
||||
p) opt_parallel=1 ;;
|
||||
v) opt_version=$OPTARG ;;
|
||||
m) opt_mode=$OPTARG ;;
|
||||
r) opt_report=1 ;;
|
||||
?|h) printf "Usage: %s [-p] [-v mono-ver] [-m sonarr|complete]\n" $0
|
||||
printf " -p run parallel\n"
|
||||
printf " -v run specified mono version\n"
|
||||
printf " -m run only mono-'complete' or 'sonarr' package variants\n"
|
||||
printf " -r only report\n"
|
||||
exit 2
|
||||
esac
|
||||
done
|
||||
@@ -20,17 +22,22 @@ done
|
||||
# make sure that the docker host has enough memory to handle about ~300 MB per container, so 2-3 GB total
|
||||
# excess goes to the swap and will slow down the entire system
|
||||
|
||||
# Preferred versions
|
||||
MONO_VERSIONS="6.0 5.20 5.18"
|
||||
MONO_VERSIONS=""
|
||||
|
||||
# Future versions
|
||||
MONO_VERSIONS="$MONO_VERSIONS 6.4=preview-xenial"
|
||||
MONO_VERSIONS="$MONO_VERSIONS 6.8=preview-xenial"
|
||||
|
||||
# Semi-Supported versions
|
||||
MONO_VERSIONS="$MONO_VERSIONS 6.6 6.4 6.0"
|
||||
|
||||
# Supported versions
|
||||
MONO_VERSIONS="$MONO_VERSIONS 5.16 5.14 5.12 5.10 5.8 5.4"
|
||||
MONO_VERSIONS="$MONO_VERSIONS 5.20 5.18"
|
||||
|
||||
# Legacy unsupported versions (but appear to work)
|
||||
MONO_VERSIONS="$MONO_VERSIONS 5.16 5.14 5.12"
|
||||
|
||||
# Legacy unsupported versions
|
||||
MONO_VERSIONS="$MONO_VERSIONS 5.0"
|
||||
MONO_VERSIONS="$MONO_VERSIONS 5.10 5.8 5.4 5.0"
|
||||
#MONO_VERSIONS="$MONO_VERSIONS 4.8=stable-wheezy/snapshots/4.8"
|
||||
|
||||
if [ "$opt_version" != "" ]; then
|
||||
@@ -86,23 +93,29 @@ runOne() {
|
||||
echo "Finished Test Docker for mono $MONO_VERSION"
|
||||
}
|
||||
|
||||
if [ "$opt_parallel" == "1" ]; then
|
||||
if [ "$opt_report" != "1" ]; then
|
||||
|
||||
if [ "$opt_parallel" == "1" ]; then
|
||||
for MONO_VERSION_PAIR in $MONO_VERSIONS; do
|
||||
prepOne "$MONO_VERSION_PAIR"
|
||||
done
|
||||
fi
|
||||
|
||||
for MONO_VERSION_PAIR in $MONO_VERSIONS; do
|
||||
prepOne "$MONO_VERSION_PAIR"
|
||||
if [ "$opt_parallel" == "1" ]; then
|
||||
runOne "$MONO_VERSION_PAIR" &
|
||||
else
|
||||
prepOne "$MONO_VERSION_PAIR"
|
||||
runOne "$MONO_VERSION_PAIR"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$opt_parallel" == "1" ]; then
|
||||
echo "Waiting for all runs to finish"
|
||||
wait
|
||||
echo "Finished all runs"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
for MONO_VERSION_PAIR in $MONO_VERSIONS; do
|
||||
if [ "$opt_parallel" == "1" ]; then
|
||||
runOne "$MONO_VERSION_PAIR" &
|
||||
else
|
||||
prepOne "$MONO_VERSION_PAIR"
|
||||
runOne "$MONO_VERSION_PAIR"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$opt_parallel" == "1" ]; then
|
||||
echo "Waiting for all runs to finish"
|
||||
wait
|
||||
echo "Finished all runs"
|
||||
fi
|
||||
grep "<test-run" ../../_tests_results/**/*.xml | sed -r 's/.*?mono-([0-9.]+(-s)?).*?_([IU]).*?\.xml.*?failed="([0-9]*)".*/\1\t\3:\tfailed \4/g' | sort -V -t.
|
||||
@@ -48,8 +48,8 @@ Name: "startupShortcut"; Description: "Create shortcut in Startup folder (Starts
|
||||
Name: "none"; Description: "Do not start automatically"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
|
||||
|
||||
[Files]
|
||||
Source: "..\_output\Sonarr.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "..\_output\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
Source: "..\_output_windows\Sonarr.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "..\_output_windows\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||
|
||||
[Icons]
|
||||
@@ -77,3 +77,26 @@ var
|
||||
begin
|
||||
Exec(ExpandConstant('{commonappdata}\NzbDrone\bin\NzbDrone.Console.exe'), '/u', '', 0, ewWaitUntilTerminated, ResultCode)
|
||||
end;
|
||||
|
||||
function Framework472IsNotInstalled(): Boolean;
|
||||
var
|
||||
bSuccess: Boolean;
|
||||
regVersion: Cardinal;
|
||||
begin
|
||||
Result := True;
|
||||
bSuccess := RegQueryDWordValue(HKLM, 'Software\Microsoft\NET Framework Setup\NDP\v4\Full', 'Release', regVersion);
|
||||
if (True = bSuccess) and (regVersion >= 461808) then begin
|
||||
Result := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
function InitializeSetup(): Boolean;
|
||||
begin
|
||||
if Framework472IsNotInstalled() then begin
|
||||
MsgBox('Sonarr requires Microsoft .NET Framework 4.7.2 or higher.'#13#13
|
||||
'Please use Windows Update to install this version'#13
|
||||
'or download it from https://dotnet.microsoft.com/download/dotnet-framework.', mbInformation, MB_OK);
|
||||
result := false;
|
||||
end else
|
||||
result := true;
|
||||
end;
|
||||
@@ -3,6 +3,17 @@
|
||||
<PropertyGroup>
|
||||
<SonarrRootDir>$(MSBuildThisFileDirectory)..\</SonarrRootDir>
|
||||
|
||||
<!-- Whether we want TargetFramework switching in Visual Studio -->
|
||||
<TargetMultiple>false</TargetMultiple>
|
||||
|
||||
<TargetNet48>false</TargetNet48>
|
||||
<TargetNetCore>false</TargetNetCore>
|
||||
|
||||
<TargetFrameworks>net472</TargetFrameworks>
|
||||
<TargetFrameworks Condition=" '$(TargetNet48)'=='true' ">$(TargetFrameworks);net48</TargetFrameworks>
|
||||
<TargetFrameworks Condition=" '$(TargetNetCore)'=='true' ">$(TargetFrameworks);netcoreapp3.0</TargetFrameworks>
|
||||
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
|
||||
|
||||
<!-- Specifies the type of output -->
|
||||
<SonarrOutputType>Library</SonarrOutputType>
|
||||
<SonarrOutputType Condition="$(MSBuildProjectName.Contains('.Test'))">Test</SonarrOutputType>
|
||||
@@ -19,24 +30,41 @@
|
||||
<SonarrProject Condition="$(MSBuildProjectName.StartsWith('ServiceUninstall'))">true</SonarrProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Pick default RuntimeIdentifier for our compilation environment -->
|
||||
<PropertyGroup Condition=" '$(TargetMultiple)'!='true' ">
|
||||
<RuntimeIdentifiers></RuntimeIdentifiers>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<TargetFrameworks></TargetFrameworks>
|
||||
<TargetFramework>net472</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
|
||||
|
||||
<TargetFrameworkPath>$(TargetFramework)\</TargetFrameworkPath>
|
||||
<TargetFrameworkPath Condition="'$(Platform)'!='x64'">$(TargetFrameworkPath)$(Platform)\</TargetFrameworkPath>
|
||||
<TargetFrameworkPath>$(TargetFrameworkPath)$(Configuration)\</TargetFrameworkPath>
|
||||
|
||||
<!-- Centralize intermediate and default outputs -->
|
||||
<BaseIntermediateOutputPath>$(SonarrRootDir)_temp\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||
<IntermediateOutputPath>$(SonarrRootDir)_temp\obj\$(MSBuildProjectName)\$(Configuration)\</IntermediateOutputPath>
|
||||
<OutputPath>$(SonarrRootDir)_temp\bin\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
|
||||
<IntermediateOutputPath>$(SonarrRootDir)_temp\obj\$(MSBuildProjectName)\$(TargetFrameworkPath)</IntermediateOutputPath>
|
||||
<OutputPath>$(SonarrRootDir)_temp\bin\$(TargetFrameworkPath)$(MSBuildProjectName)\</OutputPath>
|
||||
|
||||
<!-- Flatten the 'real' output paths for backward compat -->
|
||||
<OutputTargetFrameworkPath>$(TargetFrameworkPath)</OutputTargetFrameworkPath>
|
||||
<OutputTargetFrameworkPath Condition=" '$(TargetMultiple)'!='true' "></OutputTargetFrameworkPath>
|
||||
|
||||
<!-- Output to _output and _tests respectively -->
|
||||
<OutputPath Condition="'$(SonarrProject)'=='true'">$(SonarrRootDir)_output\</OutputPath>
|
||||
<OutputPath Condition="'$(SonarrOutputType)'=='Test'">$(SonarrRootDir)_tests\</OutputPath>
|
||||
<OutputPath Condition="'$(SonarrOutputType)'=='Update'">$(SonarrRootDir)_output\Sonarr.Update\</OutputPath>
|
||||
<OutputPath Condition="'$(SonarrProject)'=='true'">$(SonarrRootDir)_output\$(OutputTargetFrameworkPath)</OutputPath>
|
||||
<OutputPath Condition="'$(SonarrOutputType)'=='Test'">$(SonarrRootDir)_tests\$(OutputTargetFrameworkPath)</OutputPath>
|
||||
<OutputPath Condition="'$(SonarrOutputType)'=='Update'">$(OutputPath)Sonarr.Update\</OutputPath>
|
||||
|
||||
<!-- Paths relative to project file for better readability -->
|
||||
<BaseIntermediateOutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(BaseIntermediateOutputPath)'))</BaseIntermediateOutputPath>
|
||||
<IntermediateOutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(IntermediateOutputPath)'))</IntermediateOutputPath>
|
||||
<OutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(OutputPath)'))</OutputPath>
|
||||
|
||||
<!-- below net4.7.1 the new portable pdb format has no line numbers, pdb to mdb probably doesn't like it either -->
|
||||
<!-- Below net4.7.1 the new portable pdb format has no line numbers, pdb to mdb probably doesn't like it either -->
|
||||
<DebugType>full</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
@@ -73,8 +101,15 @@
|
||||
<PropertyGroup>
|
||||
<!-- We don't want separate framework directories till we go dotnet core -->
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
|
||||
<!-- For now keep the NzbDrone namespace -->
|
||||
<RootNamespace Condition="'$(SonarrProject)'=='true'">$(MSBuildProjectName.Replace('Sonarr','NzbDrone'))</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Get the reference assemblies for build agent -->
|
||||
<ItemGroup Condition="'$(TargetFramework)'=='net472'">
|
||||
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
BIN
src/Libraries/FirewallApi/x64/Interop.NetFwTypeLib.dll
Normal file
BIN
src/Libraries/FirewallApi/x64/Interop.NetFwTypeLib.dll
Normal file
Binary file not shown.
BIN
src/Libraries/MediaInfo/x64/MediaInfo.dll
Normal file
BIN
src/Libraries/MediaInfo/x64/MediaInfo.dll
Normal file
Binary file not shown.
BIN
src/Libraries/MediaInfo/x86/libmediainfo.0.dylib
Normal file
BIN
src/Libraries/MediaInfo/x86/libmediainfo.0.dylib
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
src/Libraries/Mono/System.Runtime.dll
Normal file
BIN
src/Libraries/Mono/System.Runtime.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
src/Libraries/Mono/netstandard.dll
Normal file
BIN
src/Libraries/Mono/netstandard.dll
Normal file
Binary file not shown.
@@ -1,3 +1,4 @@
|
||||
Copied from mono/4.5/Facades of the mono 5.4 release.
|
||||
Copied from mono/4.5/Facades.
|
||||
These are the mono version of the dotnet Core TypeForwardedTo assemblies.
|
||||
Using these assemblies is no longer necessary once we reach mono 5.18 as minimum version
|
||||
|
||||
netstandard.dll Exists in mono-devel but we include it ourselves until mono has the right package dependency
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1 +0,0 @@
|
||||
libsqlite3.0.dylib
|
||||
Binary file not shown.
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
|
||||
<AssemblyVersion>2.6.0.0</AssemblyVersion>
|
||||
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
|
||||
<AssemblyVersion>2.4.0.0</AssemblyVersion>
|
||||
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
|
||||
<AssemblyVersion>3.17.0.0</AssemblyVersion>
|
||||
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
/* Copyright (C) 2008 - 2011 Jordan Marr
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 3 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.OleDb;
|
||||
|
||||
namespace Marr.Data.Parameters
|
||||
{
|
||||
public class OleDbTypeBuilder : IDbTypeBuilder
|
||||
{
|
||||
public Enum GetDbType(Type type)
|
||||
{
|
||||
if (type == typeof(String))
|
||||
return OleDbType.VarChar;
|
||||
|
||||
if (type == typeof(Int32))
|
||||
return OleDbType.Integer;
|
||||
|
||||
if (type == typeof(Decimal))
|
||||
return OleDbType.Decimal;
|
||||
|
||||
if (type == typeof(DateTime))
|
||||
return OleDbType.DBTimeStamp;
|
||||
|
||||
if (type == typeof(Boolean))
|
||||
return OleDbType.Boolean;
|
||||
|
||||
if (type == typeof(Int16))
|
||||
return OleDbType.SmallInt;
|
||||
|
||||
if (type == typeof(Int64))
|
||||
return OleDbType.BigInt;
|
||||
|
||||
if (type == typeof(Double))
|
||||
return OleDbType.Double;
|
||||
|
||||
if (type == typeof(Byte))
|
||||
return OleDbType.Binary;
|
||||
|
||||
if (type == typeof(Byte[]))
|
||||
return OleDbType.VarBinary;
|
||||
|
||||
if (type == typeof(Guid))
|
||||
return OleDbType.Guid;
|
||||
|
||||
return OleDbType.Variant;
|
||||
}
|
||||
|
||||
public void SetDbType(IDbDataParameter param, Enum dbType)
|
||||
{
|
||||
var oleDbParam = (OleDbParameter)param;
|
||||
oleDbParam.OleDbType = (OleDbType)dbType;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
/* Copyright (C) 2008 - 2011 Jordan Marr
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 3 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace Marr.Data.Parameters
|
||||
{
|
||||
public class SqlDbTypeBuilder : IDbTypeBuilder
|
||||
{
|
||||
public Enum GetDbType(Type type)
|
||||
{
|
||||
if (type == typeof(String))
|
||||
return SqlDbType.VarChar;
|
||||
|
||||
if (type == typeof(Int32))
|
||||
return SqlDbType.Int;
|
||||
|
||||
if (type == typeof(Decimal))
|
||||
return SqlDbType.Decimal;
|
||||
|
||||
if (type == typeof(DateTime))
|
||||
return SqlDbType.DateTime;
|
||||
|
||||
if (type == typeof(Boolean))
|
||||
return SqlDbType.Bit;
|
||||
|
||||
if (type == typeof(Int16))
|
||||
return SqlDbType.SmallInt;
|
||||
|
||||
if (type == typeof(Int64))
|
||||
return SqlDbType.BigInt;
|
||||
|
||||
if (type == typeof(Double))
|
||||
return SqlDbType.Float;
|
||||
|
||||
if (type == typeof(Char))
|
||||
return SqlDbType.Char;
|
||||
|
||||
if (type == typeof(Byte))
|
||||
return SqlDbType.Binary;
|
||||
|
||||
if (type == typeof(Byte[]))
|
||||
return SqlDbType.VarBinary;
|
||||
|
||||
if (type == typeof(Guid))
|
||||
return SqlDbType.UniqueIdentifier;
|
||||
|
||||
return SqlDbType.Variant;
|
||||
}
|
||||
|
||||
public void SetDbType(IDbDataParameter param, Enum dbType)
|
||||
{
|
||||
var sqlDbParam = (SqlParameter)param;
|
||||
sqlDbParam.SqlDbType = (SqlDbType)dbType;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace Marr.Data.QGen.Dialects
|
||||
{
|
||||
public class FirebirdDialect : Dialect
|
||||
{
|
||||
public override string CreateToken(string token)
|
||||
{
|
||||
if (string.IsNullOrEmpty(token))
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return token.Replace('[', new Char()).Replace(']', new Char());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Marr.Data.QGen.Dialects
|
||||
{
|
||||
public class OracleDialect : Dialect
|
||||
{
|
||||
public override string CreateToken(string token)
|
||||
{
|
||||
if (string.IsNullOrEmpty(token))
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
string[] parts = token.Replace('[', new Char()).Replace(']', new Char()).Split('.');
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (string part in parts)
|
||||
{
|
||||
if (sb.Length > 0)
|
||||
sb.Append(".");
|
||||
|
||||
bool hasSpaces = part.Contains(' ');
|
||||
|
||||
if (hasSpaces)
|
||||
sb.Append("[").Append(part).Append("]");
|
||||
else
|
||||
sb.Append(part);
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
namespace Marr.Data.QGen.Dialects
|
||||
{
|
||||
public class SqlServerCeDialect : Dialect
|
||||
{
|
||||
public override string IdentityQuery
|
||||
{
|
||||
get
|
||||
{
|
||||
return "SELECT @@IDENTITY;";
|
||||
}
|
||||
}
|
||||
|
||||
public override bool SupportsBatchQueries
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
namespace Marr.Data.QGen.Dialects
|
||||
{
|
||||
public class SqlServerDialect : Dialect
|
||||
{
|
||||
public override string IdentityQuery
|
||||
{
|
||||
get
|
||||
{
|
||||
return "SELECT SCOPE_IDENTITY();";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,12 +9,6 @@ namespace Marr.Data.QGen
|
||||
/// </summary>
|
||||
internal class QueryFactory
|
||||
{
|
||||
private const string DB_SqlClient = "System.Data.SqlClient.SqlClientFactory";
|
||||
private const string DB_OleDb = "System.Data.OleDb.OleDbFactory";
|
||||
private const string DB_SqlCeClient = "System.Data.SqlServerCe.SqlCeProviderFactory";
|
||||
private const string DB_SystemDataOracleClient = "System.Data.OracleClientFactory";
|
||||
private const string DB_OracleDataAccessClient = "Oracle.DataAccess.Client.OracleClientFactory";
|
||||
private const string DB_FireBirdClient = "FirebirdSql.Data.FirebirdClient.FirebirdClientFactory";
|
||||
private const string DB_SQLiteClient = "System.Data.SQLite.SQLiteFactory";
|
||||
|
||||
public static IQuery CreateUpdateQuery(ColumnMapCollection columns, IDataMapper dataMapper, string target, string whereClause)
|
||||
@@ -47,12 +41,6 @@ namespace Marr.Data.QGen
|
||||
string providerString = dataMapper.ProviderFactory.ToString();
|
||||
switch (providerString)
|
||||
{
|
||||
case DB_SqlClient:
|
||||
return new RowCountQueryDecorator(innerQuery);
|
||||
|
||||
case DB_SqlCeClient:
|
||||
return new RowCountQueryDecorator(innerQuery);
|
||||
|
||||
case DB_SQLiteClient:
|
||||
return new SqliteRowCountQueryDecorator(innerQuery);
|
||||
|
||||
@@ -68,12 +56,6 @@ namespace Marr.Data.QGen
|
||||
string providerString = dataMapper.ProviderFactory.ToString();
|
||||
switch (providerString)
|
||||
{
|
||||
case DB_SqlClient:
|
||||
return new PagingQueryDecorator(innerQuery, skip, take);
|
||||
|
||||
case DB_SqlCeClient:
|
||||
return new PagingQueryDecorator(innerQuery, skip, take);
|
||||
|
||||
case DB_SQLiteClient:
|
||||
return new SqlitePagingQueryDecorator(innerQuery, skip, take);
|
||||
|
||||
@@ -87,21 +69,6 @@ namespace Marr.Data.QGen
|
||||
string providerString = dataMapper.ProviderFactory.ToString();
|
||||
switch (providerString)
|
||||
{
|
||||
case DB_SqlClient:
|
||||
return new SqlServerDialect();
|
||||
|
||||
case DB_OracleDataAccessClient:
|
||||
return new OracleDialect();
|
||||
|
||||
case DB_SystemDataOracleClient:
|
||||
return new OracleDialect();
|
||||
|
||||
case DB_SqlCeClient:
|
||||
return new SqlServerCeDialect();
|
||||
|
||||
case DB_FireBirdClient:
|
||||
return new FirebirdDialect();
|
||||
|
||||
case DB_SQLiteClient:
|
||||
return new SqliteDialect();
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
|
||||
<Version>9.0.21022</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
6
src/NuGet.config
Normal file
6
src/NuGet.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="Lidarr SQLite" value="https://pkgs.dev.azure.com/Lidarr/Lidarr/_packaging/SQLite/nuget/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NBuilder" Version="6.0.0" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Selenium.Firefox.WebDriver" Version="0.24.0" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Host\Sonarr.Host.csproj" />
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace NzbDrone.Common.Disk
|
||||
|
||||
public abstract long? GetAvailableSpace(string path);
|
||||
public abstract void InheritFolderPermissions(string filename);
|
||||
public abstract void SetEveryonePermissions(string filename);
|
||||
public abstract void SetPermissions(string path, string mask, string user, string group);
|
||||
public abstract void CopyPermissions(string sourcePath, string targetPath, bool includeOwner);
|
||||
public abstract long? GetTotalSize(string path);
|
||||
@@ -317,42 +318,6 @@ namespace NzbDrone.Common.Disk
|
||||
return parent.FullName;
|
||||
}
|
||||
|
||||
public void SetPermissions(string filename, WellKnownSidType accountSid, FileSystemRights rights, AccessControlType controlType)
|
||||
{
|
||||
try
|
||||
{
|
||||
var sid = new SecurityIdentifier(accountSid, null);
|
||||
|
||||
var directoryInfo = new DirectoryInfo(filename);
|
||||
var directorySecurity = directoryInfo.GetAccessControl(AccessControlSections.Access);
|
||||
|
||||
var rules = directorySecurity.GetAccessRules(true, false, typeof(SecurityIdentifier));
|
||||
|
||||
if (rules.OfType<FileSystemAccessRule>().Any(acl => acl.AccessControlType == controlType && (acl.FileSystemRights & rights) == rights && acl.IdentityReference.Equals(sid)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var accessRule = new FileSystemAccessRule(sid, rights,
|
||||
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
|
||||
PropagationFlags.InheritOnly, controlType);
|
||||
|
||||
bool modified;
|
||||
directorySecurity.ModifyAccessRule(AccessControlModification.Add, accessRule, out modified);
|
||||
|
||||
if (modified)
|
||||
{
|
||||
directoryInfo.SetAccessControl(directorySecurity);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Warn(e, "Couldn't set permission for {0}. account:{1} rights:{2} accessControlType:{3}", filename, accountSid, rights, controlType);
|
||||
throw;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void RemoveReadOnly(string path)
|
||||
{
|
||||
if (File.Exists(path))
|
||||
|
||||
@@ -10,6 +10,7 @@ namespace NzbDrone.Common.Disk
|
||||
{
|
||||
long? GetAvailableSpace(string path);
|
||||
void InheritFolderPermissions(string filename);
|
||||
void SetEveryonePermissions(string filename);
|
||||
void SetPermissions(string path, string mask, string user, string group);
|
||||
void CopyPermissions(string sourcePath, string targetPath, bool includeOwner = false);
|
||||
long? GetTotalSize(string path);
|
||||
@@ -39,7 +40,6 @@ namespace NzbDrone.Common.Disk
|
||||
bool IsFileLocked(string path);
|
||||
string GetPathRoot(string path);
|
||||
string GetParentFolder(string path);
|
||||
void SetPermissions(string filename, WellKnownSidType accountSid, FileSystemRights rights, AccessControlType controlType);
|
||||
FileAttributes GetFileAttributes(string path);
|
||||
void EmptyFolder(string path);
|
||||
string GetVolumeLabel(string path);
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||
{
|
||||
try
|
||||
{
|
||||
_diskProvider.SetPermissions(_appFolderInfo.AppDataFolder, WellKnownSidType.WorldSid, FileSystemRights.Modify, AccessControlType.Allow);
|
||||
_diskProvider.SetEveryonePermissions(_appFolderInfo.AppDataFolder);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DotNet4.SocksProxy" Version="1.4.0.1" />
|
||||
@@ -9,6 +8,7 @@
|
||||
<PackageReference Include="NLog" Version="4.6.6" />
|
||||
<PackageReference Include="Sentry" Version="1.2.0" />
|
||||
<PackageReference Include="SharpZipLib" Version="1.2.0" />
|
||||
<PackageReference Include="System.Data.SQLite.Core.Lidarr" Version="1.0.111-5" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -16,9 +16,6 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Data.SQLite">
|
||||
<HintPath>..\Libraries\Sqlite\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
|
||||
<ApplicationIcon>..\NzbDrone.Host\Sonarr.ico</ApplicationIcon>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
|
||||
@@ -27,9 +27,6 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
Subject.Check().ShouldBeOk();
|
||||
}
|
||||
|
||||
[TestCase("4.6.2")]
|
||||
[TestCase("4.7")]
|
||||
[TestCase("4.7.1")]
|
||||
public void should_return_notice(string version)
|
||||
{
|
||||
GivenOutput(version);
|
||||
@@ -47,6 +44,9 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
[TestCase("4.5")]
|
||||
[TestCase("4.5.2")]
|
||||
[TestCase("4.6.1")]
|
||||
[TestCase("4.6.2")]
|
||||
[TestCase("4.7")]
|
||||
[TestCase("4.7.1")]
|
||||
public void should_return_error(string version)
|
||||
{
|
||||
GivenOutput(version);
|
||||
@@ -55,7 +55,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_return_ok_for_net462_on_Win1511()
|
||||
public void should_return_nok_for_net462_on_Win1511()
|
||||
{
|
||||
Mocker.GetMock<IOsInfo>()
|
||||
.SetupGet(v => v.Version)
|
||||
@@ -63,7 +63,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
|
||||
GivenOutput("4.6.2");
|
||||
|
||||
Subject.Check().ShouldBeOk();
|
||||
Subject.Check().ShouldBeError();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
|
||||
[TestCase("5.18")]
|
||||
[TestCase("5.20")]
|
||||
[TestCase("6.4")]
|
||||
public void should_return_ok(string version)
|
||||
{
|
||||
GivenOutput(version);
|
||||
@@ -27,7 +28,6 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
Subject.Check().ShouldBeOk();
|
||||
}
|
||||
|
||||
[TestCase("5.16")]
|
||||
public void should_return_notice(string version)
|
||||
{
|
||||
GivenOutput(version);
|
||||
@@ -35,8 +35,6 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
Subject.Check().ShouldBeNotice();
|
||||
}
|
||||
|
||||
[TestCase("5.4")]
|
||||
[TestCase("5.8")]
|
||||
public void should_return_warning(string version)
|
||||
{
|
||||
GivenOutput(version);
|
||||
@@ -57,6 +55,12 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||
[TestCase("4.2")]
|
||||
[TestCase("4.4.0")]
|
||||
[TestCase("4.4.1")]
|
||||
[TestCase("5.4")]
|
||||
[TestCase("5.8")]
|
||||
[TestCase("5.10")]
|
||||
[TestCase("5.12")]
|
||||
[TestCase("5.14")]
|
||||
[TestCase("5.16")]
|
||||
public void should_return_error(string version)
|
||||
{
|
||||
GivenOutput(version);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NBuilder" Version="6.0.0" />
|
||||
@@ -15,9 +14,6 @@
|
||||
<Link>Files\1024.png</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<Reference Include="System.Data.SQLite">
|
||||
<HintPath>..\Libraries\Sqlite\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<None Update="Files\**\*.*">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
||||
@@ -28,12 +28,6 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
||||
|
||||
// Target .Net version, which would allow us to increase our target framework
|
||||
var targetVersion = new Version("4.7.2");
|
||||
if (Version.TryParse(_osInfo.Version, out var osVersion) && osVersion < new Version("10.0.14393"))
|
||||
{
|
||||
// Windows 10 LTSB 1511 and before do not support 4.7.x
|
||||
targetVersion = new Version("4.6.2");
|
||||
}
|
||||
|
||||
if (dotnetVersion >= targetVersion)
|
||||
{
|
||||
_logger.Debug("Dotnet version is {0} or better: {1}", targetVersion, dotnetVersion);
|
||||
@@ -41,7 +35,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
||||
}
|
||||
|
||||
// Supported .net version but below our desired target
|
||||
var stableVersion = new Version("4.6.2");
|
||||
var stableVersion = new Version("4.7.2");
|
||||
if (dotnetVersion >= stableVersion)
|
||||
{
|
||||
_logger.Debug("Dotnet version is {0} or better: {1}", stableVersion, dotnetVersion);
|
||||
@@ -50,6 +44,21 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
||||
"#currently-installed-net-framework-is-supported-but-upgrading-is-recommended");
|
||||
}
|
||||
|
||||
if (Version.TryParse(_osInfo.Version, out var osVersion) && osVersion < new Version("10.0.14393"))
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error,
|
||||
$"Currently installed .Net Framework {dotnetVersion} is no longer supported. However your Operating System cannot be upgraded to {targetVersion}.",
|
||||
"#currently-installed-net-framework-is-old-and-unsupported");
|
||||
}
|
||||
|
||||
var oldVersion = new Version("4.6.2");
|
||||
if (dotnetVersion >= oldVersion)
|
||||
{
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error,
|
||||
$"Currently installed .Net Framework {dotnetVersion} is no longer supported. Please upgrade the .Net Framework to at least {targetVersion}.",
|
||||
"#currently-installed-net-framework-is-old-and-unsupported");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error,
|
||||
$"Currently installed .Net Framework {dotnetVersion} is old and unsupported. Please upgrade the .Net Framework to at least {targetVersion}.",
|
||||
"#currently-installed-net-framework-is-old-and-unsupported");
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
||||
}
|
||||
|
||||
// Stable Mono versions
|
||||
var stableVersion = new Version("5.16");
|
||||
var stableVersion = new Version("5.18");
|
||||
if (monoVersion >= stableVersion)
|
||||
{
|
||||
_logger.Debug("Mono version is {0} or better: {1}", stableVersion, monoVersion);
|
||||
@@ -51,15 +51,13 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
||||
$"Currently installed Mono version {monoVersion} is supported but upgrading to {bestVersion} is recommended.",
|
||||
"#currently-installed-mono-version-is-supported-but-upgrading-is-recommended");
|
||||
}
|
||||
|
||||
// Old but supported Mono versions, there are known bugs
|
||||
var supportedVersion = new Version("5.4");
|
||||
if (monoVersion >= supportedVersion)
|
||||
|
||||
var oldVersion = new Version("5.4");
|
||||
if (monoVersion >= oldVersion)
|
||||
{
|
||||
_logger.Debug("Mono version is {0} or better: {1}", supportedVersion, monoVersion);
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Warning,
|
||||
$"Currently installed Mono version {monoVersion} is supported but has some known issues. Please upgrade Mono to version {bestVersion}.",
|
||||
"#currently-installed-mono-version-is-supported-but-upgrading-is-recommended");
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error,
|
||||
$"Currently installed Mono version {monoVersion} is no longer supported. Please upgrade Mono to version {bestVersion}.",
|
||||
"#currently-installed-mono-version-is-old-and-unsupported");
|
||||
}
|
||||
|
||||
return new HealthCheck(GetType(), HealthCheckResult.Error,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentMigrator.Runner" Version="1.6.2" />
|
||||
@@ -28,9 +27,6 @@
|
||||
<Reference Include="Growl.CoreLibrary">
|
||||
<HintPath>..\Libraries\Growl.CoreLibrary.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SQLite">
|
||||
<HintPath>..\Libraries\Sqlite\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
</ItemGroup>
|
||||
@@ -38,10 +34,10 @@
|
||||
<EmbeddedResource Include="..\..\Logo\64.png">
|
||||
<Link>Resources\Logo\64.png</Link>
|
||||
</EmbeddedResource>
|
||||
<None Include="..\Libraries\Sqlite\sqlite3.dll">
|
||||
<None Include="..\Libraries\MediaInfo\$(Platform)\MediaInfo.dll" Condition="'$(RuntimeIdentifier)'=='win-x64'">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="..\Libraries\MediaInfo\MediaInfo.dll">
|
||||
<None Include="..\Libraries\MediaInfo\$(Platform)\libmediainfo.0.dylib" Condition="'$(RuntimeIdentifier)'=='osx-x64'">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
@@ -7,7 +8,6 @@ using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web.Script.Serialization;
|
||||
|
||||
namespace TinyTwitter
|
||||
{
|
||||
@@ -93,9 +93,7 @@ namespace TinyTwitter
|
||||
|
||||
var responseContent = builder.Execute();
|
||||
|
||||
var serializer = new JavaScriptSerializer();
|
||||
|
||||
var tweets = (object[])serializer.DeserializeObject(responseContent);
|
||||
var tweets = (object[])JsonConvert.DeserializeObject(responseContent);
|
||||
|
||||
return tweets.Cast<Dictionary<string, object>>().Select(tweet =>
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Host\Sonarr.Host.csproj" />
|
||||
|
||||
@@ -31,13 +31,13 @@ namespace NzbDrone.Host.AccessControl
|
||||
{
|
||||
if (!IsNzbDronePortOpen(_configFileProvider.Port))
|
||||
{
|
||||
_logger.Debug("Opening Port for NzbDrone: {0}", _configFileProvider.Port);
|
||||
_logger.Debug("Opening Port for Sonarr: {0}", _configFileProvider.Port);
|
||||
OpenFirewallPort(_configFileProvider.Port);
|
||||
}
|
||||
|
||||
if (_configFileProvider.EnableSsl && !IsNzbDronePortOpen(_configFileProvider.SslPort))
|
||||
{
|
||||
_logger.Debug("Opening SSL Port for NzbDrone: {0}", _configFileProvider.SslPort);
|
||||
_logger.Debug("Opening SSL Port for Sonarr: {0}", _configFileProvider.SslPort);
|
||||
OpenFirewallPort(_configFileProvider.SslPort);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNet.SignalR.SelfHost" Version="2.4.0" />
|
||||
@@ -17,8 +16,8 @@
|
||||
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Interop.NetFwTypeLib">
|
||||
<HintPath>..\Libraries\Interop.NetFwTypeLib.dll</HintPath>
|
||||
<Reference Include="Interop.NetFwTypeLib" Condition="'$(RuntimeIdentifier)'=='win-x64'">
|
||||
<HintPath>..\Libraries\FirewallApi\$(Platform)\Interop.NetFwTypeLib.dll</HintPath>
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNet.SignalR.Client" Version="2.4.0" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Test.Common\Sonarr.Test.Common.csproj" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Common.Test\Sonarr.Common.Test.csproj" />
|
||||
@@ -11,6 +10,7 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="Mono.Posix">
|
||||
<HintPath>..\Libraries\Mono.Posix.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -53,20 +53,12 @@ namespace NzbDrone.Mono.Disk
|
||||
|
||||
public override void InheritFolderPermissions(string filename)
|
||||
{
|
||||
Ensure.That(filename, () => filename).IsValidPath();
|
||||
|
||||
try
|
||||
{
|
||||
var fs = File.GetAccessControl(filename);
|
||||
fs.SetAccessRuleProtection(false, false);
|
||||
File.SetAccessControl(filename, fs);
|
||||
}
|
||||
catch (NotImplementedException)
|
||||
{
|
||||
}
|
||||
catch (PlatformNotSupportedException)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public override void SetEveryonePermissions(string filename)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void SetPermissions(string path, string mask, string user, string group)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NLog" Version="4.6.6" />
|
||||
@@ -12,6 +11,7 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="Mono.Posix">
|
||||
<HintPath>..\Libraries\Mono.Posix.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNet.SignalR.SelfHost" Version="2.4.0" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentAssertions" Version="5.8.0" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Test.Common\Sonarr.Test.Common.csproj" />
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NLog" Version="4.6.6" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Common.Test\Sonarr.Common.Test.csproj" />
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.AccessControl;
|
||||
using System.Security.Principal;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.EnsureThat;
|
||||
@@ -39,9 +42,50 @@ namespace NzbDrone.Windows.Disk
|
||||
{
|
||||
Ensure.That(filename, () => filename).IsValidPath();
|
||||
|
||||
var fs = File.GetAccessControl(filename);
|
||||
var fileInfo = new FileInfo(filename);
|
||||
var fs = fileInfo.GetAccessControl(AccessControlSections.Access);
|
||||
fs.SetAccessRuleProtection(false, false);
|
||||
File.SetAccessControl(filename, fs);
|
||||
fileInfo.SetAccessControl(fs);
|
||||
}
|
||||
|
||||
public override void SetEveryonePermissions(string filename)
|
||||
{
|
||||
var accountSid = WellKnownSidType.WorldSid;
|
||||
var rights = FileSystemRights.Modify;
|
||||
var controlType = AccessControlType.Allow;
|
||||
|
||||
try
|
||||
{
|
||||
var sid = new SecurityIdentifier(accountSid, null);
|
||||
|
||||
var directoryInfo = new DirectoryInfo(filename);
|
||||
var directorySecurity = directoryInfo.GetAccessControl(AccessControlSections.Access);
|
||||
|
||||
var rules = directorySecurity.GetAccessRules(true, false, typeof(SecurityIdentifier));
|
||||
|
||||
if (rules.OfType<FileSystemAccessRule>().Any(acl => acl.AccessControlType == controlType && (acl.FileSystemRights & rights) == rights && acl.IdentityReference.Equals(sid)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var accessRule = new FileSystemAccessRule(sid, rights,
|
||||
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
|
||||
PropagationFlags.InheritOnly, controlType);
|
||||
|
||||
bool modified;
|
||||
directorySecurity.ModifyAccessRule(AccessControlModification.Add, accessRule, out modified);
|
||||
|
||||
if (modified)
|
||||
{
|
||||
directoryInfo.SetAccessControl(directorySecurity);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Warn(e, "Couldn't set permission for {0}. account:{1} rights:{2} accessControlType:{3}", filename, accountSid, rights, controlType);
|
||||
throw;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override void SetPermissions(string path, string mask, string user, string group)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NLog" Version="4.6.6" />
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
|
||||
<ApplicationIcon>..\NzbDrone.Host\Sonarr.ico</ApplicationIcon>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net462</TargetFramework>
|
||||
<Platforms>x86</Platforms>
|
||||
<Platforms>x64</Platforms>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||
@@ -16,8 +15,5 @@
|
||||
<ProjectReference Include="..\NzbDrone.SignalR\Sonarr.SignalR.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System.Data.SQLite">
|
||||
<HintPath>..\Libraries\Sqlite\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
312
src/Sonarr.sln
312
src/Sonarr.sln
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2010
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.29519.87
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Console", "NzbDrone.Console\Sonarr.Console.csproj", "{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
@@ -53,6 +53,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Common", "NzbDrone.C
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{1E6B3CBE-1578-41C1-9BF9-78D818740BE9}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
NuGet.config = NuGet.config
|
||||
.nuget\NuGet.exe = .nuget\NuGet.exe
|
||||
EndProjectSection
|
||||
EndProject
|
||||
@@ -99,191 +100,130 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Host.Test", "NzbDron
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x86 = Debug|x86
|
||||
Mono|x86 = Mono|x86
|
||||
Release|x86 = Release|x86
|
||||
Debug|x64 = Debug|x64
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|x86.Build.0 = Debug|x86
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Mono|x86.ActiveCfg = Release|x86
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Mono|x86.Build.0 = Release|x86
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|x86.ActiveCfg = Release|x86
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|x86.Build.0 = Release|x86
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x86.Build.0 = Debug|x86
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Mono|x86.ActiveCfg = Release|x86
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Mono|x86.Build.0 = Release|x86
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x86.ActiveCfg = Release|x86
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x86.Build.0 = Release|x86
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|x86.Build.0 = Debug|x86
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Mono|x86.ActiveCfg = Release|x86
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Mono|x86.Build.0 = Release|x86
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x86.ActiveCfg = Release|x86
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x86.Build.0 = Release|x86
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|x86.Build.0 = Debug|x86
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Mono|x86.ActiveCfg = Release|x86
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Mono|x86.Build.0 = Release|x86
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x86.ActiveCfg = Release|x86
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x86.Build.0 = Release|x86
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|x86.Build.0 = Debug|x86
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Mono|x86.ActiveCfg = Release|x86
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Mono|x86.Build.0 = Release|x86
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|x86.ActiveCfg = Release|x86
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|x86.Build.0 = Release|x86
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|x86.Build.0 = Debug|x86
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Mono|x86.ActiveCfg = Release|x86
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Mono|x86.Build.0 = Release|x86
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|x86.ActiveCfg = Release|x86
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|x86.Build.0 = Release|x86
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|x86.Build.0 = Debug|x86
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Mono|x86.ActiveCfg = Release|x86
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Mono|x86.Build.0 = Release|x86
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|x86.ActiveCfg = Release|x86
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|x86.Build.0 = Release|x86
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|x86.Build.0 = Debug|x86
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Mono|x86.ActiveCfg = Release|x86
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Mono|x86.Build.0 = Release|x86
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|x86.ActiveCfg = Release|x86
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|x86.Build.0 = Release|x86
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|x86.Build.0 = Debug|x86
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Mono|x86.ActiveCfg = Release|x86
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Mono|x86.Build.0 = Release|x86
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|x86.ActiveCfg = Release|x86
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|x86.Build.0 = Release|x86
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|x86.Build.0 = Debug|x86
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Mono|x86.ActiveCfg = Release|x86
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Mono|x86.Build.0 = Release|x86
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|x86.ActiveCfg = Release|x86
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|x86.Build.0 = Release|x86
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|x86.Build.0 = Debug|x86
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Mono|x86.ActiveCfg = Release|x86
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Mono|x86.Build.0 = Release|x86
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|x86.ActiveCfg = Release|x86
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|x86.Build.0 = Release|x86
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|x86.Build.0 = Debug|x86
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Mono|x86.ActiveCfg = Release|x86
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Mono|x86.Build.0 = Release|x86
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|x86.ActiveCfg = Release|x86
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|x86.Build.0 = Release|x86
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|x86.Build.0 = Debug|x86
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Mono|x86.ActiveCfg = Release|x86
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Mono|x86.Build.0 = Release|x86
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|x86.ActiveCfg = Release|x86
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|x86.Build.0 = Release|x86
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|x86.Build.0 = Debug|x86
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Mono|x86.ActiveCfg = Release|x86
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Mono|x86.Build.0 = Release|x86
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|x86.ActiveCfg = Release|x86
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|x86.Build.0 = Release|x86
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|x86.Build.0 = Debug|x86
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Mono|x86.ActiveCfg = Release|x86
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Mono|x86.Build.0 = Release|x86
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|x86.ActiveCfg = Release|x86
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|x86.Build.0 = Release|x86
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x86.Build.0 = Debug|x86
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Mono|x86.ActiveCfg = Release|x86
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Mono|x86.Build.0 = Release|x86
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x86.ActiveCfg = Release|x86
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x86.Build.0 = Release|x86
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|x86.Build.0 = Debug|x86
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Mono|x86.ActiveCfg = Release|x86
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Mono|x86.Build.0 = Release|x86
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|x86.ActiveCfg = Release|x86
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|x86.Build.0 = Release|x86
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|x86.Build.0 = Debug|x86
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Mono|x86.ActiveCfg = Release|x86
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Mono|x86.Build.0 = Release|x86
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|x86.ActiveCfg = Release|x86
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|x86.Build.0 = Release|x86
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|x86.Build.0 = Debug|x86
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Mono|x86.ActiveCfg = Release|x86
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Mono|x86.Build.0 = Release|x86
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|x86.ActiveCfg = Release|x86
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|x86.Build.0 = Release|x86
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Debug|x86.Build.0 = Debug|x86
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Mono|x86.ActiveCfg = Release|x86
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Mono|x86.Build.0 = Release|x86
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Release|x86.ActiveCfg = Release|x86
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Release|x86.Build.0 = Release|x86
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Debug|x86.Build.0 = Debug|x86
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Mono|x86.ActiveCfg = Release|x86
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Mono|x86.Build.0 = Release|x86
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Release|x86.ActiveCfg = Release|x86
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Release|x86.Build.0 = Release|x86
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Debug|x86.Build.0 = Debug|x86
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Mono|x86.ActiveCfg = Release|x86
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Mono|x86.Build.0 = Release|x86
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Release|x86.ActiveCfg = Release|x86
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Release|x86.Build.0 = Release|x86
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|x86.Build.0 = Debug|x86
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Mono|x86.ActiveCfg = Release|x86
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Mono|x86.Build.0 = Release|x86
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|x86.ActiveCfg = Release|x86
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|x86.Build.0 = Release|x86
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|x86.Build.0 = Debug|x86
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Mono|x86.ActiveCfg = Release|x86
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Mono|x86.Build.0 = Release|x86
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|x86.ActiveCfg = Release|x86
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|x86.Build.0 = Release|x86
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Debug|x86.Build.0 = Debug|x86
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Mono|x86.ActiveCfg = Release|x86
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Mono|x86.Build.0 = Release|x86
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Release|x86.ActiveCfg = Release|x86
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Release|x86.Build.0 = Release|x86
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Debug|x86.Build.0 = Debug|x86
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Mono|x86.ActiveCfg = Release|x86
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Mono|x86.Build.0 = Release|x86
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Release|x86.ActiveCfg = Release|x86
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Release|x86.Build.0 = Release|x86
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Debug|x86.Build.0 = Debug|x86
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Mono|x86.ActiveCfg = Release|x86
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Mono|x86.Build.0 = Release|x86
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Release|x86.ActiveCfg = Release|x86
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Release|x86.Build.0 = Release|x86
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|x86.Build.0 = Debug|x86
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Mono|x86.ActiveCfg = Release|x86
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Mono|x86.Build.0 = Release|x86
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|x86.ActiveCfg = Release|x86
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|x86.Build.0 = Release|x86
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|x86.Build.0 = Debug|x86
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Mono|x86.ActiveCfg = Release|x86
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Mono|x86.Build.0 = Release|x86
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|x86.ActiveCfg = Release|x86
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|x86.Build.0 = Release|x86
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|x86.Build.0 = Debug|x86
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Mono|x86.ActiveCfg = Release|x86
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Mono|x86.Build.0 = Release|x86
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|x86.ActiveCfg = Release|x86
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|x86.Build.0 = Release|x86
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|x64.Build.0 = Debug|x64
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|x64.ActiveCfg = Release|x64
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|x64.Build.0 = Release|x64
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x64.Build.0 = Debug|x64
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x64.ActiveCfg = Release|x64
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x64.Build.0 = Release|x64
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|x64.Build.0 = Debug|x64
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x64.ActiveCfg = Release|x64
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x64.Build.0 = Release|x64
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|x64.Build.0 = Debug|x64
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x64.ActiveCfg = Release|x64
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x64.Build.0 = Release|x64
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|x64.Build.0 = Debug|x64
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|x64.ActiveCfg = Release|x64
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|x64.Build.0 = Release|x64
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|x64.Build.0 = Debug|x64
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|x64.ActiveCfg = Release|x64
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|x64.Build.0 = Release|x64
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|x64.Build.0 = Debug|x64
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|x64.ActiveCfg = Release|x64
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|x64.Build.0 = Release|x64
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|x64.Build.0 = Debug|x64
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|x64.ActiveCfg = Release|x64
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|x64.Build.0 = Release|x64
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|x64.Build.0 = Debug|x64
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|x64.ActiveCfg = Release|x64
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|x64.Build.0 = Release|x64
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|x64.Build.0 = Debug|x64
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|x64.ActiveCfg = Release|x64
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|x64.Build.0 = Release|x64
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|x64.Build.0 = Debug|x64
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|x64.ActiveCfg = Release|x64
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|x64.Build.0 = Release|x64
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|x64.Build.0 = Debug|x64
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|x64.ActiveCfg = Release|x64
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|x64.Build.0 = Release|x64
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|x64.Build.0 = Debug|x64
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|x64.ActiveCfg = Release|x64
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|x64.Build.0 = Release|x64
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|x64.Build.0 = Debug|x64
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|x64.ActiveCfg = Release|x64
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|x64.Build.0 = Release|x64
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|x64.Build.0 = Debug|x64
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|x64.ActiveCfg = Release|x64
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|x64.Build.0 = Release|x64
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x64.Build.0 = Debug|x64
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x64.ActiveCfg = Release|x64
|
||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x64.Build.0 = Release|x64
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|x64.Build.0 = Debug|x64
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|x64.ActiveCfg = Release|x64
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|x64.Build.0 = Release|x64
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|x64.Build.0 = Debug|x64
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|x64.ActiveCfg = Release|x64
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|x64.Build.0 = Release|x64
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|x64.Build.0 = Debug|x64
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|x64.ActiveCfg = Release|x64
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|x64.Build.0 = Release|x64
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Debug|x64.Build.0 = Debug|x64
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Release|x64.ActiveCfg = Release|x64
|
||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Release|x64.Build.0 = Release|x64
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Debug|x64.Build.0 = Debug|x64
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Release|x64.ActiveCfg = Release|x64
|
||||
{15AD7579-A314-4626-B556-663F51D97CD1}.Release|x64.Build.0 = Release|x64
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Debug|x64.Build.0 = Debug|x64
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Release|x64.ActiveCfg = Release|x64
|
||||
{911284D3-F130-459E-836C-2430B6FBF21D}.Release|x64.Build.0 = Release|x64
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|x64.Build.0 = Debug|x64
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|x64.ActiveCfg = Release|x64
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|x64.Build.0 = Release|x64
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|x64.Build.0 = Debug|x64
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|x64.ActiveCfg = Release|x64
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|x64.Build.0 = Release|x64
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Debug|x64.Build.0 = Debug|x64
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Release|x64.ActiveCfg = Release|x64
|
||||
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Release|x64.Build.0 = Release|x64
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Debug|x64.Build.0 = Debug|x64
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Release|x64.ActiveCfg = Release|x64
|
||||
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Release|x64.Build.0 = Release|x64
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Debug|x64.Build.0 = Debug|x64
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Release|x64.ActiveCfg = Release|x64
|
||||
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Release|x64.Build.0 = Release|x64
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|x64.Build.0 = Debug|x64
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|x64.ActiveCfg = Release|x64
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|x64.Build.0 = Release|x64
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|x64.Build.0 = Debug|x64
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|x64.ActiveCfg = Release|x64
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|x64.Build.0 = Release|x64
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|x64.Build.0 = Debug|x64
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|x64.ActiveCfg = Release|x64
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -317,8 +257,8 @@ Global
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5} = {57A04B72-8088-4F75-A582-1158CF8291F7}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35;packages\Unity.2.1.505.2\lib\NET35
|
||||
SolutionGuid = {2955716E-0882-41EC-935D-C95694C5C30F}
|
||||
EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35;packages\Unity.2.1.505.2\lib\NET35
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
StartupItem = NzbDrone.Console\NzbDrone.Console.csproj
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user