Compare commits
13 Commits
develop
...
phantom-x6
Author | SHA1 | Date |
---|---|---|
Taloth Saldono | 473b146ae2 | |
Taloth Saldono | bdc0bb4441 | |
Taloth Saldono | 96c5a37ca8 | |
Taloth Saldono | ce0b7e1077 | |
Taloth Saldono | 29cde083f9 | |
Taloth Saldono | 8faebc01ee | |
Taloth Saldono | 2ea154b863 | |
Taloth Saldono | d02dfc9ff1 | |
Taloth Saldono | 7bcfa3d7b2 | |
Taloth Saldono | 1c1f9cddff | |
Taloth Saldono | 8308d65375 | |
Taloth Saldono | d64d59ff27 | |
Taloth Saldono | 8da6f7d7f4 |
62
build.sh
62
build.sh
|
@ -12,6 +12,8 @@ sourceFolder='./src'
|
||||||
slnFile=$sourceFolder/Sonarr.sln
|
slnFile=$sourceFolder/Sonarr.sln
|
||||||
updateSubFolder=Sonarr.Update
|
updateSubFolder=Sonarr.Update
|
||||||
|
|
||||||
|
sqlitePackageDir="$HOME/.nuget/packages/system.data.sqlite.core.lidarr/1.0.111-5"
|
||||||
|
|
||||||
nuget='tools/nuget/nuget.exe';
|
nuget='tools/nuget/nuget.exe';
|
||||||
vswhere='tools/vswhere/vswhere.exe';
|
vswhere='tools/vswhere/vswhere.exe';
|
||||||
|
|
||||||
|
@ -88,16 +90,17 @@ CleanFolder()
|
||||||
|
|
||||||
BuildWithMSBuild()
|
BuildWithMSBuild()
|
||||||
{
|
{
|
||||||
installationPath=`$vswhere -latest -products \* -requires Microsoft.Component.MSBuild -property installationPath`
|
msBuildPath=`$vswhere -latest -products \* -requires Microsoft.Component.MSBuild -find MSBuild\\\\\*\*\\\\Bin\\\\MSBuild.exe`
|
||||||
installationPath=${installationPath/C:\\/\/c\/}
|
msBuildPath=${msBuildPath/C:\\/\/c\/}
|
||||||
installationPath=${installationPath//\\/\/}
|
msBuildPath=${msBuildPath//\\/\/}
|
||||||
msBuild="$installationPath/MSBuild/$msBuildVersion/Bin"
|
msBuildDir=$(dirname "$msBuildPath")
|
||||||
echo $msBuild
|
|
||||||
|
|
||||||
export PATH=$msBuild:$PATH
|
echo $msBuildDir
|
||||||
CheckExitCode MSBuild.exe $slnFile //p:Configuration=Release //p:Platform=x86 //t:Clean //m
|
|
||||||
|
export PATH=$msBuildDir:$PATH
|
||||||
|
CheckExitCode MSBuild.exe $slnFile //p:Configuration=Release //p:Platform=x64 //t:Clean //m
|
||||||
$nuget restore $slnFile
|
$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()
|
BuildWithXbuild()
|
||||||
|
@ -105,7 +108,7 @@ BuildWithXbuild()
|
||||||
export MONO_IOMAP=case
|
export MONO_IOMAP=case
|
||||||
CheckExitCode xbuild /t:Clean $slnFile
|
CheckExitCode xbuild /t:Clean $slnFile
|
||||||
mono $nuget restore $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()
|
LintUI()
|
||||||
|
@ -134,9 +137,6 @@ Build()
|
||||||
|
|
||||||
CleanFolder $outputFolder false
|
CleanFolder $outputFolder false
|
||||||
|
|
||||||
echo "Removing Mono.Posix.dll"
|
|
||||||
rm $outputFolder/Mono.Posix.dll
|
|
||||||
|
|
||||||
ProgressEnd 'Build'
|
ProgressEnd 'Build'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,23 +174,11 @@ PatchMono()
|
||||||
{
|
{
|
||||||
local path=$1
|
local path=$1
|
||||||
|
|
||||||
# Below we deal with some mono incompatibilities with windows-only dotnet core/standard libs
|
# Copy over the netstandard.dll facade since mono has no separate package for it and includes it in mono-devel
|
||||||
# See: https://github.com/mono/mono/blob/master/tools/nuget-hash-extractor/download.sh
|
for assembly in netstandard System.Runtime
|
||||||
# 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
|
|
||||||
do
|
do
|
||||||
if [ -e $path/$assembly.dll ]; then
|
echo "Copy Mono-specific facade $assembly.dll"
|
||||||
if [ -e $sourceFolder/Libraries/Mono/$assembly.dll ]; then
|
|
||||||
echo "Copy Mono-specific facade $assembly.dll (uses win32 interop)"
|
|
||||||
cp $sourceFolder/Libraries/Mono/$assembly.dll $path/$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
|
done
|
||||||
|
|
||||||
# Copy more stable version of Vectors for mono <5.12
|
# Copy more stable version of Vectors for mono <5.12
|
||||||
|
@ -240,10 +228,6 @@ PackageMono()
|
||||||
echo "Adding Sonarr.Core.dll.config (for dllmap)"
|
echo "Adding Sonarr.Core.dll.config (for dllmap)"
|
||||||
cp $sourceFolder/NzbDrone.Core/Sonarr.Core.dll.config $outputFolderLinux
|
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"
|
echo "Renaming Sonarr.Console.exe to Sonarr.exe"
|
||||||
rm $outputFolderLinux/Sonarr.exe*
|
rm $outputFolderLinux/Sonarr.exe*
|
||||||
for file in $outputFolderLinux/Sonarr.Console.exe*; do
|
for file in $outputFolderLinux/Sonarr.Console.exe*; do
|
||||||
|
@ -273,11 +257,11 @@ PackageMacOS()
|
||||||
echo "Copying Binaries"
|
echo "Copying Binaries"
|
||||||
cp -r $outputFolderLinux/* $outputFolderMacOS
|
cp -r $outputFolderLinux/* $outputFolderMacOS
|
||||||
|
|
||||||
echo "Adding sqlite dylibs"
|
echo "Adding sqlite dylib"
|
||||||
cp $sourceFolder/Libraries/Sqlite/*.dylib $outputFolderMacOS
|
cp "$sqlitePackageDir/runtimes/osx-x64/native/net46"/* $outputFolderMacOS
|
||||||
|
|
||||||
echo "Adding MediaInfo dylib"
|
echo "Adding MediaInfo dylib"
|
||||||
cp $sourceFolder/Libraries/MediaInfo/*.dylib $outputFolderMacOS
|
cp $sourceFolder/Libraries/MediaInfo/x64/*.dylib $outputFolderMacOS
|
||||||
|
|
||||||
ProgressEnd 'Creating MacOS Package'
|
ProgressEnd 'Creating MacOS Package'
|
||||||
}
|
}
|
||||||
|
@ -298,11 +282,11 @@ PackageMacOSApp()
|
||||||
echo "Copying Binaries"
|
echo "Copying Binaries"
|
||||||
cp -r $outputFolderLinux/* $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
|
cp -r $outputFolderLinux/* $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
|
||||||
|
|
||||||
echo "Adding sqlite dylibs"
|
echo "Adding sqlite dylib"
|
||||||
cp $sourceFolder/Libraries/Sqlite/*.dylib $outputFolderMacOSApp/Sonarr.app/Contents/MacOS
|
cp "$sqlitePackageDir/runtimes/osx-x64/native/net46"/* $outputFolderMacOS
|
||||||
|
|
||||||
echo "Adding MediaInfo dylib"
|
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"
|
echo "Removing Update Folder"
|
||||||
rm -r $outputFolderMacOSApp/Sonarr.app/Contents/MacOS/Sonarr.Update
|
rm -r $outputFolderMacOSApp/Sonarr.app/Contents/MacOS/Sonarr.Update
|
||||||
|
@ -336,10 +320,6 @@ PackageTestsMono()
|
||||||
echo "Adding Sonarr.Core.dll.config (for dllmap)"
|
echo "Adding Sonarr.Core.dll.config (for dllmap)"
|
||||||
cp $sourceFolder/NzbDrone.Core/Sonarr.Core.dll.config $testPackageFolderLinux
|
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/
|
cp ./test.sh $testPackageFolderLinux/
|
||||||
dos2unix $testPackageFolderLinux/test.sh
|
dos2unix $testPackageFolderLinux/test.sh
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,8 @@ Vcs-Git: git@github.com:Sonarr/Sonarr.git
|
||||||
Vcs-Browser: https://github.com/Sonarr/Sonarr
|
Vcs-Browser: https://github.com/Sonarr/Sonarr
|
||||||
Build-Depends: debhelper (>= 9),
|
Build-Depends: debhelper (>= 9),
|
||||||
dh-systemd (>= 1.5),
|
dh-systemd (>= 1.5),
|
||||||
mono-devel (>= 5.4),
|
mono-devel (>= 5.18),
|
||||||
libmono-cil-dev (>= 5.4),
|
libmono-cil-dev (>= 5.18),
|
||||||
cli-common-dev (>= 0.9+xamarin5)
|
cli-common-dev (>= 0.9+xamarin5)
|
||||||
|
|
||||||
Package: sonarr
|
Package: sonarr
|
||||||
|
@ -16,7 +16,7 @@ Architecture: all
|
||||||
Provides: nzbdrone
|
Provides: nzbdrone
|
||||||
Conflicts: nzbdrone
|
Conflicts: nzbdrone
|
||||||
Replaces: 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)
|
Recommends: libmediainfo0v5 (>= 18.03) | libmediainfo0 (>= 18.03)
|
||||||
Suggests: sqlite3 (>= 3.7), mediainfo (>= 0.7.52)
|
Suggests: sqlite3 (>= 3.7), mediainfo (>= 0.7.52)
|
||||||
Description: Internet PVR
|
Description: Internet PVR
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Uncomment this to turn on verbose mode.
|
# Uncomment this to turn on verbose mode.
|
||||||
#export DH_VERBOSE=1
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
EXCLUDE_MODULEREFS = crypt32 httpapi
|
EXCLUDE_MODULEREFS = crypt32 httpapi __Internal
|
||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@ --with=systemd --with=cli
|
dh $@ --with=systemd --with=cli
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
FROM ubuntu:xenial AS builder
|
FROM ubuntu:xenial AS builder
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
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 && \
|
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 && \
|
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 \
|
RUN apt-get update && apt-get install -y \
|
||||||
libmono-system-runtime4.0-cil \
|
libmono-system-runtime4.0-cil \
|
||||||
|
libmono-system-net-http4.0-cil \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY startup.sh /startup.sh
|
COPY startup.sh /startup.sh
|
||||||
|
|
|
@ -2,16 +2,18 @@
|
||||||
opt_parallel=
|
opt_parallel=
|
||||||
opt_version=
|
opt_version=
|
||||||
opt_mode=both
|
opt_mode=both
|
||||||
while getopts 'pv:m:?h' c
|
while getopts 'pv:m:r?h' c
|
||||||
do
|
do
|
||||||
case $c in
|
case $c in
|
||||||
p) opt_parallel=1 ;;
|
p) opt_parallel=1 ;;
|
||||||
v) opt_version=$OPTARG ;;
|
v) opt_version=$OPTARG ;;
|
||||||
m) opt_mode=$OPTARG ;;
|
m) opt_mode=$OPTARG ;;
|
||||||
|
r) opt_report=1 ;;
|
||||||
?|h) printf "Usage: %s [-p] [-v mono-ver] [-m sonarr|complete]\n" $0
|
?|h) printf "Usage: %s [-p] [-v mono-ver] [-m sonarr|complete]\n" $0
|
||||||
printf " -p run parallel\n"
|
printf " -p run parallel\n"
|
||||||
printf " -v run specified mono version\n"
|
printf " -v run specified mono version\n"
|
||||||
printf " -m run only mono-'complete' or 'sonarr' package variants\n"
|
printf " -m run only mono-'complete' or 'sonarr' package variants\n"
|
||||||
|
printf " -r only report\n"
|
||||||
exit 2
|
exit 2
|
||||||
esac
|
esac
|
||||||
done
|
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
|
# 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
|
# excess goes to the swap and will slow down the entire system
|
||||||
|
|
||||||
# Preferred versions
|
MONO_VERSIONS=""
|
||||||
MONO_VERSIONS="6.0 5.20 5.18"
|
|
||||||
|
|
||||||
# Future 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
|
# 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
|
# 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"
|
#MONO_VERSIONS="$MONO_VERSIONS 4.8=stable-wheezy/snapshots/4.8"
|
||||||
|
|
||||||
if [ "$opt_version" != "" ]; then
|
if [ "$opt_version" != "" ]; then
|
||||||
|
@ -86,23 +93,29 @@ runOne() {
|
||||||
echo "Finished Test Docker for mono $MONO_VERSION"
|
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
|
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
|
done
|
||||||
|
|
||||||
|
if [ "$opt_parallel" == "1" ]; then
|
||||||
|
echo "Waiting for all runs to finish"
|
||||||
|
wait
|
||||||
|
echo "Finished all runs"
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for MONO_VERSION_PAIR in $MONO_VERSIONS; do
|
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.
|
||||||
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
|
|
|
@ -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
|
Name: "none"; Description: "Do not start automatically"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
Source: "..\_output\Sonarr.exe"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "..\_output_windows\Sonarr.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "..\_output\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
Source: "..\_output_windows\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
|
@ -77,3 +77,26 @@ var
|
||||||
begin
|
begin
|
||||||
Exec(ExpandConstant('{commonappdata}\NzbDrone\bin\NzbDrone.Console.exe'), '/u', '', 0, ewWaitUntilTerminated, ResultCode)
|
Exec(ExpandConstant('{commonappdata}\NzbDrone\bin\NzbDrone.Console.exe'), '/u', '', 0, ewWaitUntilTerminated, ResultCode)
|
||||||
end;
|
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>
|
<PropertyGroup>
|
||||||
<SonarrRootDir>$(MSBuildThisFileDirectory)..\</SonarrRootDir>
|
<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 -->
|
<!-- Specifies the type of output -->
|
||||||
<SonarrOutputType>Library</SonarrOutputType>
|
<SonarrOutputType>Library</SonarrOutputType>
|
||||||
<SonarrOutputType Condition="$(MSBuildProjectName.Contains('.Test'))">Test</SonarrOutputType>
|
<SonarrOutputType Condition="$(MSBuildProjectName.Contains('.Test'))">Test</SonarrOutputType>
|
||||||
|
@ -19,24 +30,41 @@
|
||||||
<SonarrProject Condition="$(MSBuildProjectName.StartsWith('ServiceUninstall'))">true</SonarrProject>
|
<SonarrProject Condition="$(MSBuildProjectName.StartsWith('ServiceUninstall'))">true</SonarrProject>
|
||||||
</PropertyGroup>
|
</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>
|
<PropertyGroup>
|
||||||
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
|
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
|
||||||
|
|
||||||
|
<TargetFrameworkPath>$(TargetFramework)\</TargetFrameworkPath>
|
||||||
|
<TargetFrameworkPath Condition="'$(Platform)'!='x64'">$(TargetFrameworkPath)$(Platform)\</TargetFrameworkPath>
|
||||||
|
<TargetFrameworkPath>$(TargetFrameworkPath)$(Configuration)\</TargetFrameworkPath>
|
||||||
|
|
||||||
<!-- Centralize intermediate and default outputs -->
|
<!-- Centralize intermediate and default outputs -->
|
||||||
<BaseIntermediateOutputPath>$(SonarrRootDir)_temp\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
<BaseIntermediateOutputPath>$(SonarrRootDir)_temp\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||||
<IntermediateOutputPath>$(SonarrRootDir)_temp\obj\$(MSBuildProjectName)\$(Configuration)\</IntermediateOutputPath>
|
<IntermediateOutputPath>$(SonarrRootDir)_temp\obj\$(MSBuildProjectName)\$(TargetFrameworkPath)</IntermediateOutputPath>
|
||||||
<OutputPath>$(SonarrRootDir)_temp\bin\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
|
<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 -->
|
<!-- Output to _output and _tests respectively -->
|
||||||
<OutputPath Condition="'$(SonarrProject)'=='true'">$(SonarrRootDir)_output\</OutputPath>
|
<OutputPath Condition="'$(SonarrProject)'=='true'">$(SonarrRootDir)_output\$(OutputTargetFrameworkPath)</OutputPath>
|
||||||
<OutputPath Condition="'$(SonarrOutputType)'=='Test'">$(SonarrRootDir)_tests\</OutputPath>
|
<OutputPath Condition="'$(SonarrOutputType)'=='Test'">$(SonarrRootDir)_tests\$(OutputTargetFrameworkPath)</OutputPath>
|
||||||
<OutputPath Condition="'$(SonarrOutputType)'=='Update'">$(SonarrRootDir)_output\Sonarr.Update\</OutputPath>
|
<OutputPath Condition="'$(SonarrOutputType)'=='Update'">$(OutputPath)Sonarr.Update\</OutputPath>
|
||||||
|
|
||||||
<!-- Paths relative to project file for better readability -->
|
<!-- Paths relative to project file for better readability -->
|
||||||
<BaseIntermediateOutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(BaseIntermediateOutputPath)'))</BaseIntermediateOutputPath>
|
<BaseIntermediateOutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(BaseIntermediateOutputPath)'))</BaseIntermediateOutputPath>
|
||||||
<IntermediateOutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(IntermediateOutputPath)'))</IntermediateOutputPath>
|
<IntermediateOutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(IntermediateOutputPath)'))</IntermediateOutputPath>
|
||||||
<OutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(OutputPath)'))</OutputPath>
|
<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>
|
<DebugType>full</DebugType>
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -73,8 +101,15 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- We don't want separate framework directories till we go dotnet core -->
|
<!-- We don't want separate framework directories till we go dotnet core -->
|
||||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||||
|
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||||
|
|
||||||
<!-- For now keep the NzbDrone namespace -->
|
<!-- For now keep the NzbDrone namespace -->
|
||||||
<RootNamespace Condition="'$(SonarrProject)'=='true'">$(MSBuildProjectName.Replace('Sonarr','NzbDrone'))</RootNamespace>
|
<RootNamespace Condition="'$(SonarrProject)'=='true'">$(MSBuildProjectName.Replace('Sonarr','NzbDrone'))</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<!-- Get the reference assemblies for build agent -->
|
||||||
|
<ItemGroup Condition="'$(TargetFramework)'=='net472'">
|
||||||
|
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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.
|
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">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
|
|
||||||
<AssemblyVersion>2.6.0.0</AssemblyVersion>
|
<AssemblyVersion>2.6.0.0</AssemblyVersion>
|
||||||
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
|
|
||||||
<AssemblyVersion>2.4.0.0</AssemblyVersion>
|
<AssemblyVersion>2.4.0.0</AssemblyVersion>
|
||||||
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
|
|
||||||
<AssemblyVersion>3.17.0.0</AssemblyVersion>
|
<AssemblyVersion>3.17.0.0</AssemblyVersion>
|
||||||
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
<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>
|
/// </summary>
|
||||||
internal class QueryFactory
|
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";
|
private const string DB_SQLiteClient = "System.Data.SQLite.SQLiteFactory";
|
||||||
|
|
||||||
public static IQuery CreateUpdateQuery(ColumnMapCollection columns, IDataMapper dataMapper, string target, string whereClause)
|
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();
|
string providerString = dataMapper.ProviderFactory.ToString();
|
||||||
switch (providerString)
|
switch (providerString)
|
||||||
{
|
{
|
||||||
case DB_SqlClient:
|
|
||||||
return new RowCountQueryDecorator(innerQuery);
|
|
||||||
|
|
||||||
case DB_SqlCeClient:
|
|
||||||
return new RowCountQueryDecorator(innerQuery);
|
|
||||||
|
|
||||||
case DB_SQLiteClient:
|
case DB_SQLiteClient:
|
||||||
return new SqliteRowCountQueryDecorator(innerQuery);
|
return new SqliteRowCountQueryDecorator(innerQuery);
|
||||||
|
|
||||||
|
@ -68,12 +56,6 @@ namespace Marr.Data.QGen
|
||||||
string providerString = dataMapper.ProviderFactory.ToString();
|
string providerString = dataMapper.ProviderFactory.ToString();
|
||||||
switch (providerString)
|
switch (providerString)
|
||||||
{
|
{
|
||||||
case DB_SqlClient:
|
|
||||||
return new PagingQueryDecorator(innerQuery, skip, take);
|
|
||||||
|
|
||||||
case DB_SqlCeClient:
|
|
||||||
return new PagingQueryDecorator(innerQuery, skip, take);
|
|
||||||
|
|
||||||
case DB_SQLiteClient:
|
case DB_SQLiteClient:
|
||||||
return new SqlitePagingQueryDecorator(innerQuery, skip, take);
|
return new SqlitePagingQueryDecorator(innerQuery, skip, take);
|
||||||
|
|
||||||
|
@ -87,21 +69,6 @@ namespace Marr.Data.QGen
|
||||||
string providerString = dataMapper.ProviderFactory.ToString();
|
string providerString = dataMapper.ProviderFactory.ToString();
|
||||||
switch (providerString)
|
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:
|
case DB_SQLiteClient:
|
||||||
return new SqliteDialect();
|
return new SqliteDialect();
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
|
|
||||||
<Version>9.0.21022</Version>
|
<Version>9.0.21022</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
|
@ -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">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="NBuilder" Version="6.0.0" />
|
<PackageReference Include="NBuilder" Version="6.0.0" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Selenium.Firefox.WebDriver" Version="0.24.0" />
|
<PackageReference Include="Selenium.Firefox.WebDriver" Version="0.24.0" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Host\Sonarr.Host.csproj" />
|
<ProjectReference Include="..\NzbDrone.Host\Sonarr.Host.csproj" />
|
||||||
|
|
|
@ -31,6 +31,7 @@ namespace NzbDrone.Common.Disk
|
||||||
|
|
||||||
public abstract long? GetAvailableSpace(string path);
|
public abstract long? GetAvailableSpace(string path);
|
||||||
public abstract void InheritFolderPermissions(string filename);
|
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 SetPermissions(string path, string mask, string user, string group);
|
||||||
public abstract void CopyPermissions(string sourcePath, string targetPath, bool includeOwner);
|
public abstract void CopyPermissions(string sourcePath, string targetPath, bool includeOwner);
|
||||||
public abstract long? GetTotalSize(string path);
|
public abstract long? GetTotalSize(string path);
|
||||||
|
@ -317,42 +318,6 @@ namespace NzbDrone.Common.Disk
|
||||||
return parent.FullName;
|
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)
|
private static void RemoveReadOnly(string path)
|
||||||
{
|
{
|
||||||
if (File.Exists(path))
|
if (File.Exists(path))
|
||||||
|
|
|
@ -10,6 +10,7 @@ namespace NzbDrone.Common.Disk
|
||||||
{
|
{
|
||||||
long? GetAvailableSpace(string path);
|
long? GetAvailableSpace(string path);
|
||||||
void InheritFolderPermissions(string filename);
|
void InheritFolderPermissions(string filename);
|
||||||
|
void SetEveryonePermissions(string filename);
|
||||||
void SetPermissions(string path, string mask, string user, string group);
|
void SetPermissions(string path, string mask, string user, string group);
|
||||||
void CopyPermissions(string sourcePath, string targetPath, bool includeOwner = false);
|
void CopyPermissions(string sourcePath, string targetPath, bool includeOwner = false);
|
||||||
long? GetTotalSize(string path);
|
long? GetTotalSize(string path);
|
||||||
|
@ -39,7 +40,6 @@ namespace NzbDrone.Common.Disk
|
||||||
bool IsFileLocked(string path);
|
bool IsFileLocked(string path);
|
||||||
string GetPathRoot(string path);
|
string GetPathRoot(string path);
|
||||||
string GetParentFolder(string path);
|
string GetParentFolder(string path);
|
||||||
void SetPermissions(string filename, WellKnownSidType accountSid, FileSystemRights rights, AccessControlType controlType);
|
|
||||||
FileAttributes GetFileAttributes(string path);
|
FileAttributes GetFileAttributes(string path);
|
||||||
void EmptyFolder(string path);
|
void EmptyFolder(string path);
|
||||||
string GetVolumeLabel(string path);
|
string GetVolumeLabel(string path);
|
||||||
|
|
|
@ -66,7 +66,7 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_diskProvider.SetPermissions(_appFolderInfo.AppDataFolder, WellKnownSidType.WorldSid, FileSystemRights.Modify, AccessControlType.Allow);
|
_diskProvider.SetEveryonePermissions(_appFolderInfo.AppDataFolder);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DotNet4.SocksProxy" Version="1.4.0.1" />
|
<PackageReference Include="DotNet4.SocksProxy" Version="1.4.0.1" />
|
||||||
|
@ -9,6 +8,7 @@
|
||||||
<PackageReference Include="NLog" Version="4.6.6" />
|
<PackageReference Include="NLog" Version="4.6.6" />
|
||||||
<PackageReference Include="Sentry" Version="1.2.0" />
|
<PackageReference Include="Sentry" Version="1.2.0" />
|
||||||
<PackageReference Include="SharpZipLib" 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" />
|
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -16,9 +16,6 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="System.Configuration.Install" />
|
<Reference Include="System.Configuration.Install" />
|
||||||
<Reference Include="System.Data.SQLite">
|
|
||||||
<HintPath>..\Libraries\Sqlite\System.Data.SQLite.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.ServiceProcess" />
|
<Reference Include="System.ServiceProcess" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
|
|
||||||
<ApplicationIcon>..\NzbDrone.Host\Sonarr.ico</ApplicationIcon>
|
<ApplicationIcon>..\NzbDrone.Host\Sonarr.ico</ApplicationIcon>
|
||||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||||
|
|
|
@ -27,9 +27,6 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||||
Subject.Check().ShouldBeOk();
|
Subject.Check().ShouldBeOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("4.6.2")]
|
|
||||||
[TestCase("4.7")]
|
|
||||||
[TestCase("4.7.1")]
|
|
||||||
public void should_return_notice(string version)
|
public void should_return_notice(string version)
|
||||||
{
|
{
|
||||||
GivenOutput(version);
|
GivenOutput(version);
|
||||||
|
@ -47,6 +44,9 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||||
[TestCase("4.5")]
|
[TestCase("4.5")]
|
||||||
[TestCase("4.5.2")]
|
[TestCase("4.5.2")]
|
||||||
[TestCase("4.6.1")]
|
[TestCase("4.6.1")]
|
||||||
|
[TestCase("4.6.2")]
|
||||||
|
[TestCase("4.7")]
|
||||||
|
[TestCase("4.7.1")]
|
||||||
public void should_return_error(string version)
|
public void should_return_error(string version)
|
||||||
{
|
{
|
||||||
GivenOutput(version);
|
GivenOutput(version);
|
||||||
|
@ -55,7 +55,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void should_return_ok_for_net462_on_Win1511()
|
public void should_return_nok_for_net462_on_Win1511()
|
||||||
{
|
{
|
||||||
Mocker.GetMock<IOsInfo>()
|
Mocker.GetMock<IOsInfo>()
|
||||||
.SetupGet(v => v.Version)
|
.SetupGet(v => v.Version)
|
||||||
|
@ -63,7 +63,7 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||||
|
|
||||||
GivenOutput("4.6.2");
|
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.18")]
|
||||||
[TestCase("5.20")]
|
[TestCase("5.20")]
|
||||||
|
[TestCase("6.4")]
|
||||||
public void should_return_ok(string version)
|
public void should_return_ok(string version)
|
||||||
{
|
{
|
||||||
GivenOutput(version);
|
GivenOutput(version);
|
||||||
|
@ -27,7 +28,6 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||||
Subject.Check().ShouldBeOk();
|
Subject.Check().ShouldBeOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("5.16")]
|
|
||||||
public void should_return_notice(string version)
|
public void should_return_notice(string version)
|
||||||
{
|
{
|
||||||
GivenOutput(version);
|
GivenOutput(version);
|
||||||
|
@ -35,8 +35,6 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||||
Subject.Check().ShouldBeNotice();
|
Subject.Check().ShouldBeNotice();
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("5.4")]
|
|
||||||
[TestCase("5.8")]
|
|
||||||
public void should_return_warning(string version)
|
public void should_return_warning(string version)
|
||||||
{
|
{
|
||||||
GivenOutput(version);
|
GivenOutput(version);
|
||||||
|
@ -57,6 +55,12 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
|
||||||
[TestCase("4.2")]
|
[TestCase("4.2")]
|
||||||
[TestCase("4.4.0")]
|
[TestCase("4.4.0")]
|
||||||
[TestCase("4.4.1")]
|
[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)
|
public void should_return_error(string version)
|
||||||
{
|
{
|
||||||
GivenOutput(version);
|
GivenOutput(version);
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="NBuilder" Version="6.0.0" />
|
<PackageReference Include="NBuilder" Version="6.0.0" />
|
||||||
|
@ -15,9 +14,6 @@
|
||||||
<Link>Files\1024.png</Link>
|
<Link>Files\1024.png</Link>
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<Reference Include="System.Data.SQLite">
|
|
||||||
<HintPath>..\Libraries\Sqlite\System.Data.SQLite.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<None Update="Files\**\*.*">
|
<None Update="Files\**\*.*">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
|
|
@ -28,12 +28,6 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
||||||
|
|
||||||
// Target .Net version, which would allow us to increase our target framework
|
// Target .Net version, which would allow us to increase our target framework
|
||||||
var targetVersion = new Version("4.7.2");
|
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)
|
if (dotnetVersion >= targetVersion)
|
||||||
{
|
{
|
||||||
_logger.Debug("Dotnet version is {0} or better: {1}", targetVersion, dotnetVersion);
|
_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
|
// 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)
|
if (dotnetVersion >= stableVersion)
|
||||||
{
|
{
|
||||||
_logger.Debug("Dotnet version is {0} or better: {1}", stableVersion, dotnetVersion);
|
_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");
|
"#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,
|
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 {dotnetVersion} is old and unsupported. Please upgrade the .Net Framework to at least {targetVersion}.",
|
||||||
"#currently-installed-net-framework-is-old-and-unsupported");
|
"#currently-installed-net-framework-is-old-and-unsupported");
|
||||||
|
|
|
@ -43,7 +43,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stable Mono versions
|
// Stable Mono versions
|
||||||
var stableVersion = new Version("5.16");
|
var stableVersion = new Version("5.18");
|
||||||
if (monoVersion >= stableVersion)
|
if (monoVersion >= stableVersion)
|
||||||
{
|
{
|
||||||
_logger.Debug("Mono version is {0} or better: {1}", stableVersion, monoVersion);
|
_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 {monoVersion} is supported but upgrading to {bestVersion} is recommended.",
|
||||||
"#currently-installed-mono-version-is-supported-but-upgrading-is-recommended");
|
"#currently-installed-mono-version-is-supported-but-upgrading-is-recommended");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Old but supported Mono versions, there are known bugs
|
var oldVersion = new Version("5.4");
|
||||||
var supportedVersion = new Version("5.4");
|
if (monoVersion >= oldVersion)
|
||||||
if (monoVersion >= supportedVersion)
|
|
||||||
{
|
{
|
||||||
_logger.Debug("Mono version is {0} or better: {1}", supportedVersion, monoVersion);
|
return new HealthCheck(GetType(), HealthCheckResult.Error,
|
||||||
return new HealthCheck(GetType(), HealthCheckResult.Warning,
|
$"Currently installed Mono version {monoVersion} is no longer supported. Please upgrade Mono to version {bestVersion}.",
|
||||||
$"Currently installed Mono version {monoVersion} is supported but has some known issues. Please upgrade Mono to version {bestVersion}.",
|
"#currently-installed-mono-version-is-old-and-unsupported");
|
||||||
"#currently-installed-mono-version-is-supported-but-upgrading-is-recommended");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new HealthCheck(GetType(), HealthCheckResult.Error,
|
return new HealthCheck(GetType(), HealthCheckResult.Error,
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentMigrator.Runner" Version="1.6.2" />
|
<PackageReference Include="FluentMigrator.Runner" Version="1.6.2" />
|
||||||
|
@ -28,9 +27,6 @@
|
||||||
<Reference Include="Growl.CoreLibrary">
|
<Reference Include="Growl.CoreLibrary">
|
||||||
<HintPath>..\Libraries\Growl.CoreLibrary.dll</HintPath>
|
<HintPath>..\Libraries\Growl.CoreLibrary.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Data.SQLite">
|
|
||||||
<HintPath>..\Libraries\Sqlite\System.Data.SQLite.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.Web" />
|
<Reference Include="System.Web" />
|
||||||
<Reference Include="System.Web.Extensions" />
|
<Reference Include="System.Web.Extensions" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -38,10 +34,10 @@
|
||||||
<EmbeddedResource Include="..\..\Logo\64.png">
|
<EmbeddedResource Include="..\..\Logo\64.png">
|
||||||
<Link>Resources\Logo\64.png</Link>
|
<Link>Resources\Logo\64.png</Link>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<None Include="..\Libraries\Sqlite\sqlite3.dll">
|
<None Include="..\Libraries\MediaInfo\$(Platform)\MediaInfo.dll" Condition="'$(RuntimeIdentifier)'=='win-x64'">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Include="..\Libraries\MediaInfo\MediaInfo.dll">
|
<None Include="..\Libraries\MediaInfo\$(Platform)\libmediainfo.0.dylib" Condition="'$(RuntimeIdentifier)'=='osx-x64'">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using Newtonsoft.Json;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
@ -7,7 +8,6 @@ using System.Net;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Web.Script.Serialization;
|
|
||||||
|
|
||||||
namespace TinyTwitter
|
namespace TinyTwitter
|
||||||
{
|
{
|
||||||
|
@ -93,9 +93,7 @@ namespace TinyTwitter
|
||||||
|
|
||||||
var responseContent = builder.Execute();
|
var responseContent = builder.Execute();
|
||||||
|
|
||||||
var serializer = new JavaScriptSerializer();
|
var tweets = (object[])JsonConvert.DeserializeObject(responseContent);
|
||||||
|
|
||||||
var tweets = (object[])serializer.DeserializeObject(responseContent);
|
|
||||||
|
|
||||||
return tweets.Cast<Dictionary<string, object>>().Select(tweet =>
|
return tweets.Cast<Dictionary<string, object>>().Select(tweet =>
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Host\Sonarr.Host.csproj" />
|
<ProjectReference Include="..\NzbDrone.Host\Sonarr.Host.csproj" />
|
||||||
|
|
|
@ -31,13 +31,13 @@ namespace NzbDrone.Host.AccessControl
|
||||||
{
|
{
|
||||||
if (!IsNzbDronePortOpen(_configFileProvider.Port))
|
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);
|
OpenFirewallPort(_configFileProvider.Port);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_configFileProvider.EnableSsl && !IsNzbDronePortOpen(_configFileProvider.SslPort))
|
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);
|
OpenFirewallPort(_configFileProvider.SslPort);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNet.SignalR.SelfHost" Version="2.4.0" />
|
<PackageReference Include="Microsoft.AspNet.SignalR.SelfHost" Version="2.4.0" />
|
||||||
|
@ -17,8 +16,8 @@
|
||||||
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
|
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Interop.NetFwTypeLib">
|
<Reference Include="Interop.NetFwTypeLib" Condition="'$(RuntimeIdentifier)'=='win-x64'">
|
||||||
<HintPath>..\Libraries\Interop.NetFwTypeLib.dll</HintPath>
|
<HintPath>..\Libraries\FirewallApi\$(Platform)\Interop.NetFwTypeLib.dll</HintPath>
|
||||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.ServiceProcess" />
|
<Reference Include="System.ServiceProcess" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNet.SignalR.Client" Version="2.4.0" />
|
<PackageReference Include="Microsoft.AspNet.SignalR.Client" Version="2.4.0" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Sonarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Sonarr.Test.Common.csproj" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Common.Test\Sonarr.Common.Test.csproj" />
|
<ProjectReference Include="..\NzbDrone.Common.Test\Sonarr.Common.Test.csproj" />
|
||||||
|
@ -11,6 +10,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Mono.Posix">
|
<Reference Include="Mono.Posix">
|
||||||
<HintPath>..\Libraries\Mono.Posix.dll</HintPath>
|
<HintPath>..\Libraries\Mono.Posix.dll</HintPath>
|
||||||
|
<Private>false</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -53,20 +53,12 @@ namespace NzbDrone.Mono.Disk
|
||||||
|
|
||||||
public override void InheritFolderPermissions(string filename)
|
public override void InheritFolderPermissions(string filename)
|
||||||
{
|
{
|
||||||
Ensure.That(filename, () => filename).IsValidPath();
|
|
||||||
|
|
||||||
try
|
}
|
||||||
{
|
|
||||||
var fs = File.GetAccessControl(filename);
|
public override void SetEveryonePermissions(string filename)
|
||||||
fs.SetAccessRuleProtection(false, false);
|
{
|
||||||
File.SetAccessControl(filename, fs);
|
|
||||||
}
|
|
||||||
catch (NotImplementedException)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
catch (PlatformNotSupportedException)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void SetPermissions(string path, string mask, string user, string group)
|
public override void SetPermissions(string path, string mask, string user, string group)
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="NLog" Version="4.6.6" />
|
<PackageReference Include="NLog" Version="4.6.6" />
|
||||||
|
@ -12,6 +11,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Mono.Posix">
|
<Reference Include="Mono.Posix">
|
||||||
<HintPath>..\Libraries\Mono.Posix.dll</HintPath>
|
<HintPath>..\Libraries\Mono.Posix.dll</HintPath>
|
||||||
|
<Private>false</Private>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNet.SignalR.SelfHost" Version="2.4.0" />
|
<PackageReference Include="Microsoft.AspNet.SignalR.SelfHost" Version="2.4.0" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentAssertions" Version="5.8.0" />
|
<PackageReference Include="FluentAssertions" Version="5.8.0" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Sonarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Sonarr.Test.Common.csproj" />
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="NLog" Version="4.6.6" />
|
<PackageReference Include="NLog" Version="4.6.6" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Common.Test\Sonarr.Common.Test.csproj" />
|
<ProjectReference Include="..\NzbDrone.Common.Test\Sonarr.Common.Test.csproj" />
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Security.AccessControl;
|
||||||
|
using System.Security.Principal;
|
||||||
using NLog;
|
using NLog;
|
||||||
using NzbDrone.Common.Disk;
|
using NzbDrone.Common.Disk;
|
||||||
using NzbDrone.Common.EnsureThat;
|
using NzbDrone.Common.EnsureThat;
|
||||||
|
@ -39,9 +42,50 @@ namespace NzbDrone.Windows.Disk
|
||||||
{
|
{
|
||||||
Ensure.That(filename, () => filename).IsValidPath();
|
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);
|
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)
|
public override void SetPermissions(string path, string mask, string user, string group)
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="NLog" Version="4.6.6" />
|
<PackageReference Include="NLog" Version="4.6.6" />
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
|
|
||||||
<ApplicationIcon>..\NzbDrone.Host\Sonarr.ico</ApplicationIcon>
|
<ApplicationIcon>..\NzbDrone.Host\Sonarr.ico</ApplicationIcon>
|
||||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net462</TargetFramework>
|
<Platforms>x64</Platforms>
|
||||||
<Platforms>x86</Platforms>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
<PackageReference Include="FluentValidation" Version="8.4.0" />
|
||||||
|
@ -16,8 +15,5 @@
|
||||||
<ProjectReference Include="..\NzbDrone.SignalR\Sonarr.SignalR.csproj" />
|
<ProjectReference Include="..\NzbDrone.SignalR\Sonarr.SignalR.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="System.Data.SQLite">
|
|
||||||
<HintPath>..\Libraries\Sqlite\System.Data.SQLite.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
312
src/Sonarr.sln
312
src/Sonarr.sln
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 15
|
# Visual Studio Version 16
|
||||||
VisualStudioVersion = 15.0.27130.2010
|
VisualStudioVersion = 16.0.29519.87
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Console", "NzbDrone.Console\Sonarr.Console.csproj", "{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Console", "NzbDrone.Console\Sonarr.Console.csproj", "{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
@ -53,6 +53,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Common", "NzbDrone.C
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{1E6B3CBE-1578-41C1-9BF9-78D818740BE9}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{1E6B3CBE-1578-41C1-9BF9-78D818740BE9}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
NuGet.config = NuGet.config
|
||||||
.nuget\NuGet.exe = .nuget\NuGet.exe
|
.nuget\NuGet.exe = .nuget\NuGet.exe
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
@ -99,191 +100,130 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Host.Test", "NzbDron
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|x86 = Debug|x86
|
Debug|x64 = Debug|x64
|
||||||
Mono|x86 = Mono|x86
|
Release|x64 = Release|x64
|
||||||
Release|x86 = Release|x86
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|x86.ActiveCfg = Debug|x86
|
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|x86.Build.0 = Debug|x86
|
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|x64.Build.0 = Debug|x64
|
||||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Mono|x86.ActiveCfg = Release|x86
|
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|x64.ActiveCfg = Release|x64
|
||||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Mono|x86.Build.0 = Release|x86
|
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|x64.Build.0 = Release|x64
|
||||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|x86.ActiveCfg = Release|x86
|
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|x86.Build.0 = Release|x86
|
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x64.Build.0 = Debug|x64
|
||||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x86.ActiveCfg = Debug|x86
|
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x64.ActiveCfg = Release|x64
|
||||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|x86.Build.0 = Debug|x86
|
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x64.Build.0 = Release|x64
|
||||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Mono|x86.ActiveCfg = Release|x86
|
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Mono|x86.Build.0 = Release|x86
|
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|x64.Build.0 = Debug|x64
|
||||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x86.ActiveCfg = Release|x86
|
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x64.ActiveCfg = Release|x64
|
||||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|x86.Build.0 = Release|x86
|
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x64.Build.0 = Release|x64
|
||||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|x86.ActiveCfg = Debug|x86
|
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|x86.Build.0 = Debug|x86
|
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|x64.Build.0 = Debug|x64
|
||||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Mono|x86.ActiveCfg = Release|x86
|
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x64.ActiveCfg = Release|x64
|
||||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Mono|x86.Build.0 = Release|x86
|
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x64.Build.0 = Release|x64
|
||||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x86.ActiveCfg = Release|x86
|
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|x86.Build.0 = Release|x86
|
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|x64.Build.0 = Debug|x64
|
||||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|x86.ActiveCfg = Debug|x86
|
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|x64.ActiveCfg = Release|x64
|
||||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|x86.Build.0 = Debug|x86
|
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|x64.Build.0 = Release|x64
|
||||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Mono|x86.ActiveCfg = Release|x86
|
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Mono|x86.Build.0 = Release|x86
|
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|x64.Build.0 = Debug|x64
|
||||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x86.ActiveCfg = Release|x86
|
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|x64.ActiveCfg = Release|x64
|
||||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|x86.Build.0 = Release|x86
|
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|x64.Build.0 = Release|x64
|
||||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|x86.ActiveCfg = Debug|x86
|
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|x86.Build.0 = Debug|x86
|
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|x64.Build.0 = Debug|x64
|
||||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Mono|x86.ActiveCfg = Release|x86
|
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|x64.ActiveCfg = Release|x64
|
||||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Mono|x86.Build.0 = Release|x86
|
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|x64.Build.0 = Release|x64
|
||||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|x86.ActiveCfg = Release|x86
|
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|x86.Build.0 = Release|x86
|
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|x64.Build.0 = Debug|x64
|
||||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|x86.ActiveCfg = Debug|x86
|
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|x64.ActiveCfg = Release|x64
|
||||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|x86.Build.0 = Debug|x86
|
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|x64.Build.0 = Release|x64
|
||||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Mono|x86.ActiveCfg = Release|x86
|
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Mono|x86.Build.0 = Release|x86
|
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|x64.Build.0 = Debug|x64
|
||||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|x86.ActiveCfg = Release|x86
|
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|x64.ActiveCfg = Release|x64
|
||||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|x86.Build.0 = Release|x86
|
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|x64.Build.0 = Release|x64
|
||||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|x86.ActiveCfg = Debug|x86
|
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|x86.Build.0 = Debug|x86
|
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|x64.Build.0 = Debug|x64
|
||||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Mono|x86.ActiveCfg = Release|x86
|
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|x64.ActiveCfg = Release|x64
|
||||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Mono|x86.Build.0 = Release|x86
|
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|x64.Build.0 = Release|x64
|
||||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|x86.ActiveCfg = Release|x86
|
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|x86.Build.0 = Release|x86
|
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|x64.Build.0 = Debug|x64
|
||||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|x86.ActiveCfg = Debug|x86
|
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|x64.ActiveCfg = Release|x64
|
||||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|x86.Build.0 = Debug|x86
|
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|x64.Build.0 = Release|x64
|
||||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Mono|x86.ActiveCfg = Release|x86
|
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Mono|x86.Build.0 = Release|x86
|
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|x64.Build.0 = Debug|x64
|
||||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|x86.ActiveCfg = Release|x86
|
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|x64.ActiveCfg = Release|x64
|
||||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|x86.Build.0 = Release|x86
|
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|x64.Build.0 = Release|x64
|
||||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|x86.ActiveCfg = Debug|x86
|
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|x86.Build.0 = Debug|x86
|
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|x64.Build.0 = Debug|x64
|
||||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Mono|x86.ActiveCfg = Release|x86
|
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|x64.ActiveCfg = Release|x64
|
||||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Mono|x86.Build.0 = Release|x86
|
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|x64.Build.0 = Release|x64
|
||||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|x86.ActiveCfg = Release|x86
|
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|x86.Build.0 = Release|x86
|
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|x64.Build.0 = Debug|x64
|
||||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|x86.ActiveCfg = Debug|x86
|
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|x64.ActiveCfg = Release|x64
|
||||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|x86.Build.0 = Debug|x86
|
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|x64.Build.0 = Release|x64
|
||||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Mono|x86.ActiveCfg = Release|x86
|
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Mono|x86.Build.0 = Release|x86
|
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|x64.Build.0 = Debug|x64
|
||||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|x86.ActiveCfg = Release|x86
|
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|x64.ActiveCfg = Release|x64
|
||||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|x86.Build.0 = Release|x86
|
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|x64.Build.0 = Release|x64
|
||||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|x86.ActiveCfg = Debug|x86
|
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|x86.Build.0 = Debug|x86
|
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x64.Build.0 = Debug|x64
|
||||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Mono|x86.ActiveCfg = Release|x86
|
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x64.ActiveCfg = Release|x64
|
||||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Mono|x86.Build.0 = Release|x86
|
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x64.Build.0 = Release|x64
|
||||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|x86.ActiveCfg = Release|x86
|
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|x86.Build.0 = Release|x86
|
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|x64.Build.0 = Debug|x64
|
||||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|x86.ActiveCfg = Debug|x86
|
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|x64.ActiveCfg = Release|x64
|
||||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|x86.Build.0 = Debug|x86
|
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|x64.Build.0 = Release|x64
|
||||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Mono|x86.ActiveCfg = Release|x86
|
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Mono|x86.Build.0 = Release|x86
|
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|x64.Build.0 = Debug|x64
|
||||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|x86.ActiveCfg = Release|x86
|
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|x64.ActiveCfg = Release|x64
|
||||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|x86.Build.0 = Release|x86
|
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|x64.Build.0 = Release|x64
|
||||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|x86.ActiveCfg = Debug|x86
|
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|x86.Build.0 = Debug|x86
|
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|x64.Build.0 = Debug|x64
|
||||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Mono|x86.ActiveCfg = Release|x86
|
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|x64.ActiveCfg = Release|x64
|
||||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Mono|x86.Build.0 = Release|x86
|
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|x64.Build.0 = Release|x64
|
||||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|x86.ActiveCfg = Release|x86
|
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|x86.Build.0 = Release|x86
|
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Debug|x64.Build.0 = Debug|x64
|
||||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|x86.ActiveCfg = Debug|x86
|
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Release|x64.ActiveCfg = Release|x64
|
||||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|x86.Build.0 = Debug|x86
|
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Release|x64.Build.0 = Release|x64
|
||||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Mono|x86.ActiveCfg = Release|x86
|
{15AD7579-A314-4626-B556-663F51D97CD1}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Mono|x86.Build.0 = Release|x86
|
{15AD7579-A314-4626-B556-663F51D97CD1}.Debug|x64.Build.0 = Debug|x64
|
||||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|x86.ActiveCfg = Release|x86
|
{15AD7579-A314-4626-B556-663F51D97CD1}.Release|x64.ActiveCfg = Release|x64
|
||||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|x86.Build.0 = Release|x86
|
{15AD7579-A314-4626-B556-663F51D97CD1}.Release|x64.Build.0 = Release|x64
|
||||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|x86.ActiveCfg = Debug|x86
|
{911284D3-F130-459E-836C-2430B6FBF21D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|x86.Build.0 = Debug|x86
|
{911284D3-F130-459E-836C-2430B6FBF21D}.Debug|x64.Build.0 = Debug|x64
|
||||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Mono|x86.ActiveCfg = Release|x86
|
{911284D3-F130-459E-836C-2430B6FBF21D}.Release|x64.ActiveCfg = Release|x64
|
||||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Mono|x86.Build.0 = Release|x86
|
{911284D3-F130-459E-836C-2430B6FBF21D}.Release|x64.Build.0 = Release|x64
|
||||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|x86.ActiveCfg = Release|x86
|
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|x86.Build.0 = Release|x86
|
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|x64.Build.0 = Debug|x64
|
||||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x86.ActiveCfg = Debug|x86
|
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|x64.ActiveCfg = Release|x64
|
||||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x86.Build.0 = Debug|x86
|
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|x64.Build.0 = Release|x64
|
||||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Mono|x86.ActiveCfg = Release|x86
|
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Mono|x86.Build.0 = Release|x86
|
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|x64.Build.0 = Debug|x64
|
||||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x86.ActiveCfg = Release|x86
|
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|x64.ActiveCfg = Release|x64
|
||||||
{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x86.Build.0 = Release|x86
|
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|x64.Build.0 = Release|x64
|
||||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|x86.ActiveCfg = Debug|x86
|
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|x86.Build.0 = Debug|x86
|
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Debug|x64.Build.0 = Debug|x64
|
||||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Mono|x86.ActiveCfg = Release|x86
|
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Release|x64.ActiveCfg = Release|x64
|
||||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Mono|x86.Build.0 = Release|x86
|
{411A9E0E-FDC6-4E25-828A-0C2CD1CD96F8}.Release|x64.Build.0 = Release|x64
|
||||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|x86.ActiveCfg = Release|x86
|
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|x86.Build.0 = Release|x86
|
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Debug|x64.Build.0 = Debug|x64
|
||||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|x86.ActiveCfg = Debug|x86
|
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Release|x64.ActiveCfg = Release|x64
|
||||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|x86.Build.0 = Debug|x86
|
{90D6E9FC-7B88-4E1B-B018-8FA742274558}.Release|x64.Build.0 = Release|x64
|
||||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Mono|x86.ActiveCfg = Release|x86
|
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Mono|x86.Build.0 = Release|x86
|
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Debug|x64.Build.0 = Debug|x64
|
||||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|x86.ActiveCfg = Release|x86
|
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Release|x64.ActiveCfg = Release|x64
|
||||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|x86.Build.0 = Release|x86
|
{9DC31DE3-79FF-47A8-96B4-6BA18F6BB1CB}.Release|x64.Build.0 = Release|x64
|
||||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|x86.ActiveCfg = Debug|x86
|
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|x86.Build.0 = Debug|x86
|
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|x64.Build.0 = Debug|x64
|
||||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Mono|x86.ActiveCfg = Release|x86
|
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|x64.ActiveCfg = Release|x64
|
||||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Mono|x86.Build.0 = Release|x86
|
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|x64.Build.0 = Release|x64
|
||||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|x86.ActiveCfg = Release|x86
|
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|x86.Build.0 = Release|x86
|
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|x64.Build.0 = Debug|x64
|
||||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Debug|x86.ActiveCfg = Debug|x86
|
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|x64.ActiveCfg = Release|x64
|
||||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Debug|x86.Build.0 = Debug|x86
|
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|x64.Build.0 = Release|x64
|
||||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Mono|x86.ActiveCfg = Release|x86
|
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Mono|x86.Build.0 = Release|x86
|
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|x64.Build.0 = Debug|x64
|
||||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Release|x86.ActiveCfg = Release|x86
|
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|x64.ActiveCfg = Release|x64
|
||||||
{F6FC6BE7-0847-4817-A1ED-223DC647C3D7}.Release|x86.Build.0 = Release|x86
|
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|x64.Build.0 = Release|x64
|
||||||
{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
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -317,8 +257,8 @@ Global
|
||||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5} = {57A04B72-8088-4F75-A582-1158CF8291F7}
|
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5} = {57A04B72-8088-4F75-A582-1158CF8291F7}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
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}
|
SolutionGuid = {2955716E-0882-41EC-935D-C95694C5C30F}
|
||||||
|
EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35;packages\Unity.2.1.505.2\lib\NET35
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(MonoDevelopProperties) = preSolution
|
GlobalSection(MonoDevelopProperties) = preSolution
|
||||||
StartupItem = NzbDrone.Console\NzbDrone.Console.csproj
|
StartupItem = NzbDrone.Console\NzbDrone.Console.csproj
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue