From 24a08c314a9b75cc3193c7131df6392f5e620b17 Mon Sep 17 00:00:00 2001 From: Mathias Beaulieu-Duncan Date: Fri, 7 Nov 2025 12:02:33 -0500 Subject: [PATCH] prepare for publishing --- .../Svrnty.CQRS.Abstractions.csproj | 3 ++- ...rnty.CQRS.DynamicQuery.Abstractions.csproj | 2 ++ ...Svrnty.CQRS.DynamicQuery.MinimalApi.csproj | 3 ++- .../Svrnty.CQRS.DynamicQuery.csproj | 2 ++ .../Svrnty.CQRS.FluentValidation.csproj | 2 ++ .../Svrnty.CQRS.Grpc.Abstractions.csproj | 5 +++-- .../Svrnty.CQRS.Grpc.Generators.csproj | 16 ++++++++++------ Svrnty.CQRS.Grpc/Svrnty.CQRS.Grpc.csproj | 3 ++- .../Svrnty.CQRS.MinimalApi.csproj | 3 ++- Svrnty.CQRS/Svrnty.CQRS.csproj | 3 ++- icon.png | Bin 5966 -> 7359 bytes 11 files changed, 29 insertions(+), 13 deletions(-) diff --git a/Svrnty.CQRS.Abstractions/Svrnty.CQRS.Abstractions.csproj b/Svrnty.CQRS.Abstractions/Svrnty.CQRS.Abstractions.csproj index 1976f38..cddb899 100644 --- a/Svrnty.CQRS.Abstractions/Svrnty.CQRS.Abstractions.csproj +++ b/Svrnty.CQRS.Abstractions/Svrnty.CQRS.Abstractions.csproj @@ -2,10 +2,11 @@ net10.0 true - David Lebee, Mathias Beaulieu-Duncan 14 enable + Svrnty + David Lebee, Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/Svrnty.CQRS.DynamicQuery.Abstractions/Svrnty.CQRS.DynamicQuery.Abstractions.csproj b/Svrnty.CQRS.DynamicQuery.Abstractions/Svrnty.CQRS.DynamicQuery.Abstractions.csproj index 301479e..b9b77b4 100644 --- a/Svrnty.CQRS.DynamicQuery.Abstractions/Svrnty.CQRS.DynamicQuery.Abstractions.csproj +++ b/Svrnty.CQRS.DynamicQuery.Abstractions/Svrnty.CQRS.DynamicQuery.Abstractions.csproj @@ -4,7 +4,9 @@ true enable 14 + Svrnty + David Lebee, Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/Svrnty.CQRS.DynamicQuery.MinimalApi/Svrnty.CQRS.DynamicQuery.MinimalApi.csproj b/Svrnty.CQRS.DynamicQuery.MinimalApi/Svrnty.CQRS.DynamicQuery.MinimalApi.csproj index 07121f2..4bbd568 100644 --- a/Svrnty.CQRS.DynamicQuery.MinimalApi/Svrnty.CQRS.DynamicQuery.MinimalApi.csproj +++ b/Svrnty.CQRS.DynamicQuery.MinimalApi/Svrnty.CQRS.DynamicQuery.MinimalApi.csproj @@ -4,8 +4,9 @@ false 14 enable + Svrnty - David Lebee, Mathias Beaulieu-Duncan + Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/Svrnty.CQRS.DynamicQuery/Svrnty.CQRS.DynamicQuery.csproj b/Svrnty.CQRS.DynamicQuery/Svrnty.CQRS.DynamicQuery.csproj index a51de0f..395256a 100644 --- a/Svrnty.CQRS.DynamicQuery/Svrnty.CQRS.DynamicQuery.csproj +++ b/Svrnty.CQRS.DynamicQuery/Svrnty.CQRS.DynamicQuery.csproj @@ -4,7 +4,9 @@ true 14 enable + Svrnty + David Lebee, Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/Svrnty.CQRS.FluentValidation/Svrnty.CQRS.FluentValidation.csproj b/Svrnty.CQRS.FluentValidation/Svrnty.CQRS.FluentValidation.csproj index 33f6996..a335d76 100644 --- a/Svrnty.CQRS.FluentValidation/Svrnty.CQRS.FluentValidation.csproj +++ b/Svrnty.CQRS.FluentValidation/Svrnty.CQRS.FluentValidation.csproj @@ -4,7 +4,9 @@ true 14 enable + Svrnty + David Lebee, Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/Svrnty.CQRS.Grpc.Abstractions/Svrnty.CQRS.Grpc.Abstractions.csproj b/Svrnty.CQRS.Grpc.Abstractions/Svrnty.CQRS.Grpc.Abstractions.csproj index 858a3c7..885fd27 100644 --- a/Svrnty.CQRS.Grpc.Abstractions/Svrnty.CQRS.Grpc.Abstractions.csproj +++ b/Svrnty.CQRS.Grpc.Abstractions/Svrnty.CQRS.Grpc.Abstractions.csproj @@ -2,10 +2,11 @@ net10.0 true - David Lebee, Mathias Beaulieu-Duncan 14 - Svrnty enable + + Svrnty + Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/Svrnty.CQRS.Grpc.Generators/Svrnty.CQRS.Grpc.Generators.csproj b/Svrnty.CQRS.Grpc.Generators/Svrnty.CQRS.Grpc.Generators.csproj index 6e298e7..6889fd4 100644 --- a/Svrnty.CQRS.Grpc.Generators/Svrnty.CQRS.Grpc.Generators.csproj +++ b/Svrnty.CQRS.Grpc.Generators/Svrnty.CQRS.Grpc.Generators.csproj @@ -1,7 +1,7 @@ netstandard2.0 - latest + 14 enable true true @@ -9,11 +9,9 @@ true false true - - - David Lebee, Mathias Beaulieu-Duncan Svrnty + Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs @@ -21,11 +19,17 @@ true MIT Source Generator for Svrnty.CQRS.Grpc - generates .proto files and gRPC service implementations from commands and queries + + portable + true + true + true + snupkg - - + + diff --git a/Svrnty.CQRS.Grpc/Svrnty.CQRS.Grpc.csproj b/Svrnty.CQRS.Grpc/Svrnty.CQRS.Grpc.csproj index 11829d6..671a621 100644 --- a/Svrnty.CQRS.Grpc/Svrnty.CQRS.Grpc.csproj +++ b/Svrnty.CQRS.Grpc/Svrnty.CQRS.Grpc.csproj @@ -3,9 +3,10 @@ net10.0 false 14 - David Lebee, Mathias Beaulieu-Duncan enable + Svrnty + Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/Svrnty.CQRS.MinimalApi/Svrnty.CQRS.MinimalApi.csproj b/Svrnty.CQRS.MinimalApi/Svrnty.CQRS.MinimalApi.csproj index a9ac1a3..abbe73a 100644 --- a/Svrnty.CQRS.MinimalApi/Svrnty.CQRS.MinimalApi.csproj +++ b/Svrnty.CQRS.MinimalApi/Svrnty.CQRS.MinimalApi.csproj @@ -4,8 +4,9 @@ false 14 enable - David Lebee, Mathias Beaulieu-Duncan + Svrnty + Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/Svrnty.CQRS/Svrnty.CQRS.csproj b/Svrnty.CQRS/Svrnty.CQRS.csproj index 4a27d36..7dd8010 100644 --- a/Svrnty.CQRS/Svrnty.CQRS.csproj +++ b/Svrnty.CQRS/Svrnty.CQRS.csproj @@ -2,10 +2,11 @@ net10.0 true - David Lebee, Mathias Beaulieu-Duncan 14 enable + Svrnty + David Lebee, Mathias Beaulieu-Duncan icon.png README.md https://git.openharbor.io/svrnty/dotnet-cqrs diff --git a/icon.png b/icon.png index a8f02f01f3962c33e4020854a9203fe2667e7e13..bdcec1024fabddef0d1e5449737da5a85bf8d126 100644 GIT binary patch literal 7359 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 literal 5966 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