diff --git a/Emby.Naming/Emby.Naming.csproj b/Emby.Naming/Emby.Naming.csproj
index 9e2a4950f9..0b1ce2fce6 100644
--- a/Emby.Naming/Emby.Naming.csproj
+++ b/Emby.Naming/Emby.Naming.csproj
@@ -23,7 +23,7 @@
-
+
diff --git a/Emby.Photos/Emby.Photos.csproj b/Emby.Photos/Emby.Photos.csproj
index c9830abc5f..8a79bf7e18 100644
--- a/Emby.Photos/Emby.Photos.csproj
+++ b/Emby.Photos/Emby.Photos.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
index 73a64b0cd4..c78d96d4ab 100644
--- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj
+++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
@@ -32,7 +32,7 @@
-
+
@@ -48,17 +48,13 @@
-
+
latest
-
- true
-
-
-
+
diff --git a/Jellyfin.Server/CoreAppHost.cs b/Jellyfin.Server/CoreAppHost.cs
index b9b0cc3825..8b4b61e290 100644
--- a/Jellyfin.Server/CoreAppHost.cs
+++ b/Jellyfin.Server/CoreAppHost.cs
@@ -9,8 +9,21 @@ using Microsoft.Extensions.Logging;
namespace Jellyfin.Server
{
+ ///
+ /// Implementation of the abstract class.
+ ///
public class CoreAppHost : ApplicationHost
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The to be used by the .
+ /// The to be used by the .
+ /// The to be used by the .
+ /// The to be used by the .
+ /// The to be used by the .
+ /// The to be used by the .
+ /// The to be used by the .
public CoreAppHost(
ServerApplicationPaths applicationPaths,
ILoggerFactory loggerFactory,
@@ -30,15 +43,19 @@ namespace Jellyfin.Server
{
}
+ ///
public override bool CanSelfRestart => StartupOptions.RestartPath != null;
+ ///
protected override void RestartInternal() => Program.Restart();
+ ///
protected override IEnumerable GetAssembliesWithPartsInternal()
{
yield return typeof(CoreAppHost).Assembly;
}
+ ///
protected override void ShutdownInternal() => Program.Shutdown();
}
}
diff --git a/Jellyfin.Server/Jellyfin.Server.csproj b/Jellyfin.Server/Jellyfin.Server.csproj
index 641b3f1827..e872834779 100644
--- a/Jellyfin.Server/Jellyfin.Server.csproj
+++ b/Jellyfin.Server/Jellyfin.Server.csproj
@@ -9,10 +9,8 @@
-
+
latest
-
- SA1600;SA1601;SA1629;CS1591
true
@@ -26,7 +24,7 @@
-
+
@@ -36,7 +34,7 @@
-
+
@@ -45,7 +43,7 @@
-
+
diff --git a/Jellyfin.Server/Program.cs b/Jellyfin.Server/Program.cs
index 9529904930..5e4e36a34f 100644
--- a/Jellyfin.Server/Program.cs
+++ b/Jellyfin.Server/Program.cs
@@ -28,6 +28,9 @@ using ILogger = Microsoft.Extensions.Logging.ILogger;
namespace Jellyfin.Server
{
+ ///
+ /// Class containing the entry point of the application.
+ ///
public static class Program
{
private static readonly CancellationTokenSource _tokenSource = new CancellationTokenSource();
@@ -35,6 +38,11 @@ namespace Jellyfin.Server
private static ILogger _logger;
private static bool _restartOnShutdown;
+ ///
+ /// The entry point of the application.
+ ///
+ /// The command line arguments passed.
+ /// .
public static Task Main(string[] args)
{
// For backwards compatibility.
@@ -53,7 +61,10 @@ namespace Jellyfin.Server
.MapResult(StartApp, _ => Task.CompletedTask);
}
- public static void Shutdown()
+ ///
+ /// Shuts down the application.
+ ///
+ internal static void Shutdown()
{
if (!_tokenSource.IsCancellationRequested)
{
@@ -61,7 +72,10 @@ namespace Jellyfin.Server
}
}
- public static void Restart()
+ ///
+ /// Restarts the application.
+ ///
+ internal static void Restart()
{
_restartOnShutdown = true;
@@ -171,11 +185,12 @@ namespace Jellyfin.Server
///
/// Create the data, config and log paths from the variety of inputs(command line args,
/// environment variables) or decide on what default to use. For Windows it's %AppPath%
- /// for everything else the XDG approach is followed:
- /// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
+ /// for everything else the
+ /// XDG approach
+ /// is followed.
///
- /// StartupOptions
- /// ServerApplicationPaths
+ /// The for this instance.
+ /// .
private static ServerApplicationPaths CreateApplicationPaths(StartupOptions options)
{
// dataDir
diff --git a/Jellyfin.Server/StartupOptions.cs b/Jellyfin.Server/StartupOptions.cs
index 8296d414ef..bb0adaf630 100644
--- a/Jellyfin.Server/StartupOptions.cs
+++ b/Jellyfin.Server/StartupOptions.cs
@@ -8,36 +8,62 @@ namespace Jellyfin.Server
///
public class StartupOptions : IStartupOptions
{
+ ///
+ /// Gets or sets the path to the data directory.
+ ///
+ /// The path to the data directory.
[Option('d', "datadir", Required = false, HelpText = "Path to use for the data folder (database files, etc.).")]
public string DataDir { get; set; }
+ ///
+ /// Gets or sets the path to the web directory.
+ ///
+ /// The path to the web directory.
[Option('w', "webdir", Required = false, HelpText = "Path to the Jellyfin web UI resources.")]
public string WebDir { get; set; }
+ ///
+ /// Gets or sets the path to the cache directory.
+ ///
+ /// The path to the cache directory.
[Option('C', "cachedir", Required = false, HelpText = "Path to use for caching.")]
public string CacheDir { get; set; }
+ ///
+ /// Gets or sets the path to the config directory.
+ ///
+ /// The path to the config directory.
[Option('c', "configdir", Required = false, HelpText = "Path to use for configuration data (user settings and pictures).")]
public string ConfigDir { get; set; }
+ ///
+ /// Gets or sets the path to the log directory.
+ ///
+ /// The path to the log directory.
[Option('l', "logdir", Required = false, HelpText = "Path to use for writing log files.")]
public string LogDir { get; set; }
+ ///
[Option("ffmpeg", Required = false, HelpText = "Path to external FFmpeg executable to use in place of default found in PATH.")]
public string FFmpegPath { get; set; }
+ ///
[Option("service", Required = false, HelpText = "Run as headless service.")]
public bool IsService { get; set; }
+ ///
[Option("noautorunwebapp", Required = false, HelpText = "Run headless if startup wizard is complete.")]
public bool NoAutoRunWebApp { get; set; }
+ ///
[Option("package-name", Required = false, HelpText = "Used when packaging Jellyfin (example, synology).")]
public string PackageName { get; set; }
+ ///
[Option("restartpath", Required = false, HelpText = "Path to restart script.")]
public string RestartPath { get; set; }
+ ///
[Option("restartargs", Required = false, HelpText = "Arguments for restart script.")]
public string RestartArgs { get; set; }
}
diff --git a/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj b/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj
index c0f92ac4a4..681a2e3724 100644
--- a/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj
+++ b/MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj
@@ -18,7 +18,7 @@
-
+