mirror of
https://github.com/velopack/velopack.git
synced 2025-10-25 15:19:22 +00:00
Changing timeout to timespan
Updating publish task to have parameters for the timeout and wait for live parameters.
This commit is contained in:
@@ -29,7 +29,7 @@ public class MSBuildLogger(TaskLoggingHelper loggingHelper) : ILogger, IFancyCon
|
||||
try {
|
||||
await fn(x => { }).ConfigureAwait(false);
|
||||
} catch (Exception ex) {
|
||||
this.LogError(ex, "Error running task {0}", name);
|
||||
this.LogError(ex, "Error running task {taskName}", name);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
@@ -39,7 +39,7 @@ public class MSBuildLogger(TaskLoggingHelper loggingHelper) : ILogger, IFancyCon
|
||||
try {
|
||||
return await fn(x => { }).ConfigureAwait(false);
|
||||
} catch (Exception ex) {
|
||||
this.LogError(ex, "Error running task {0}", name);
|
||||
this.LogError(ex, "Error running task {taskName}", name);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Threading;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Extensions.Logging;
|
||||
@@ -17,17 +18,19 @@ public class PublishTask : MSBuildAsyncTask
|
||||
|
||||
public string? ApiKey { get; set; }
|
||||
|
||||
public double Timeout { get; set; } = 30d;
|
||||
public string? Timeout { get; set; }
|
||||
|
||||
public bool WaitForLive { get; set; }
|
||||
|
||||
protected override async Task<bool> ExecuteAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
TimeSpan timeout = Timeout == null ? TimeSpan.FromMinutes(30) : TimeSpan.Parse(Timeout);
|
||||
|
||||
//System.Diagnostics.Debugger.Launch();
|
||||
var options = new VelopackFlowServiceOptions {
|
||||
VelopackBaseUrl = ServiceUrl,
|
||||
ApiKey = ApiKey,
|
||||
Timeout = Timeout,
|
||||
Timeout = timeout,
|
||||
};
|
||||
|
||||
var loginOptions = new VelopackFlowLoginOptions() {
|
||||
@@ -37,8 +40,7 @@ public class PublishTask : MSBuildAsyncTask
|
||||
};
|
||||
|
||||
var client = new VelopackFlowServiceClient(options, Logger, Logger);
|
||||
CancellationToken token = CancellationToken.None;
|
||||
if (!await client.LoginAsync(loginOptions, false, token)) {
|
||||
if (!await client.LoginAsync(loginOptions, false, cancellationToken).ConfigureAwait(false)) {
|
||||
Logger.LogWarning("Not logged into Velopack Flow service, skipping publish. Please run vpk login.");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
<VelopackPackAuthors Condition="'$(VelopackPackAuthors)' == ''">$(Authors)</VelopackPackAuthors>
|
||||
<VelopackTargetRuntime Condition="'$(VelopackTargetRuntime)' == ''">$(RuntimeIdentifier)</VelopackTargetRuntime>
|
||||
<VelopackShortcuts Condition="'$(VelopackShortcuts)' == ''">Desktop,StartMenuRoot</VelopackShortcuts>
|
||||
<VelopackHttpTimeout Condition="'$(VelopackHttpTimeout)' == ''">00:30:00</VelopackHttpTimeout>
|
||||
<VelopackWaitForLive Condition="'$(VelopackWaitForLive)' == ''">false</VelopackWaitForLive>
|
||||
|
||||
<!-- Allows a cross platform app (eg. Avalonia) to specify all three via csproj and have them applied correctly -->
|
||||
<!-- TODO: this should probably switch based on the target RID and not the current OS, but we currently don't
|
||||
@@ -100,6 +102,8 @@
|
||||
ServiceUrl="$(VelopackFlowServiceUrl)"
|
||||
ApiKey="$(VelopackFlowApiKey)"
|
||||
Channel="$(VelopackChannel)"
|
||||
Timeout="$(VelopackHttpTimeout)"
|
||||
WaitForLive="$(VelopackWaitForLive)"
|
||||
/>
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -52,7 +52,7 @@ public class VelopackFlowServiceClient(
|
||||
|
||||
var client = new HttpClient(handler);
|
||||
client.DefaultRequestHeaders.Authorization = Authorization;
|
||||
client.Timeout = TimeSpan.FromMinutes(Options.Timeout);
|
||||
client.Timeout = Options.Timeout;
|
||||
return client;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@ public class VelopackFlowServiceOptions
|
||||
|
||||
public string? ApiKey { get; set; } = string.Empty;
|
||||
|
||||
public double Timeout { get; set; } = 30d;
|
||||
public TimeSpan Timeout { get; set; } = TimeSpan.FromMinutes(30);
|
||||
}
|
||||
@@ -53,6 +53,7 @@ public static partial class OptionMapper
|
||||
|
||||
public static partial DeltaPatchOptions ToOptions(this DeltaPatchCommand cmd);
|
||||
|
||||
[MapperIgnoreTarget(nameof(LocalDownloadOptions.Timeout))]
|
||||
public static partial LoginOptions ToOptions(this LoginCommand cmd);
|
||||
|
||||
public static partial LogoutOptions ToOptions(this LogoutCommand cmd);
|
||||
|
||||
Reference in New Issue
Block a user