diff --git a/Makefile b/Makefile index 27925850..b592c054 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,7 @@ CONFIG=Debug git_status := $(shell git status -s --porcelain |wc -l) yavscd=binaries/$(CONFIG)/yavscd +yavsccli=binaries/$(CONFIG)/yavsccli all: $(yavscd) @@ -71,8 +72,12 @@ $(yavscd): src/Yavsc/bin/$(CONFIG)/dnx451/Yavsc.dll src/Yavsc.Server/bin/$(CONFI mkbundle --static $(DNXLIBS) src/Yavsc/bin/$(CONFIG)/dnx451/Yavsc.dll src/Yavsc/bin/$(CONFIG)/dnx451/pt/Yavsc.resources.dll src/Yavsc/bin/$(CONFIG)/dnx451/en/Yavsc.resources.dll src/Yavsc.Server/bin/$(CONFIG)/dnx451/Yavsc.Server.dll src/Yavsc.Server/bin/$(CONFIG)/dnx451/en/Yavsc.Server.resources.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/Yavsc.Abstract.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/en/Yavsc.Abstract.resources.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/pt/Yavsc.Abstract.resources.dll src/OAuth.AspNet.AuthServer/bin/$(CONFIG)/dnx451/OAuth.AspNet.AuthServer.dll src/OAuth.AspNet.Token/bin/$(CONFIG)/dnx451/OAuth.AspNet.Token.dll $(LIBS) -L $(DNX_USER_HOME)/runtimes/dnx-mono.1.0.0-rc1-update2/bin --machine-config $(MONO_PREFIX)/etc/mono/4.5/machine.config -o $(yavscd) strip $(yavscd) +yavsccli: src/cli/bin/$(CONFIG)/dnx451/cli.dll src/cli/bin/$(CONFIG)/dnx451/fr/cli.resources.dll src/Yavsc/bin/$(CONFIG)/dnx451/Yavsc.dll src/Yavsc/bin/$(CONFIG)/dnx451/pt/Yavsc.resources.dll src/Yavsc.Server/bin/$(CONFIG)/dnx451/Yavsc.Server.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/Yavsc.Abstract.dll src/OAuth.AspNet.AuthServer/bin/$(CONFIG)/dnx451/OAuth.AspNet.AuthServer.dll src/OAuth.AspNet.Token/bin/$(CONFIG)/dnx451/OAuth.AspNet.Token.dll + mkdir -p binaries/$(CONFIG) + mkbundle --static $(DNXLIBS) src/cli/bin/$(CONFIG)/dnx451/cli.dll src/cli/bin/$(CONFIG)/dnx451/fr/cli.resources.dll src/Yavsc/bin/$(CONFIG)/dnx451/Yavsc.dll src/Yavsc/bin/$(CONFIG)/dnx451/pt/Yavsc.resources.dll src/Yavsc/bin/$(CONFIG)/dnx451/en/Yavsc.resources.dll src/Yavsc.Server/bin/$(CONFIG)/dnx451/Yavsc.Server.dll src/Yavsc.Server/bin/$(CONFIG)/dnx451/en/Yavsc.Server.resources.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/Yavsc.Abstract.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/en/Yavsc.Abstract.resources.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/pt/Yavsc.Abstract.resources.dll src/OAuth.AspNet.AuthServer/bin/$(CONFIG)/dnx451/OAuth.AspNet.AuthServer.dll src/OAuth.AspNet.Token/bin/$(CONFIG)/dnx451/OAuth.AspNet.Token.dll $(LIBS) -L $(DNX_USER_HOME)/runtimes/dnx-mono.1.0.0-rc1-update2/bin --machine-config $(MONO_PREFIX)/etc/mono/4.5/machine.config -o $(yavsccli) + strip $(yavsccli) + version-increment-patch: scripts/version.sh $$(cat version.txt) patch > version.txt - .PHONY: packages diff --git a/binaries/Debug/yavsccli b/binaries/Debug/yavsccli new file mode 100755 index 00000000..596d81ec Binary files /dev/null and b/binaries/Debug/yavsccli differ diff --git a/src/Yavsc/Helpers/TeXHelpers.cs b/src/Yavsc/Helpers/TeXHelpers.cs index 5f21ec47..1d0f933f 100644 --- a/src/Yavsc/Helpers/TeXHelpers.cs +++ b/src/Yavsc/Helpers/TeXHelpers.cs @@ -143,11 +143,13 @@ namespace Yavsc.Helpers using (Process p = new Process()) { p.StartInfo.WorkingDirectory = tempdir; - p.StartInfo = new ProcessStartInfo(); - p.StartInfo.UseShellExecute = false; - p.StartInfo.WorkingDirectory = tempdir; - p.StartInfo.FileName = "/usr/bin/texi2pdf"; - p.StartInfo.Arguments = $"--batch --build-dir=. -o {fo.FullName} {fi.FullName}"; + p.StartInfo = new ProcessStartInfo + { + UseShellExecute = false, + WorkingDirectory = tempdir, + FileName = "/usr/bin/texi2pdf", + Arguments = $"--batch --build-dir=. -o {fo.FullName} {fi.FullName}" + }; p.Start(); p.WaitForExit(); if (p.ExitCode != 0) diff --git a/src/Yavsc/Hubs/ChatHub.cs b/src/Yavsc/Hubs/ChatHub.cs index ac2af10e..717410b2 100644 --- a/src/Yavsc/Hubs/ChatHub.cs +++ b/src/Yavsc/Hubs/ChatHub.cs @@ -37,10 +37,10 @@ namespace Yavsc using Yavsc.Services; public partial class ChatHub : Hub, IDisposable { - ApplicationDbContext _dbContext; - private IConnexionManager _cxManager; - private IStringLocalizer _localizer; - ILogger _logger; + private readonly ApplicationDbContext _dbContext; + private readonly IConnexionManager _cxManager; + private readonly IStringLocalizer _localizer; + private readonly ILogger _logger; public HubInputValidator InputValidator { get; } diff --git a/src/Yavsc/Services/ChatHubConnexionManager.cs b/src/Yavsc/Services/ChatHubConnexionManager.cs index 5c728e16..b89fb390 100644 --- a/src/Yavsc/Services/ChatHubConnexionManager.cs +++ b/src/Yavsc/Services/ChatHubConnexionManager.cs @@ -20,9 +20,9 @@ namespace Yavsc.Services /// public class HubConnectionManager : IConnexionManager { - ILogger _logger; + private readonly ILogger _logger; - Action _errorHandler; + private Action _errorHandler; /// /// by cx id diff --git a/src/Yavsc/Services/FileSystemAuthManager.cs b/src/Yavsc/Services/FileSystemAuthManager.cs index 1572ef2a..610af026 100644 --- a/src/Yavsc/Services/FileSystemAuthManager.cs +++ b/src/Yavsc/Services/FileSystemAuthManager.cs @@ -28,23 +28,21 @@ namespace Yavsc.Services return false; } } - UserMatch Out = new OutOfCircle(); - UserMatch In = new BelongsToCircle(); - readonly ApplicationDbContext _dbContext; - readonly ILogger _logger; + private readonly UserMatch Out = new OutOfCircle(); + private readonly UserMatch In = new BelongsToCircle(); - readonly SiteSettings SiteSettings; + private readonly ApplicationDbContext _dbContext; - readonly string aclfileName; + private readonly SiteSettings SiteSettings; + + private readonly string aclfileName; readonly RuleSetParser ruleSetParser; - public FileSystemAuthManager(ApplicationDbContext dbContext, ILoggerFactory loggerFactory, - IOptions sitesOptions) + public FileSystemAuthManager(ApplicationDbContext dbContext, IOptions sitesOptions) { _dbContext = dbContext; - _logger = loggerFactory.CreateLogger(); SiteSettings = sitesOptions.Value; aclfileName = SiteSettings.AccessListFileName; ruleSetParser = new RuleSetParser(false); diff --git a/src/Yavsc/Services/LiveProcessor.cs b/src/Yavsc/Services/LiveProcessor.cs index b13b4137..402b735a 100644 --- a/src/Yavsc/Services/LiveProcessor.cs +++ b/src/Yavsc/Services/LiveProcessor.cs @@ -23,17 +23,12 @@ namespace Yavsc.Services public class LiveProcessor : ILiveProcessor { - readonly IHubContext _hubContext; private readonly ILogger _logger; - readonly ApplicationDbContext _dbContext; - public ConcurrentDictionary Casters { get; } = new ConcurrentDictionary(); - public LiveProcessor(ApplicationDbContext dbContext, ILoggerFactory loggerFactory) + public LiveProcessor(ILoggerFactory loggerFactory) { - _dbContext = dbContext; - _hubContext = GlobalHost.ConnectionManager.GetHubContext(); _logger = loggerFactory.CreateLogger(); } diff --git a/src/Yavsc/Startup/SendFileWrapper.cs b/src/Yavsc/Startup/SendFileWrapper.cs index 538554fa..e8754743 100644 --- a/src/Yavsc/Startup/SendFileWrapper.cs +++ b/src/Yavsc/Startup/SendFileWrapper.cs @@ -7,60 +7,58 @@ using Microsoft.Extensions.Logging; namespace Yavsc { - - class YaSendFileWrapper : IHttpSendFileFeature + + class YaSendFileWrapper : IHttpSendFileFeature + { + private readonly Stream _output; + + private readonly ILogger _logger; + + internal YaSendFileWrapper(Stream output, ILogger logger) { - private readonly Stream _output; + _output = output; + _logger = logger; + } - private readonly ILogger _logger; - - internal YaSendFileWrapper(Stream output, ILogger logger) + public async Task SendFileAsync(string fileName, long offset, long? length, CancellationToken cancel) + { + cancel.ThrowIfCancellationRequested(); + if (string.IsNullOrWhiteSpace(fileName)) { - _output = output; - _logger = logger; + throw new ArgumentNullException("fileName"); } - - public async Task SendFileAsync(string fileName, long offset, long? length, CancellationToken cancel) + if (!File.Exists(fileName)) { - cancel.ThrowIfCancellationRequested(); - if (string.IsNullOrWhiteSpace(fileName)) - { - throw new ArgumentNullException("fileName"); - } - if (!File.Exists(fileName)) - { - throw new FileNotFoundException(string.Empty, fileName); - } - FileInfo fileInfo = new FileInfo(fileName); - if (offset < 0 || offset > fileInfo.Length) - { - throw new ArgumentOutOfRangeException("offset", offset, string.Empty); - } - if (length.HasValue && (length.Value < 0 || length.Value > fileInfo.Length - offset)) - { - throw new ArgumentOutOfRangeException("length", length, string.Empty); - } - FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, maxbufferlen, FileOptions.Asynchronous | FileOptions.SequentialScan); - try - { - fileStream.Seek(offset, SeekOrigin.Begin); - _logger.LogInformation(string.Format("Copying bytes range:{0},{1} filename:{2} ", offset, (!length.HasValue) ? null : (offset + length), fileName)); - // await CopyToAsync(fileStream, _output, length, cancel); - await CopyToAsync(fileStream, _output); - } - finally - { - fileStream.Dispose(); - } + throw new FileNotFoundException(string.Empty, fileName); } + FileInfo fileInfo = new FileInfo(fileName); + if (offset < 0 || offset > fileInfo.Length) + { + throw new ArgumentOutOfRangeException("offset", offset, string.Empty); + } + if (length.HasValue && (length.Value < 0 || length.Value > fileInfo.Length - offset)) + { + throw new ArgumentOutOfRangeException("length", length, string.Empty); + } + FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, maxbufferlen, FileOptions.Asynchronous | FileOptions.SequentialScan); + try + { + fileStream.Seek(offset, SeekOrigin.Begin); + _logger.LogInformation(string.Format("Copying bytes range:{0},{1} filename:{2} ", offset, (!length.HasValue) ? null : (offset + length), fileName)); + // await CopyToAsync(fileStream, _output, length, cancel); + await CopyToAsync(fileStream, _output); + } + finally + { + fileStream.Dispose(); + } + } private const int maxbufferlen = 65536; - private byte[] buffer = new byte[maxbufferlen]; - private async Task CopyToAsync(FileStream fileStream, Stream output) { - await Task.Run(()=> fileStream.CopyTo(output, maxbufferlen)); + await Task.Run(() => fileStream.CopyTo(output, maxbufferlen)); } } } diff --git a/src/Yavsc/Startup/Startup.WebSockets.cs b/src/Yavsc/Startup/Startup.WebSockets.cs index df3d8f70..f3c6333b 100644 --- a/src/Yavsc/Startup/Startup.WebSockets.cs +++ b/src/Yavsc/Startup/Startup.WebSockets.cs @@ -24,18 +24,5 @@ namespace Yavsc app.UseSignalR(PathString.FromUriComponent(Constants.SignalRPath)); } - private async Task Echo(WebSocket webSocket) - { - var buffer = new byte[1024 * 4]; - WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment(buffer), CancellationToken.None); - while (!result.CloseStatus.HasValue) - { - await webSocket.SendAsync(new ArraySegment(buffer, 0, result.Count), result.MessageType, result.EndOfMessage, CancellationToken.None); - - result = await webSocket.ReceiveAsync(new ArraySegment(buffer), CancellationToken.None); - } - await webSocket.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None); - } - } } diff --git a/src/Yavsc/ViewComponents/CalendarViewComponent.cs b/src/Yavsc/ViewComponents/CalendarViewComponent.cs index 519d01b4..9ebe282c 100644 --- a/src/Yavsc/ViewComponents/CalendarViewComponent.cs +++ b/src/Yavsc/ViewComponents/CalendarViewComponent.cs @@ -8,15 +8,12 @@ namespace Yavsc.ViewComponents { public class CalendarViewComponent : ViewComponent { - readonly ApplicationDbContext _dbContext; readonly ICalendarManager _manager; public CalendarViewComponent ( - ApplicationDbContext dbContext, ICalendarManager manager) { _manager = manager; - _dbContext = dbContext; } public async Task InvokeAsync ( diff --git a/src/Yavsc/ViewComponents/CirclesControlViewComponent.cs b/src/Yavsc/ViewComponents/CirclesControlViewComponent.cs index d22a2f2b..6f7f549e 100644 --- a/src/Yavsc/ViewComponents/CirclesControlViewComponent.cs +++ b/src/Yavsc/ViewComponents/CirclesControlViewComponent.cs @@ -11,7 +11,7 @@ namespace Yavsc.ViewComponents public class CirclesControlViewComponent : ViewComponent { - ApplicationDbContext dbContext; + private readonly ApplicationDbContext dbContext; public CirclesControlViewComponent(ApplicationDbContext dbContext) { this.dbContext = dbContext; diff --git a/src/Yavsc/ViewComponents/CommentViewComponent.cs b/src/Yavsc/ViewComponents/CommentViewComponent.cs index d2cf71d5..c3e77731 100644 --- a/src/Yavsc/ViewComponents/CommentViewComponent.cs +++ b/src/Yavsc/ViewComponents/CommentViewComponent.cs @@ -6,11 +6,10 @@ namespace Yavsc.ViewComponents { public partial class CommentViewComponent : ViewComponent { - IStringLocalizer localizer; + private readonly IStringLocalizer localizer; public CommentViewComponent(IStringLocalizer localizer) { - this.localizer = localizer; - + this.localizer = localizer; } public IViewComponentResult Invoke(IIdentified longCommentable) { @@ -19,4 +18,4 @@ namespace Yavsc.ViewComponents return View(longCommentable.GetType().Name, new Comment{ PostId = longCommentable.Id }); } } -} \ No newline at end of file +} diff --git a/src/Yavsc/ViewComponents/TaggerComponent.cs b/src/Yavsc/ViewComponents/TaggerComponent.cs index 0d0f02e0..da57ca5f 100644 --- a/src/Yavsc/ViewComponents/TaggerComponent.cs +++ b/src/Yavsc/ViewComponents/TaggerComponent.cs @@ -7,15 +7,11 @@ using Yavsc.Models; namespace Yavsc.ViewComponents { public class TaggerViewComponent : ViewComponent - - { - readonly ApplicationDbContext dbContext; + { readonly IStringLocalizer localizer; public TaggerViewComponent( - ApplicationDbContext pdbContext, IStringLocalizer pLocalizer) { - dbContext = pdbContext; this.localizer = pLocalizer; } public IViewComponentResult Invoke(ITaggable longTaggable) diff --git a/src/test/Mandatory/Remoting.cs b/src/test/Mandatory/Remoting.cs index a3b69a8a..608f6f0e 100644 --- a/src/test/Mandatory/Remoting.cs +++ b/src/test/Mandatory/Remoting.cs @@ -22,7 +22,7 @@ namespace test [Trait("regression", "oui")] public class Remoting : BaseTestContext, IClassFixture { - RegiserAPI r; + readonly RegiserAPI r; public Remoting(ServerSideFixture serverFixture, ITestOutputHelper output) : base(output, serverFixture) { diff --git a/src/test/Mandatory/ServerSideFixture.cs b/src/test/Mandatory/ServerSideFixture.cs index 636c3c4e..7814b8f7 100644 --- a/src/test/Mandatory/ServerSideFixture.cs +++ b/src/test/Mandatory/ServerSideFixture.cs @@ -22,8 +22,8 @@ namespace test SiteSettings _siteSetup; ILogger _logger; IApplication _app; - EMailer _mailer; - ILoggerFactory _loggerFactory; + readonly EMailer _mailer; + readonly ILoggerFactory _loggerFactory; IEmailSender _mailSender; public static string ApiKey => "53f4d5da-93a9-4584-82f9-b8fdf243b002"; @@ -95,8 +95,8 @@ namespace test } } bool dbCreated; - private WebHostBuilder host; - private IHostingEngine hostengnine; + private readonly WebHostBuilder host; + private readonly IHostingEngine hostengnine; @@ -145,7 +145,7 @@ namespace test } - private ModelBuilder modelBuilder; + private readonly ModelBuilder modelBuilder; public string TestingDatabase { get; private set; } diff --git a/src/test/WIP/NotWorking.cs b/src/test/WIP/NotWorking.cs index 59c05713..003897a1 100644 --- a/src/test/WIP/NotWorking.cs +++ b/src/test/WIP/NotWorking.cs @@ -19,11 +19,12 @@ namespace test { readonly SourceInformationProvider _sourceInfoProvider; readonly IOptions _localizationOptions; - public NotWorking( IHostingEnvironment env , IOptions siteSettings, - SourceInformationProvider sourceInfoProvider, + public NotWorking( + SourceInformationProvider sourceInfoProvider, IOptions localizationOptions, ServerSideFixture serverFixture, ITestOutputHelper output - ) : base (output, serverFixture) { + ) : base(output, serverFixture) + { _sourceInfoProvider = sourceInfoProvider; _localizationOptions = localizationOptions; } @@ -38,8 +39,8 @@ namespace test public void NoDnxEnv() { - - IOptions localOptions = Activator.CreateInstance>(); + + IOptions localOptions = Activator.CreateInstance>(); ResourceManagerStringLocalizerFactory strFact = new ResourceManagerStringLocalizerFactory(applicationEnvironment, localOptions); IStringLocalizer stringLocalizer = strFact.Create(typeof(NotWorking)); }