diff --git a/scripts/reinstall-dev-tool.ps1 b/scripts/reinstall-dev-tool.ps1
index 449f0b0..07aa9e4 100644
--- a/scripts/reinstall-dev-tool.ps1
+++ b/scripts/reinstall-dev-tool.ps1
@@ -18,9 +18,10 @@ try
dotnet clean --configuration Release
Get-Date -Format ''
$VersionSuffix = "rc.$(Get-Date -Format 'yyyy-MM-dd-HHmm')"
- dotnet pack --version-suffix $VersionSuffix
- $PackageVersion = "$VersionPrefix-$VersionSuffix"
- dotnet tool install --global --add-source ./src/Heartbeat/nupkg Heartbeat --version $PackageVersion
+ dotnet publish --runtime win-x64
+ dotnet pack --runtime win-x64 --version-suffix $VersionSuffix
+# $PackageVersion = "$VersionPrefix-$VersionSuffix"
+# dotnet tool install --global --add-source ./src/Heartbeat/nupkg Heartbeat --version $PackageVersion
}
catch {
Write-Host 'Install global tool - FAILED!' -ForegroundColor Red
diff --git a/src/Heartbeat.Runtime/Heartbeat.Runtime.csproj b/src/Heartbeat.Runtime/Heartbeat.Runtime.csproj
index b77dc6e..5c1d383 100644
--- a/src/Heartbeat.Runtime/Heartbeat.Runtime.csproj
+++ b/src/Heartbeat.Runtime/Heartbeat.Runtime.csproj
@@ -3,6 +3,12 @@
+
+ true
+ true
+ true
+
+
diff --git a/src/Heartbeat/Extensions/SwaggerExtensions.cs b/src/Heartbeat/Extensions/SwaggerExtensions.cs
index 70cbff7..779a7c2 100644
--- a/src/Heartbeat/Extensions/SwaggerExtensions.cs
+++ b/src/Heartbeat/Extensions/SwaggerExtensions.cs
@@ -4,6 +4,7 @@
using Swashbuckle.AspNetCore.Annotations;
using Swashbuckle.AspNetCore.SwaggerGen;
+using System.Diagnostics;
using System.Reflection;
namespace Heartbeat.Host.Extensions;
@@ -76,7 +77,9 @@ public class RequireNonNullablePropertiesSchemaFilter : ISchemaFilter
{
public void Apply(OpenApiSchema model, SchemaFilterContext context)
{
+#if DEBUG
FixNullableProperties(model, context);
+#endif
var additionalRequiredProps = model.Properties
.Where(x => !x.Value.Nullable && !model.Required.Contains(x.Key))
@@ -88,6 +91,7 @@ public void Apply(OpenApiSchema model, SchemaFilterContext context)
}
}
+ [Conditional("DEBUG")]
private static void FixNullableProperties(OpenApiSchema schema, SchemaFilterContext context)
{
foreach (var property in schema.Properties)
diff --git a/src/Heartbeat/Heartbeat.csproj b/src/Heartbeat/Heartbeat.csproj
index 8abf4e5..2403617 100644
--- a/src/Heartbeat/Heartbeat.csproj
+++ b/src/Heartbeat/Heartbeat.csproj
@@ -13,11 +13,20 @@
https://localhost:44443
npm start
+
+
+ true
+ true
+ win-x64
+
true
true
- heartbeat
+
+
+
+ heartbeat.exe
./nupkg
README.md
diff --git a/src/Heartbeat/Program.cs b/src/Heartbeat/Program.cs
index 11c08de..9ea2b11 100644
--- a/src/Heartbeat/Program.cs
+++ b/src/Heartbeat/Program.cs
@@ -1,13 +1,17 @@
using Heartbeat.Host.CommandLine;
using Heartbeat.Host.Extensions;
using Heartbeat.Runtime;
+using Heartbeat.Runtime.Domain;
using Microsoft.AspNetCore.Diagnostics;
+using Microsoft.Diagnostics.Runtime;
using System.CommandLine;
using System.Net.Mime;
+using System.Runtime.InteropServices;
using System.Text.Json.Serialization;
+#if DEBUG
if (Environment.GetEnvironmentVariable("HEARTBEAT_GENERATE_CONTRACTS") == "true")
{
var builder = WebApplication.CreateBuilder(args);
@@ -17,8 +21,13 @@
.AddJsonOptions(
options =>
{
- var enumConverter = new JsonStringEnumConverter();
- options.JsonSerializerOptions.Converters.Add(enumConverter);
+ // var enumConverter = new JsonStringEnumConverter();
+ // options.JsonSerializerOptions.Converters.Add(enumConverter);
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
});
builder.Services.AddSwagger();
@@ -32,6 +41,7 @@
app.Run();
return;
}
+#endif
var (rootCommand, binder) = WebCommandOptions.RootCommand();
rootCommand.SetHandler((WebCommandOptions options) => MainWeb(options, args), binder);
@@ -54,8 +64,13 @@ static void MainWeb(WebCommandOptions options, string[] args)
.AddJsonOptions(
options =>
{
- var enumConverter = new JsonStringEnumConverter();
- options.JsonSerializerOptions.Converters.Add(enumConverter);
+ // var enumConverter = new JsonStringEnumConverter();
+ // options.JsonSerializerOptions.Converters.Add(enumConverter);
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
+ options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
});
builder.Services.AddProblemDetails();
builder.Services.AddSwagger();