mirror of
https://github.com/lidarr/lidarr.git
synced 2025-07-05 20:42:19 -07:00
Assembly Naming, Default Windows Service Account
This commit is contained in:
parent
f1b1904e07
commit
10c29a65db
62 changed files with 219 additions and 155 deletions
|
@ -136,8 +136,8 @@ Task("PackageMono").Does(() => {
|
||||||
DeleteFiles(outputFolderMono + "/sqlite3.*");
|
DeleteFiles(outputFolderMono + "/sqlite3.*");
|
||||||
DeleteFiles(outputFolderMono + "/MediaInfo.*");
|
DeleteFiles(outputFolderMono + "/MediaInfo.*");
|
||||||
|
|
||||||
// Adding NzbDrone.Core.dll.config (for dllmap)
|
// Adding Lidarr.Core.dll.config (for dllmap)
|
||||||
CopyFile(sourceFolder + "/NzbDrone.Core/NzbDrone.Core.dll.config", outputFolderMono + "/NzbDrone.Core.dll.config");
|
CopyFile(sourceFolder + "/NzbDrone.Core/Lidarr.Core.dll.config", outputFolderMono + "/Lidarr.Core.dll.config");
|
||||||
|
|
||||||
// Adding CurlSharp.dll.config (for dllmap)
|
// Adding CurlSharp.dll.config (for dllmap)
|
||||||
CopyFile(sourceFolder + "/NzbDrone.Common/CurlSharp.dll.config", outputFolderMono + "/CurlSharp.dll.config");
|
CopyFile(sourceFolder + "/NzbDrone.Common/CurlSharp.dll.config", outputFolderMono + "/CurlSharp.dll.config");
|
||||||
|
@ -148,11 +148,11 @@ Task("PackageMono").Does(() => {
|
||||||
MoveFile(outputFolderMono + "/Lidarr.Console.exe.config", outputFolderMono + "/Lidarr.exe.config");
|
MoveFile(outputFolderMono + "/Lidarr.Console.exe.config", outputFolderMono + "/Lidarr.exe.config");
|
||||||
MoveFile(outputFolderMono + "/Lidarr.Console.exe.mdb", outputFolderMono + "/Lidarr.exe.mdb");
|
MoveFile(outputFolderMono + "/Lidarr.Console.exe.mdb", outputFolderMono + "/Lidarr.exe.mdb");
|
||||||
|
|
||||||
// Remove NzbDrone.Windows.*
|
// Remove Lidarr.Windows.*
|
||||||
DeleteFiles(outputFolderMono + "/NzbDrone.Windows.*");
|
DeleteFiles(outputFolderMono + "/Lidarr.Windows.*");
|
||||||
|
|
||||||
// Adding NzbDrone.Mono to updatePackage
|
// Adding Lidarr.Mono to updatePackage
|
||||||
CopyFiles(outputFolderMono + "/NzbDrone.Mono.*", updateFolderMono);
|
CopyFiles(outputFolderMono + "/Lidarr.Mono.*", updateFolderMono);
|
||||||
});
|
});
|
||||||
|
|
||||||
Task("PackageOsx").Does(() => {
|
Task("PackageOsx").Does(() => {
|
||||||
|
@ -227,8 +227,8 @@ Task("PackageTests").Does(() => {
|
||||||
// Clean
|
// Clean
|
||||||
CleanFolder(testPackageFolder, true);
|
CleanFolder(testPackageFolder, true);
|
||||||
|
|
||||||
// Adding NzbDrone.Core.dll.config (for dllmap)
|
// Adding Lidarr.Core.dll.config (for dllmap)
|
||||||
CopyFile(sourceFolder + "/NzbDrone.Core/NzbDrone.Core.dll.config", testPackageFolder + "/NzbDrone.Core.dll.config");
|
CopyFile(sourceFolder + "/NzbDrone.Core/Lidarr.Core.dll.config", testPackageFolder + "/Lidarr.Core.dll.config");
|
||||||
|
|
||||||
// Adding CurlSharp.dll.config (for dllmap)
|
// Adding CurlSharp.dll.config (for dllmap)
|
||||||
CopyFile(sourceFolder + "/NzbDrone.Common/CurlSharp.dll.config", testPackageFolder + "/CurlSharp.dll.config");
|
CopyFile(sourceFolder + "/NzbDrone.Common/CurlSharp.dll.config", testPackageFolder + "/CurlSharp.dll.config");
|
||||||
|
@ -239,10 +239,10 @@ Task("PackageTests").Does(() => {
|
||||||
|
|
||||||
Task("CleanupWindowsPackage").Does(() => {
|
Task("CleanupWindowsPackage").Does(() => {
|
||||||
// Remove mono
|
// Remove mono
|
||||||
DeleteFiles(outputFolder + "/NzbDrone.Mono.*");
|
DeleteFiles(outputFolder + "/Lidarr.Mono.*");
|
||||||
|
|
||||||
// Adding NzbDrone.Windows to updatePackage
|
// Adding Lidarr.Windows to updatePackage
|
||||||
CopyFiles(outputFolder + "/NzbDrone.Windows.*", updateFolder);
|
CopyFiles(outputFolder + "/Lidarr.Windows.*", updateFolder);
|
||||||
});
|
});
|
||||||
|
|
||||||
Task("Build")
|
Task("Build")
|
||||||
|
|
24
build.sh
24
build.sh
|
@ -158,8 +158,8 @@ PackageMono()
|
||||||
rm -f $outputFolderMono/sqlite3.*
|
rm -f $outputFolderMono/sqlite3.*
|
||||||
rm -f $outputFolderMono/MediaInfo.*
|
rm -f $outputFolderMono/MediaInfo.*
|
||||||
|
|
||||||
echo "Adding NzbDrone.Core.dll.config (for dllmap)"
|
echo "Adding Lidarr.Core.dll.config (for dllmap)"
|
||||||
cp $sourceFolder/NzbDrone.Core/NzbDrone.Core.dll.config $outputFolderMono
|
cp $sourceFolder/NzbDrone.Core/Lidarr.Core.dll.config $outputFolderMono
|
||||||
|
|
||||||
echo "Adding CurlSharp.dll.config (for dllmap)"
|
echo "Adding CurlSharp.dll.config (for dllmap)"
|
||||||
cp $sourceFolder/NzbDrone.Common/CurlSharp.dll.config $outputFolderMono
|
cp $sourceFolder/NzbDrone.Common/CurlSharp.dll.config $outputFolderMono
|
||||||
|
@ -170,11 +170,11 @@ PackageMono()
|
||||||
mv "$file" "${file//.Console/}"
|
mv "$file" "${file//.Console/}"
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "Removing NzbDrone.Windows"
|
echo "Removing Lidarr.Windows"
|
||||||
rm $outputFolderMono/NzbDrone.Windows.*
|
rm $outputFolderMono/Lidarr.Windows.*
|
||||||
|
|
||||||
echo "Adding NzbDrone.Mono to UpdatePackage"
|
echo "Adding Lidarr.Mono to UpdatePackage"
|
||||||
cp $outputFolderMono/NzbDrone.Mono.* $updateFolderMono
|
cp $outputFolderMono/Lidarr.Mono.* $updateFolderMono
|
||||||
|
|
||||||
echo "##teamcity[progressFinish 'Creating Mono Package']"
|
echo "##teamcity[progressFinish 'Creating Mono Package']"
|
||||||
}
|
}
|
||||||
|
@ -234,8 +234,8 @@ PackageTests()
|
||||||
|
|
||||||
CleanFolder $testPackageFolder true
|
CleanFolder $testPackageFolder true
|
||||||
|
|
||||||
echo "Adding NzbDrone.Core.dll.config (for dllmap)"
|
echo "Adding Lidarr.Core.dll.config (for dllmap)"
|
||||||
cp $sourceFolder/NzbDrone.Core/NzbDrone.Core.dll.config $testPackageFolder
|
cp $sourceFolder/NzbDrone.Core/Lidarr.Core.dll.config $testPackageFolder
|
||||||
|
|
||||||
echo "Adding CurlSharp.dll.config (for dllmap)"
|
echo "Adding CurlSharp.dll.config (for dllmap)"
|
||||||
cp $sourceFolder/NzbDrone.Common/CurlSharp.dll.config $testPackageFolder
|
cp $sourceFolder/NzbDrone.Common/CurlSharp.dll.config $testPackageFolder
|
||||||
|
@ -248,11 +248,11 @@ PackageTests()
|
||||||
|
|
||||||
CleanupWindowsPackage()
|
CleanupWindowsPackage()
|
||||||
{
|
{
|
||||||
echo "Removing NzbDrone.Mono"
|
echo "Removing Lidarr.Mono"
|
||||||
rm -f $outputFolder/NzbDrone.Mono.*
|
rm -f $outputFolder/Lidarr.Mono.*
|
||||||
|
|
||||||
echo "Adding NzbDrone.Windows to UpdatePackage"
|
echo "Adding Lidarr.Windows to UpdatePackage"
|
||||||
cp $outputFolder/NzbDrone.Windows.* $updateFolder
|
cp $outputFolder/Lidarr.Windows.* $updateFolder
|
||||||
}
|
}
|
||||||
|
|
||||||
# Use mono or .net depending on OS
|
# Use mono or .net depending on OS
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
REM SET BUILD_NUMBER=1
|
REM SET BUILD_NUMBER=1
|
||||||
REM SET branch=develop
|
REM SET branch=develop
|
||||||
inno\ISCC.exe nzbdrone.iss
|
inno\ISCC.exe lidarr.iss
|
|
@ -6,7 +6,7 @@
|
||||||
#define AppURL "https://lidarr.audio/"
|
#define AppURL "https://lidarr.audio/"
|
||||||
#define ForumsURL "https://forums.lidarr.audio/"
|
#define ForumsURL "https://forums.lidarr.audio/"
|
||||||
#define AppExeName "Lidarr.exe"
|
#define AppExeName "Lidarr.exe"
|
||||||
#define BuildNumber "2.0"
|
#define BuildNumber "0.3"
|
||||||
#define BuildNumber GetEnv('BUILD_NUMBER')
|
#define BuildNumber GetEnv('BUILD_NUMBER')
|
||||||
#define BranchName GetEnv('branch')
|
#define BranchName GetEnv('branch')
|
||||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Ical.Net;
|
using Ical.Net;
|
||||||
using Ical.Net.DataTypes;
|
using Ical.Net.DataTypes;
|
||||||
|
using Ical.Net.General;
|
||||||
using Ical.Net.Interfaces.Serialization;
|
using Ical.Net.Interfaces.Serialization;
|
||||||
using Ical.Net.Serialization;
|
using Ical.Net.Serialization;
|
||||||
using Ical.Net.Serialization.iCalendar.Factory;
|
using Ical.Net.Serialization.iCalendar.Factory;
|
||||||
|
@ -67,6 +68,9 @@ namespace Lidarr.Api.V3.Calendar
|
||||||
ProductId = "-//lidarr.audio//Lidarr//EN"
|
ProductId = "-//lidarr.audio//Lidarr//EN"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var calendarName = "Lidarr Music Schedule";
|
||||||
|
calendar.AddProperty(new CalendarProperty("NAME", calendarName));
|
||||||
|
calendar.AddProperty(new CalendarProperty("X-WR-CALNAME", calendarName));
|
||||||
|
|
||||||
foreach (var album in albums.OrderBy(v => v.ReleaseDate.Value))
|
foreach (var album in albums.OrderBy(v => v.ReleaseDate.Value))
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
[assembly: AssemblyTitle("NzbDrone.Api")]
|
[assembly: AssemblyTitle("Lidarr.Api")]
|
||||||
|
|
||||||
[assembly: Guid("4c0922d7-979e-4ff7-b44b-b8ac2100eeb5")]
|
[assembly: Guid("4c0922d7-979e-4ff7-b44b-b8ac2100eeb5")]
|
||||||
|
|
||||||
[assembly: InternalsVisibleTo("NzbDrone.Core")]
|
[assembly: InternalsVisibleTo("Lidarr.Core")]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Api.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Api.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Api.Test</AssemblyName>
|
<AssemblyName>Lidarr.Api.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Api.Test")]
|
[assembly: AssemblyTitle("Lidarr.Api.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Api.Test")]
|
[assembly: AssemblyProduct("Lidarr.Api.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2013")]
|
[assembly: AssemblyCopyright("Copyright © 2013")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.App.Test</RootNamespace>
|
<RootNamespace>NzbDrone.App.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.App.Test</AssemblyName>
|
<AssemblyName>Lidarr.App.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.App.Test")]
|
[assembly: AssemblyTitle("Lidarr.App.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Microsoft")]
|
[assembly: AssemblyCompany("Microsoft")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.App.Test")]
|
[assembly: AssemblyProduct("Lidarr.App.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -3,6 +3,7 @@ using Moq;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Common;
|
using NzbDrone.Common;
|
||||||
using NzbDrone.Common.EnvironmentInfo;
|
using NzbDrone.Common.EnvironmentInfo;
|
||||||
|
using NzbDrone.Common.Processes;
|
||||||
using NzbDrone.Host;
|
using NzbDrone.Host;
|
||||||
using NzbDrone.Test.Common;
|
using NzbDrone.Test.Common;
|
||||||
|
|
||||||
|
@ -22,9 +23,12 @@ namespace NzbDrone.App.Test
|
||||||
public void Route_should_call_install_service_when_application_mode_is_install()
|
public void Route_should_call_install_service_when_application_mode_is_install()
|
||||||
{
|
{
|
||||||
var serviceProviderMock = Mocker.GetMock<IServiceProvider>(MockBehavior.Strict);
|
var serviceProviderMock = Mocker.GetMock<IServiceProvider>(MockBehavior.Strict);
|
||||||
serviceProviderMock.Setup(c => c.Install(ServiceProvider.SERVICE_NAME));
|
|
||||||
serviceProviderMock.Setup(c => c.ServiceExist(ServiceProvider.SERVICE_NAME)).Returns(false);
|
serviceProviderMock.Setup(c => c.ServiceExist(ServiceProvider.SERVICE_NAME)).Returns(false);
|
||||||
serviceProviderMock.Setup(c => c.Start(ServiceProvider.SERVICE_NAME));
|
serviceProviderMock.Setup(c => c.Install(ServiceProvider.SERVICE_NAME));
|
||||||
|
serviceProviderMock.Setup(c => c.SetPermissions(ServiceProvider.SERVICE_NAME));
|
||||||
|
|
||||||
|
Mocker.GetMock<IProcessProvider>()
|
||||||
|
.Setup(c => c.SpawnNewProcess("sc.exe", It.IsAny<string>(), null, true));
|
||||||
Mocker.GetMock<IRuntimeInfo>().SetupGet(c => c.IsUserInteractive).Returns(true);
|
Mocker.GetMock<IRuntimeInfo>().SetupGet(c => c.IsUserInteractive).Returns(true);
|
||||||
|
|
||||||
Subject.Route(ApplicationModes.InstallService);
|
Subject.Route(ApplicationModes.InstallService);
|
||||||
|
@ -37,13 +41,13 @@ namespace NzbDrone.App.Test
|
||||||
public void Route_should_call_uninstall_service_when_application_mode_is_uninstall()
|
public void Route_should_call_uninstall_service_when_application_mode_is_uninstall()
|
||||||
{
|
{
|
||||||
var serviceProviderMock = Mocker.GetMock<IServiceProvider>();
|
var serviceProviderMock = Mocker.GetMock<IServiceProvider>();
|
||||||
serviceProviderMock.Setup(c => c.UnInstall(ServiceProvider.SERVICE_NAME));
|
serviceProviderMock.Setup(c => c.Uninstall(ServiceProvider.SERVICE_NAME));
|
||||||
Mocker.GetMock<IRuntimeInfo>().SetupGet(c => c.IsUserInteractive).Returns(true);
|
Mocker.GetMock<IRuntimeInfo>().SetupGet(c => c.IsUserInteractive).Returns(true);
|
||||||
serviceProviderMock.Setup(c => c.ServiceExist(ServiceProvider.SERVICE_NAME)).Returns(true);
|
serviceProviderMock.Setup(c => c.ServiceExist(ServiceProvider.SERVICE_NAME)).Returns(true);
|
||||||
|
|
||||||
Subject.Route(ApplicationModes.UninstallService);
|
Subject.Route(ApplicationModes.UninstallService);
|
||||||
|
|
||||||
serviceProviderMock.Verify(c => c.UnInstall(ServiceProvider.SERVICE_NAME), Times.Once());
|
serviceProviderMock.Verify(c => c.Uninstall(ServiceProvider.SERVICE_NAME), Times.Once());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Automation.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Automation.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Automation.Test</AssemblyName>
|
<AssemblyName>Lidarr.Automation.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Automation.Test")]
|
[assembly: AssemblyTitle("Lidarr.Automation.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Automation.Test")]
|
[assembly: AssemblyProduct("Lidarr.Automation.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2013")]
|
[assembly: AssemblyCopyright("Copyright © 2013")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Common.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Common.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Common.Test</AssemblyName>
|
<AssemblyName>Lidarr.Common.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using FluentAssertions;
|
using FluentAssertions;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Common.Reflection;
|
using NzbDrone.Common.Reflection;
|
||||||
|
@ -12,7 +12,7 @@ namespace NzbDrone.Common.Test.ReflectionTests
|
||||||
[Test]
|
[Test]
|
||||||
public void should_get_properties_from_models()
|
public void should_get_properties_from_models()
|
||||||
{
|
{
|
||||||
var models = Assembly.Load("NzbDrone.Core").ImplementationsOf<ModelBase>();
|
var models = Assembly.Load("Lidarr.Core").ImplementationsOf<ModelBase>();
|
||||||
|
|
||||||
foreach (var model in models)
|
foreach (var model in models)
|
||||||
{
|
{
|
||||||
|
@ -23,9 +23,9 @@ namespace NzbDrone.Common.Test.ReflectionTests
|
||||||
[Test]
|
[Test]
|
||||||
public void should_be_able_to_get_implementations()
|
public void should_be_able_to_get_implementations()
|
||||||
{
|
{
|
||||||
var models = Assembly.Load("NzbDrone.Core").ImplementationsOf<ModelBase>();
|
var models = Assembly.Load("Lidarr.Core").ImplementationsOf<ModelBase>();
|
||||||
|
|
||||||
models.Should().NotBeEmpty();
|
models.Should().NotBeEmpty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace NzbDrone.Common.Test
|
||||||
{
|
{
|
||||||
if (Subject.ServiceExist(TEMP_SERVICE_NAME))
|
if (Subject.ServiceExist(TEMP_SERVICE_NAME))
|
||||||
{
|
{
|
||||||
Subject.UnInstall(TEMP_SERVICE_NAME);
|
Subject.Uninstall(TEMP_SERVICE_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Subject.IsServiceRunning(ALWAYS_INSTALLED_SERVICE))
|
if (Subject.IsServiceRunning(ALWAYS_INSTALLED_SERVICE))
|
||||||
|
@ -65,7 +65,7 @@ namespace NzbDrone.Common.Test
|
||||||
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse("Service already installed");
|
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse("Service already installed");
|
||||||
Subject.Install(TEMP_SERVICE_NAME);
|
Subject.Install(TEMP_SERVICE_NAME);
|
||||||
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeTrue();
|
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeTrue();
|
||||||
Subject.UnInstall(TEMP_SERVICE_NAME);
|
Subject.Uninstall(TEMP_SERVICE_NAME);
|
||||||
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse();
|
Subject.ServiceExist(TEMP_SERVICE_NAME).Should().BeFalse();
|
||||||
|
|
||||||
ExceptionVerification.ExpectedWarns(1);
|
ExceptionVerification.ExpectedWarns(1);
|
||||||
|
@ -76,7 +76,7 @@ namespace NzbDrone.Common.Test
|
||||||
[ManualTest]
|
[ManualTest]
|
||||||
public void UnInstallService()
|
public void UnInstallService()
|
||||||
{
|
{
|
||||||
Subject.UnInstall(ServiceProvider.SERVICE_NAME);
|
Subject.Uninstall(ServiceProvider.SERVICE_NAME);
|
||||||
Subject.ServiceExist(ServiceProvider.SERVICE_NAME).Should().BeFalse();
|
Subject.ServiceExist(ServiceProvider.SERVICE_NAME).Should().BeFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -18,8 +18,8 @@ namespace NzbDrone.Common.Composition
|
||||||
{
|
{
|
||||||
_loadedTypes = new List<Type>();
|
_loadedTypes = new List<Type>();
|
||||||
|
|
||||||
assemblies.Add(OsInfo.IsWindows ? "NzbDrone.Windows" : "NzbDrone.Mono");
|
assemblies.Add(OsInfo.IsWindows ? "Lidarr.Windows" : "Lidarr.Mono");
|
||||||
assemblies.Add("NzbDrone.Common");
|
assemblies.Add("Lidarr.Common");
|
||||||
|
|
||||||
foreach (var assembly in assemblies)
|
foreach (var assembly in assemblies)
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,6 +30,8 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||||
if (entry != null)
|
if (entry != null)
|
||||||
{
|
{
|
||||||
ExecutingApplication = entry.Location;
|
ExecutingApplication = entry.Location;
|
||||||
|
IsWindowsTray = OsInfo.IsWindows && entry.ManifestModule.Name == $"{ProcessProvider.LIDARR_PROCESS_NAME}.exe";
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,5 +148,7 @@ namespace NzbDrone.Common.EnvironmentInfo
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsWindowsTray { get; private set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Common</RootNamespace>
|
<RootNamespace>NzbDrone.Common</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Common</AssemblyName>
|
<AssemblyName>Lidarr.Common</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
|
@ -27,7 +27,7 @@ namespace NzbDrone.Common.Processes
|
||||||
bool Exists(string processName);
|
bool Exists(string processName);
|
||||||
ProcessPriorityClass GetCurrentProcessPriority();
|
ProcessPriorityClass GetCurrentProcessPriority();
|
||||||
Process Start(string path, string args = null, StringDictionary environmentVariables = null, Action<string> onOutputDataReceived = null, Action<string> onErrorDataReceived = null);
|
Process Start(string path, string args = null, StringDictionary environmentVariables = null, Action<string> onOutputDataReceived = null, Action<string> onErrorDataReceived = null);
|
||||||
Process SpawnNewProcess(string path, string args = null, StringDictionary environmentVariables = null);
|
Process SpawnNewProcess(string path, string args = null, StringDictionary environmentVariables = null, bool noWindow = false);
|
||||||
ProcessOutput StartAndCapture(string path, string args = null, StringDictionary environmentVariables = null);
|
ProcessOutput StartAndCapture(string path, string args = null, StringDictionary environmentVariables = null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ namespace NzbDrone.Common.Processes
|
||||||
return process;
|
return process;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Process SpawnNewProcess(string path, string args = null, StringDictionary environmentVariables = null)
|
public Process SpawnNewProcess(string path, string args = null, StringDictionary environmentVariables = null, bool noWindow = false)
|
||||||
{
|
{
|
||||||
if (PlatformInfo.IsMono && path.EndsWith(".exe", StringComparison.InvariantCultureIgnoreCase))
|
if (PlatformInfo.IsMono && path.EndsWith(".exe", StringComparison.InvariantCultureIgnoreCase))
|
||||||
{
|
{
|
||||||
|
@ -183,6 +183,9 @@ namespace NzbDrone.Common.Processes
|
||||||
_logger.Debug("Starting {0} {1}", path, args);
|
_logger.Debug("Starting {0} {1}", path, args);
|
||||||
|
|
||||||
var startInfo = new ProcessStartInfo(path, args);
|
var startInfo = new ProcessStartInfo(path, args);
|
||||||
|
startInfo.CreateNoWindow = noWindow;
|
||||||
|
startInfo.UseShellExecute = !noWindow;
|
||||||
|
|
||||||
var process = new Process
|
var process = new Process
|
||||||
{
|
{
|
||||||
StartInfo = startInfo
|
StartInfo = startInfo
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Common")]
|
[assembly: AssemblyTitle("Lidarr.Common")]
|
||||||
|
|
||||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
[assembly: Guid("b6eaa144-e13b-42e5-a738-c60d89c0f728")]
|
[assembly: Guid("b6eaa144-e13b-42e5-a738-c60d89c0f728")]
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// Gets updated at build time by TeamCity to branch name
|
// Gets updated at build time by TeamCity to branch name
|
||||||
[assembly: AssemblyConfiguration("debug")]
|
[assembly: AssemblyConfiguration("debug")]
|
||||||
|
|
||||||
[assembly: AssemblyCompany("lidarr.audio")]
|
[assembly: AssemblyCompany("lidarr.audio")]
|
||||||
[assembly: AssemblyProduct("NzbDrone")]
|
[assembly: AssemblyProduct("Lidarr")]
|
||||||
[assembly: AssemblyVersion("10.0.0.*")]
|
[assembly: AssemblyVersion("10.0.0.*")]
|
||||||
[assembly: AssemblyCopyright("GNU General Public v3")]
|
[assembly: AssemblyCopyright("GNU General Public v3")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
@ -7,7 +7,7 @@ namespace NzbDrone.Common.Reflection
|
||||||
{
|
{
|
||||||
public static class ReflectionExtensions
|
public static class ReflectionExtensions
|
||||||
{
|
{
|
||||||
public static readonly Assembly CoreAssembly = Assembly.Load("NzbDrone.Core");
|
public static readonly Assembly CoreAssembly = Assembly.Load("Lidarr.Core");
|
||||||
|
|
||||||
public static List<PropertyInfo> GetSimpleProperties(this Type type)
|
public static List<PropertyInfo> GetSimpleProperties(this Type type)
|
||||||
{
|
{
|
||||||
|
@ -70,4 +70,4 @@ namespace NzbDrone.Common.Reflection
|
||||||
return type.GetCustomAttributes(typeof(TAttribute), true).Any();
|
return type.GetCustomAttributes(typeof(TAttribute), true).Any();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
using System.Configuration.Install;
|
using System.Configuration.Install;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.ServiceProcess;
|
using System.ServiceProcess;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
using NzbDrone.Common.Extensions;
|
||||||
using NzbDrone.Common.Processes;
|
using NzbDrone.Common.Processes;
|
||||||
|
|
||||||
namespace NzbDrone.Common
|
namespace NzbDrone.Common
|
||||||
|
@ -14,13 +15,14 @@ namespace NzbDrone.Common
|
||||||
bool ServiceExist(string name);
|
bool ServiceExist(string name);
|
||||||
bool IsServiceRunning(string name);
|
bool IsServiceRunning(string name);
|
||||||
void Install(string serviceName);
|
void Install(string serviceName);
|
||||||
void UnInstall(string serviceName);
|
void Uninstall(string serviceName);
|
||||||
void Run(ServiceBase service);
|
void Run(ServiceBase service);
|
||||||
ServiceController GetService(string serviceName);
|
ServiceController GetService(string serviceName);
|
||||||
void Stop(string serviceName);
|
void Stop(string serviceName);
|
||||||
void Start(string serviceName);
|
void Start(string serviceName);
|
||||||
ServiceControllerStatus GetStatus(string serviceName);
|
ServiceControllerStatus GetStatus(string serviceName);
|
||||||
void Restart(string serviceName);
|
void Restart(string serviceName);
|
||||||
|
void SetPermissions(string serviceName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ServiceProvider : IServiceProvider
|
public class ServiceProvider : IServiceProvider
|
||||||
|
@ -30,7 +32,6 @@ namespace NzbDrone.Common
|
||||||
private readonly IProcessProvider _processProvider;
|
private readonly IProcessProvider _processProvider;
|
||||||
private readonly Logger _logger;
|
private readonly Logger _logger;
|
||||||
|
|
||||||
|
|
||||||
public ServiceProvider(IProcessProvider processProvider, Logger logger)
|
public ServiceProvider(IProcessProvider processProvider, Logger logger)
|
||||||
{
|
{
|
||||||
_processProvider = processProvider;
|
_processProvider = processProvider;
|
||||||
|
@ -66,7 +67,7 @@ namespace NzbDrone.Common
|
||||||
|
|
||||||
var installer = new ServiceProcessInstaller
|
var installer = new ServiceProcessInstaller
|
||||||
{
|
{
|
||||||
Account = ServiceAccount.LocalSystem
|
Account = ServiceAccount.LocalService
|
||||||
};
|
};
|
||||||
|
|
||||||
var serviceInstaller = new ServiceInstaller();
|
var serviceInstaller = new ServiceInstaller();
|
||||||
|
@ -89,7 +90,7 @@ namespace NzbDrone.Common
|
||||||
_logger.Info("Service Has installed successfully.");
|
_logger.Info("Service Has installed successfully.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void UnInstall(string serviceName)
|
public virtual void Uninstall(string serviceName)
|
||||||
{
|
{
|
||||||
_logger.Info("Uninstalling {0} service", serviceName);
|
_logger.Info("Uninstalling {0} service", serviceName);
|
||||||
|
|
||||||
|
@ -189,5 +190,42 @@ namespace NzbDrone.Common
|
||||||
|
|
||||||
_processProvider.Start("cmd.exe", args);
|
_processProvider.Start("cmd.exe", args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetPermissions(string serviceName)
|
||||||
|
{
|
||||||
|
var dacls = GetServiceDacls(serviceName);
|
||||||
|
SetServiceDacls(serviceName, dacls);
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetServiceDacls(string serviceName)
|
||||||
|
{
|
||||||
|
var output = _processProvider.StartAndCapture("sc.exe", $"sdshow {serviceName}");
|
||||||
|
|
||||||
|
var dacls = output.Standard.Select(s => s.Content).Where(s => s.IsNotNullOrWhiteSpace()).ToList();
|
||||||
|
|
||||||
|
if (dacls.Count == 1)
|
||||||
|
{
|
||||||
|
return dacls[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new ArgumentException("Invalid DACL output");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetServiceDacls(string serviceName, string dacls)
|
||||||
|
{
|
||||||
|
const string authenticatedUsersDacl = "(A;;CCLCSWRPWPLOCRRC;;;AU)";
|
||||||
|
|
||||||
|
if (dacls.Contains(authenticatedUsersDacl))
|
||||||
|
{
|
||||||
|
// Permssions already set
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var indexOfS = dacls.IndexOf("S:", StringComparison.InvariantCultureIgnoreCase);
|
||||||
|
|
||||||
|
dacls = indexOfS == -1 ? $"{dacls}{authenticatedUsersDacl}" : dacls.Insert(indexOfS, authenticatedUsersDacl);
|
||||||
|
|
||||||
|
_processProvider.Start("sc.exe", $"sdset {serviceName} {dacls}").WaitForExit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Core.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Core.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Core.Test</AssemblyName>
|
<AssemblyName>Lidarr.Core.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
@ -6,11 +6,11 @@ using System.Runtime.InteropServices;
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
|
|
||||||
[assembly: AssemblyTitle("NzbDrone.Core.Test")]
|
[assembly: AssemblyTitle("Lidarr.Core.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Microsoft")]
|
[assembly: AssemblyCompany("Microsoft")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Core.Test")]
|
[assembly: AssemblyProduct("Lidarr.Core.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
|
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
@ -25,4 +25,4 @@ using System.Runtime.InteropServices;
|
||||||
|
|
||||||
[assembly: Guid("699aed1b-015e-4f0d-9c81-d5557b05d260")]
|
[assembly: Guid("699aed1b-015e-4f0d-9c81-d5557b05d260")]
|
||||||
|
|
||||||
[assembly: InternalsVisibleTo("NzbDrone.Core")]
|
[assembly: InternalsVisibleTo("Lidarr.Core")]
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Core</RootNamespace>
|
<RootNamespace>NzbDrone.Core</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Core</AssemblyName>
|
<AssemblyName>Lidarr.Core</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
|
@ -1059,7 +1059,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
<None Include="NzbDrone.Core.dll.config">
|
<None Include="Lidarr.Core.dll.config">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
@ -6,9 +6,9 @@ using System.Runtime.InteropServices;
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
|
|
||||||
[assembly: AssemblyTitle("NzbDrone.Core")]
|
[assembly: AssemblyTitle("Lidarr.Core")]
|
||||||
|
|
||||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
[assembly: Guid("3C29FEF7-4B07-49ED-822E-1C29DC49BFAB")]
|
[assembly: Guid("3C29FEF7-4B07-49ED-822E-1C29DC49BFAB")]
|
||||||
|
|
||||||
[assembly: InternalsVisibleTo("NzbDrone.Core.Test")]
|
[assembly: InternalsVisibleTo("Lidarr.Core.Test")]
|
||||||
|
|
|
@ -14,9 +14,9 @@ namespace NzbDrone.Host
|
||||||
{
|
{
|
||||||
var assemblies = new List<string>
|
var assemblies = new List<string>
|
||||||
{
|
{
|
||||||
"NzbDrone.Host",
|
"Lidarr.Host",
|
||||||
"NzbDrone.Core",
|
"Lidarr.Core",
|
||||||
"NzbDrone.SignalR",
|
"Lidarr.SignalR",
|
||||||
"Lidarr.Api.V3",
|
"Lidarr.Api.V3",
|
||||||
"Lidarr.Http"
|
"Lidarr.Http"
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Host</RootNamespace>
|
<RootNamespace>NzbDrone.Host</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Host</AssemblyName>
|
<AssemblyName>Lidarr.Host</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
using NLog;
|
using System;
|
||||||
|
using NLog;
|
||||||
using NzbDrone.Common;
|
using NzbDrone.Common;
|
||||||
|
using NzbDrone.Common.EnvironmentInfo;
|
||||||
|
using NzbDrone.Common.Processes;
|
||||||
|
using IServiceProvider = NzbDrone.Common.IServiceProvider;
|
||||||
|
|
||||||
|
|
||||||
namespace NzbDrone.Host
|
namespace NzbDrone.Host
|
||||||
{
|
{
|
||||||
|
@ -8,14 +13,19 @@ namespace NzbDrone.Host
|
||||||
private readonly INzbDroneServiceFactory _nzbDroneServiceFactory;
|
private readonly INzbDroneServiceFactory _nzbDroneServiceFactory;
|
||||||
private readonly IServiceProvider _serviceProvider;
|
private readonly IServiceProvider _serviceProvider;
|
||||||
private readonly IConsoleService _consoleService;
|
private readonly IConsoleService _consoleService;
|
||||||
|
private readonly IProcessProvider _processProvider;
|
||||||
private readonly Logger _logger;
|
private readonly Logger _logger;
|
||||||
|
|
||||||
public Router(INzbDroneServiceFactory nzbDroneServiceFactory, IServiceProvider serviceProvider,
|
public Router(INzbDroneServiceFactory nzbDroneServiceFactory,
|
||||||
IConsoleService consoleService, Logger logger)
|
IServiceProvider serviceProvider,
|
||||||
|
IConsoleService consoleService,
|
||||||
|
IProcessProvider processProvider,
|
||||||
|
Logger logger)
|
||||||
{
|
{
|
||||||
_nzbDroneServiceFactory = nzbDroneServiceFactory;
|
_nzbDroneServiceFactory = nzbDroneServiceFactory;
|
||||||
_serviceProvider = serviceProvider;
|
_serviceProvider = serviceProvider;
|
||||||
_consoleService = consoleService;
|
_consoleService = consoleService;
|
||||||
|
_processProvider = processProvider;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +58,11 @@ namespace NzbDrone.Host
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_serviceProvider.Install(ServiceProvider.SERVICE_NAME);
|
_serviceProvider.Install(ServiceProvider.SERVICE_NAME);
|
||||||
_serviceProvider.Start(ServiceProvider.SERVICE_NAME);
|
_serviceProvider.SetPermissions(ServiceProvider.SERVICE_NAME);
|
||||||
|
|
||||||
|
// Start the service and exit.
|
||||||
|
// Ensures that there isn't an instance of Sonarr already running that the service account cannot stop.
|
||||||
|
_processProvider.SpawnNewProcess("sc.exe", $"start {ServiceProvider.SERVICE_NAME}", null, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -61,7 +75,7 @@ namespace NzbDrone.Host
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_serviceProvider.UnInstall(ServiceProvider.SERVICE_NAME);
|
_serviceProvider.Uninstall(ServiceProvider.SERVICE_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -12,10 +12,10 @@ namespace NzbDrone.Integration.Test.ApiTests
|
||||||
[Test, Order(0)]
|
[Test, Order(0)]
|
||||||
public void add_artist_with_tags_should_store_them()
|
public void add_artist_with_tags_should_store_them()
|
||||||
{
|
{
|
||||||
EnsureNoArtist("266189", "Alien Ant Farm");
|
EnsureNoArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park");
|
||||||
var tag = EnsureTag("abc");
|
var tag = EnsureTag("abc");
|
||||||
|
|
||||||
var artist = Artist.Lookup("lidarr:266189").Single();
|
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
|
||||||
|
|
||||||
artist.QualityProfileId = 1;
|
artist.QualityProfileId = 1;
|
||||||
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
||||||
|
@ -31,9 +31,9 @@ namespace NzbDrone.Integration.Test.ApiTests
|
||||||
[Test, Order(0)]
|
[Test, Order(0)]
|
||||||
public void add_artist_without_profileid_should_return_badrequest()
|
public void add_artist_without_profileid_should_return_badrequest()
|
||||||
{
|
{
|
||||||
EnsureNoArtist("266189", "Alien Ant Farm");
|
EnsureNoArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park");
|
||||||
|
|
||||||
var artist = Artist.Lookup("lidarr:266189").Single();
|
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
|
||||||
|
|
||||||
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
||||||
|
|
||||||
|
@ -43,9 +43,9 @@ namespace NzbDrone.Integration.Test.ApiTests
|
||||||
[Test, Order(0)]
|
[Test, Order(0)]
|
||||||
public void add_artist_without_path_should_return_badrequest()
|
public void add_artist_without_path_should_return_badrequest()
|
||||||
{
|
{
|
||||||
EnsureNoArtist("266189", "Alien Ant Farm");
|
EnsureNoArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park");
|
||||||
|
|
||||||
var artist = Artist.Lookup("lidarr:266189").Single();
|
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
|
||||||
|
|
||||||
artist.QualityProfileId = 1;
|
artist.QualityProfileId = 1;
|
||||||
|
|
||||||
|
@ -55,9 +55,9 @@ namespace NzbDrone.Integration.Test.ApiTests
|
||||||
[Test, Order(1)]
|
[Test, Order(1)]
|
||||||
public void add_artist()
|
public void add_artist()
|
||||||
{
|
{
|
||||||
EnsureNoArtist("266189", "Alien Ant Farm");
|
EnsureNoArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park");
|
||||||
|
|
||||||
var artist = Artist.Lookup("lidarr:266189").Single();
|
var artist = Artist.Lookup("lidarr:f59c5520-5f46-4d2c-b2c4-822eabf53419").Single();
|
||||||
|
|
||||||
artist.QualityProfileId = 1;
|
artist.QualityProfileId = 1;
|
||||||
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
||||||
|
@ -119,7 +119,7 @@ namespace NzbDrone.Integration.Test.ApiTests
|
||||||
[Test, Order(3)]
|
[Test, Order(3)]
|
||||||
public void update_artist_monitored()
|
public void update_artist_monitored()
|
||||||
{
|
{
|
||||||
var artist = EnsureArtist("266189", "Alien Ant Farm", false);
|
var artist = EnsureArtist("f59c5520-5f46-4d2c-b2c4-822eabf53419", "Linkin Park", false);
|
||||||
|
|
||||||
artist.Monitored.Should().BeFalse();
|
artist.Monitored.Should().BeFalse();
|
||||||
//artist.Seasons.First().Monitored.Should().BeFalse();
|
//artist.Seasons.First().Monitored.Should().BeFalse();
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace NzbDrone.Integration.Test
|
||||||
{
|
{
|
||||||
private RestRequest BuildRequest()
|
private RestRequest BuildRequest()
|
||||||
{
|
{
|
||||||
var request = new RestRequest("series");
|
var request = new RestRequest("artist");
|
||||||
request.AddHeader(AccessControlHeaders.RequestMethod, "POST");
|
request.AddHeader(AccessControlHeaders.RequestMethod, "POST");
|
||||||
|
|
||||||
return request;
|
return request;
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace NzbDrone.Integration.Test
|
||||||
public ClientBase<BlacklistResource> Blacklist;
|
public ClientBase<BlacklistResource> Blacklist;
|
||||||
public CommandClient Commands;
|
public CommandClient Commands;
|
||||||
public DownloadClientClient DownloadClients;
|
public DownloadClientClient DownloadClients;
|
||||||
public AlbumClient Episodes;
|
public AlbumClient Albums;
|
||||||
public TrackClient Tracks;
|
public TrackClient Tracks;
|
||||||
public ClientBase<HistoryResource> History;
|
public ClientBase<HistoryResource> History;
|
||||||
public ClientBase<HostConfigResource> HostConfig;
|
public ClientBase<HostConfigResource> HostConfig;
|
||||||
|
@ -101,7 +101,7 @@ namespace NzbDrone.Integration.Test
|
||||||
Blacklist = new ClientBase<BlacklistResource>(RestClient, ApiKey);
|
Blacklist = new ClientBase<BlacklistResource>(RestClient, ApiKey);
|
||||||
Commands = new CommandClient(RestClient, ApiKey);
|
Commands = new CommandClient(RestClient, ApiKey);
|
||||||
DownloadClients = new DownloadClientClient(RestClient, ApiKey);
|
DownloadClients = new DownloadClientClient(RestClient, ApiKey);
|
||||||
Episodes = new AlbumClient(RestClient, ApiKey);
|
Albums = new AlbumClient(RestClient, ApiKey);
|
||||||
History = new ClientBase<HistoryResource>(RestClient, ApiKey);
|
History = new ClientBase<HistoryResource>(RestClient, ApiKey);
|
||||||
HostConfig = new ClientBase<HostConfigResource>(RestClient, ApiKey, "config/host");
|
HostConfig = new ClientBase<HostConfigResource>(RestClient, ApiKey, "config/host");
|
||||||
Indexers = new IndexerClient(RestClient, ApiKey);
|
Indexers = new IndexerClient(RestClient, ApiKey);
|
||||||
|
@ -212,6 +212,7 @@ namespace NzbDrone.Integration.Test
|
||||||
var lookup = Artist.Lookup("lidarr:" + lidarrId);
|
var lookup = Artist.Lookup("lidarr:" + lidarrId);
|
||||||
var artist = lookup.First();
|
var artist = lookup.First();
|
||||||
artist.QualityProfileId = 1;
|
artist.QualityProfileId = 1;
|
||||||
|
artist.LanguageProfileId = 1;
|
||||||
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
artist.Path = Path.Combine(ArtistRootFolder, artist.ArtistName);
|
||||||
artist.Monitored = true;
|
artist.Monitored = true;
|
||||||
artist.AddOptions = new Core.Music.AddArtistOptions();
|
artist.AddOptions = new Core.Music.AddArtistOptions();
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Integration.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Integration.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Integration.Test</AssemblyName>
|
<AssemblyName>Lidarr.Integration.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Smoke.Test")]
|
[assembly: AssemblyTitle("Lidarr.Smoke.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Smoke.Test")]
|
[assembly: AssemblyProduct("Lidarr.Smoke.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2013")]
|
[assembly: AssemblyCopyright("Copyright © 2013")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Libraries.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Libraries.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Libraries.Test</AssemblyName>
|
<AssemblyName>Lidarr.Libraries.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Libraries.Test")]
|
[assembly: AssemblyTitle("Lidarr.Libraries.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Libraries.Test")]
|
[assembly: AssemblyProduct("Lidarr.Libraries.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2013")]
|
[assembly: AssemblyCopyright("Copyright © 2013")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Mono.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Mono.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Mono.Test</AssemblyName>
|
<AssemblyName>Lidarr.Mono.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Mono.Test")]
|
[assembly: AssemblyTitle("Lidarr.Mono.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Mono.Test")]
|
[assembly: AssemblyProduct("Lidarr.Mono.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014")]
|
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Mono</RootNamespace>
|
<RootNamespace>NzbDrone.Mono</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Mono</AssemblyName>
|
<AssemblyName>Lidarr.Mono</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Mono")]
|
[assembly: AssemblyTitle("Lidarr.Mono")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Mono")]
|
[assembly: AssemblyProduct("Lidarr.Mono")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014")]
|
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.SignalR</RootNamespace>
|
<RootNamespace>NzbDrone.SignalR</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.SignalR</AssemblyName>
|
<AssemblyName>Lidarr.SignalR</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.SignalR")]
|
[assembly: AssemblyTitle("Lidarr.SignalR")]
|
||||||
[assembly: Guid("98bd985a-4f23-4201-8ed3-f6f3d7f2a5fe")]
|
[assembly: Guid("98bd985a-4f23-4201-8ed3-f6f3d7f2a5fe")]
|
||||||
|
|
||||||
|
|
|
@ -171,11 +171,11 @@ namespace NzbDrone.Test.Common.AutoMoq
|
||||||
|
|
||||||
private void RegisterPlatformLibrary(IUnityContainer container)
|
private void RegisterPlatformLibrary(IUnityContainer container)
|
||||||
{
|
{
|
||||||
var assemblyName = "NzbDrone.Windows";
|
var assemblyName = "Lidarr.Windows";
|
||||||
|
|
||||||
if (OsInfo.IsNotWindows)
|
if (OsInfo.IsNotWindows)
|
||||||
{
|
{
|
||||||
assemblyName = "NzbDrone.Mono";
|
assemblyName = "Lidarr.Mono";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!File.Exists(assemblyName + ".dll"))
|
if (!File.Exists(assemblyName + ".dll"))
|
||||||
|
@ -188,4 +188,4 @@ namespace NzbDrone.Test.Common.AutoMoq
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Test.Common</RootNamespace>
|
<RootNamespace>NzbDrone.Test.Common</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Test.Common</AssemblyName>
|
<AssemblyName>Lidarr.Test.Common</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Test.Common")]
|
[assembly: AssemblyTitle("Lidarr.Test.Common")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Microsoft")]
|
[assembly: AssemblyCompany("Microsoft")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Test.Common")]
|
[assembly: AssemblyProduct("Lidarr.Test.Common")]
|
||||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace NzbDrone.Test.Dummy
|
namespace NzbDrone.Test.Dummy
|
||||||
{
|
{
|
||||||
public class DummyApp
|
public class DummyApp
|
||||||
{
|
{
|
||||||
public const string DUMMY_PROCCESS_NAME = "NzbDrone.Test.Dummy";
|
public const string DUMMY_PROCCESS_NAME = "Lidarr.Test.Dummy";
|
||||||
|
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Test.Dummy</RootNamespace>
|
<RootNamespace>NzbDrone.Test.Dummy</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Test.Dummy</AssemblyName>
|
<AssemblyName>Lidarr.Test.Dummy</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Test.Dummy")]
|
[assembly: AssemblyTitle("Lidarr.Test.Dummy")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Microsoft")]
|
[assembly: AssemblyCompany("Microsoft")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Test.Dummy")]
|
[assembly: AssemblyProduct("Lidarr.Test.Dummy")]
|
||||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Update.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Update.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Update.Test</AssemblyName>
|
<AssemblyName>Lidarr.Update.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Update.Test")]
|
[assembly: AssemblyTitle("Lidarr.Update.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Microsoft")]
|
[assembly: AssemblyCompany("Microsoft")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Update.Test")]
|
[assembly: AssemblyProduct("Lidarr.Update.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -32,7 +32,7 @@ namespace NzbDrone.Update.Test
|
||||||
|
|
||||||
Subject.Start(AppType.Service, targetFolder);
|
Subject.Start(AppType.Service, targetFolder);
|
||||||
|
|
||||||
Mocker.GetMock<IProcessProvider>().Verify(c => c.SpawnNewProcess("c:\\Lidarr\\Lidarr.Console.exe", "/" + StartupContext.NO_BROWSER, null), Times.Once());
|
Mocker.GetMock<IProcessProvider>().Verify(c => c.SpawnNewProcess("c:\\Lidarr\\Lidarr.Console.exe", "/" + StartupContext.NO_BROWSER, null, false), Times.Once());
|
||||||
|
|
||||||
ExceptionVerification.ExpectedWarns(1);
|
ExceptionVerification.ExpectedWarns(1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Update")]
|
[assembly: AssemblyTitle("Lidarr.Update")]
|
||||||
|
|
||||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
[assembly: Guid("e4560a3d-8053-4d57-a260-bfe52f4cc357")]
|
[assembly: Guid("e4560a3d-8053-4d57-a260-bfe52f4cc357")]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Windows.Test</RootNamespace>
|
<RootNamespace>NzbDrone.Windows.Test</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Windows.Test</AssemblyName>
|
<AssemblyName>Lidarr.Windows.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Windows.Test")]
|
[assembly: AssemblyTitle("Lidarr.Windows.Test")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Windows.Test")]
|
[assembly: AssemblyProduct("Lidarr.Windows.Test")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014")]
|
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>NzbDrone.Windows</RootNamespace>
|
<RootNamespace>NzbDrone.Windows</RootNamespace>
|
||||||
<AssemblyName>NzbDrone.Windows</AssemblyName>
|
<AssemblyName>Lidarr.Windows</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("NzbDrone.Windows")]
|
[assembly: AssemblyTitle("Lidarr.Windows")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("NzbDrone.Windows")]
|
[assembly: AssemblyProduct("Lidarr.Windows")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014")]
|
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
|
@ -50,13 +50,11 @@ namespace ServiceInstall
|
||||||
process.BeginOutputReadLine();
|
process.BeginOutputReadLine();
|
||||||
|
|
||||||
process.WaitForExit();
|
process.WaitForExit();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void OnDataReceived(object sender, DataReceivedEventArgs e)
|
private static void OnDataReceived(object sender, DataReceivedEventArgs e)
|
||||||
{
|
{
|
||||||
Console.WriteLine(e.Data);
|
Console.WriteLine(e.Data);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,13 +50,11 @@ namespace ServiceUninstall
|
||||||
process.BeginOutputReadLine();
|
process.BeginOutputReadLine();
|
||||||
|
|
||||||
process.WaitForExit();
|
process.WaitForExit();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void OnDataReceived(object sender, DataReceivedEventArgs e)
|
private static void OnDataReceived(object sender, DataReceivedEventArgs e)
|
||||||
{
|
{
|
||||||
Console.WriteLine(e.Data);
|
Console.WriteLine(e.Data);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue