Skip to content

Commit ffd1003

Browse files
committed
Enable NuGet push for stable JsonApiDotNetCore with OpenAPI packages in preview
1 parent 83b0a45 commit ffd1003

File tree

9 files changed

+13
-16
lines changed

9 files changed

+13
-16
lines changed

.github/workflows/build.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ jobs:
7272
$versionSuffix = $segments.Length -eq 1 ? '' : $segments[1..$($segments.Length - 1)] -join '-'
7373
7474
[xml]$xml = Get-Content Directory.Build.props
75-
$configuredVersionPrefix = $xml.Project.PropertyGroup.JsonApiDotNetCoreVersionPrefix | Select-Object -First 1
75+
$configuredVersionPrefix = $xml.Project.PropertyGroup.VersionPrefix | Select-Object -First 1
7676
7777
if ($configuredVersionPrefix -ne $versionPrefix) {
7878
Write-Error "Version prefix from git release tag '$versionPrefix' does not match version prefix '$configuredVersionPrefix' stored in Directory.Build.props."
7979
# To recover from this:
8080
# - Delete the GitHub release
8181
# - Run: git push --delete origin the-invalid-tag-name
82-
# - Adjust JsonApiDotNetCoreVersionPrefix in Directory.Build.props, commit and push
82+
# - Adjust VersionPrefix in Directory.Build.props, commit and push
8383
# - Recreate the GitHub release
8484
}
8585
}
@@ -284,4 +284,4 @@ jobs:
284284
NUGET_ORG_API_KEY: ${{ secrets.NUGET_ORG_API_KEY }}
285285
shell: pwsh
286286
run: |
287-
dotnet nuget push "$env:GITHUB_WORKSPACE/packages/*.nupkg" --api-key "$env:NUGET_ORG_API_KEY" --source 'nuget.org'
287+
dotnet nuget push "$env:GITHUB_WORKSPACE/packages/*.nupkg" --api-key "$env:NUGET_ORG_API_KEY" --source 'nuget.org' --skip-duplicate

Build.ps1

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
$versionSuffix="pre"
2-
31
function VerifySuccessExitCode {
42
if ($LastExitCode -ne 0) {
53
throw "Command failed with exit code $LastExitCode."
@@ -16,7 +14,7 @@ Remove-Item -Recurse -Force * -Include coverage.cobertura.xml
1614
dotnet tool restore
1715
VerifySuccessExitCode
1816

19-
dotnet build --configuration Release /p:VersionSuffix=$versionSuffix
17+
dotnet build --configuration Release
2018
VerifySuccessExitCode
2119

2220
dotnet test --no-build --configuration Release --verbosity quiet --collect:"XPlat Code Coverage"
@@ -25,5 +23,5 @@ VerifySuccessExitCode
2523
dotnet reportgenerator -reports:**\coverage.cobertura.xml -targetdir:artifacts\coverage -filefilters:-*.g.cs
2624
VerifySuccessExitCode
2725

28-
dotnet pack --no-build --configuration Release --output artifacts/packages /p:VersionSuffix=$versionSuffix
26+
dotnet pack --no-build --configuration Release --output artifacts/packages
2927
VerifySuccessExitCode

Directory.Build.props

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
<AnalysisMode>Recommended</AnalysisMode>
1010
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)CodingGuidelines.ruleset</CodeAnalysisRuleSet>
1111
<RunSettingsFilePath>$(MSBuildThisFileDirectory)tests.runsettings</RunSettingsFilePath>
12-
<JsonApiDotNetCoreVersionPrefix>5.6.1</JsonApiDotNetCoreVersionPrefix>
12+
<VersionPrefix>5.6.1</VersionPrefix>
13+
<VersionSuffix>pre</VersionSuffix>
14+
<OpenApiPreviewNumber>1</OpenApiPreviewNumber>
1315
<NuGetAuditMode>direct</NuGetAuditMode>
1416
<NoWarn>$(NoWarn);NETSDK1215</NoWarn>
1517
</PropertyGroup>

src/JsonApiDotNetCore.Annotations/JsonApiDotNetCore.Annotations.csproj

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
<Import Project="..\..\package-versions.props" />
1010

1111
<PropertyGroup>
12-
<VersionPrefix>$(JsonApiDotNetCoreVersionPrefix)</VersionPrefix>
1312
<PackageTags>jsonapidotnetcore;jsonapi;json:api;dotnet;asp.net;rest;web-api</PackageTags>
1413
<Description>Annotations for JsonApiDotNetCore, a framework for building JSON:API compliant REST APIs using ASP.NET and Entity Framework Core.</Description>
1514
<Authors>json-api-dotnet</Authors>

src/JsonApiDotNetCore.OpenApi.Client.Kiota/JsonApiDotNetCore.OpenApi.Client.Kiota.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFrameworks>net8.0</TargetFrameworks>
44
<IsPackable>true</IsPackable>
@@ -10,7 +10,7 @@
1010
<Import Project="..\..\package-versions.props" />
1111

1212
<PropertyGroup>
13-
<VersionPrefix>$(JsonApiDotNetCoreVersionPrefix)</VersionPrefix>
13+
<Version Condition="'$(OpenApiPreviewNumber)' != '' AND '$(VersionSuffix)' == ''">$(VersionPrefix)-preview.$(OpenApiPreviewNumber)</Version>
1414
<PackageTags>jsonapidotnetcore;jsonapi;json:api;dotnet;asp.net;rest;web-api;openapi;swagger;client;kiota</PackageTags>
1515
<Description>Provides OpenAPI support for JSON:API generated clients using Kiota.</Description>
1616
<Authors>json-api-dotnet</Authors>

src/JsonApiDotNetCore.OpenApi.Client.NSwag/JsonApiDotNetCore.OpenApi.Client.NSwag.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFrameworks>net8.0</TargetFrameworks>
44
<IsPackable>true</IsPackable>
@@ -9,7 +9,7 @@
99
<Import Project="..\..\package-versions.props" />
1010

1111
<PropertyGroup>
12-
<VersionPrefix>$(JsonApiDotNetCoreVersionPrefix)</VersionPrefix>
12+
<Version Condition="'$(OpenApiPreviewNumber)' != '' AND '$(VersionSuffix)' == ''">$(VersionPrefix)-preview.$(OpenApiPreviewNumber)</Version>
1313
<PackageTags>jsonapidotnetcore;jsonapi;json:api;dotnet;asp.net;rest;web-api;openapi;swagger;client;nswag</PackageTags>
1414
<Description>Provides OpenAPI support for JSON:API generated clients using NSwag.</Description>
1515
<Authors>json-api-dotnet</Authors>

src/JsonApiDotNetCore.OpenApi.Swashbuckle/JsonApiDotNetCore.OpenApi.Swashbuckle.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<Import Project="..\..\package-versions.props" />
1010

1111
<PropertyGroup>
12-
<VersionPrefix>$(JsonApiDotNetCoreVersionPrefix)</VersionPrefix>
12+
<Version Condition="'$(OpenApiPreviewNumber)' != '' AND '$(VersionSuffix)' == ''">$(VersionPrefix)-preview.$(OpenApiPreviewNumber)</Version>
1313
<PackageTags>jsonapidotnetcore;jsonapi;json:api;dotnet;asp.net;rest;web-api;openapi;swagger;swaggerui;swashbuckle</PackageTags>
1414
<Description>A Swashbuckle integration that enables you to describe a JsonApiDotNetCore API with an OpenAPI specification.</Description>
1515
<Authors>json-api-dotnet</Authors>

src/JsonApiDotNetCore.SourceGenerators/JsonApiDotNetCore.SourceGenerators.csproj

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
<Import Project="..\..\package-versions.props" />
1212

1313
<PropertyGroup>
14-
<VersionPrefix>$(JsonApiDotNetCoreVersionPrefix)</VersionPrefix>
1514
<PackageTags>jsonapidotnetcore;jsonapi;json:api;dotnet;asp.net;rest;web-api</PackageTags>
1615
<Description>Source generators for JsonApiDotNetCore, a framework for building JSON:API compliant REST APIs using ASP.NET and Entity Framework Core.</Description>
1716
<Authors>json-api-dotnet</Authors>

src/JsonApiDotNetCore/JsonApiDotNetCore.csproj

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
<Import Project="..\..\package-versions.props" />
99

1010
<PropertyGroup>
11-
<VersionPrefix>$(JsonApiDotNetCoreVersionPrefix)</VersionPrefix>
1211
<PackageTags>jsonapidotnetcore;jsonapi;json:api;dotnet;asp.net;rest;web-api</PackageTags>
1312
<Description>A framework for building JSON:API compliant REST APIs using ASP.NET and Entity Framework Core. Includes support for Atomic Operations. The ultimate goal of this library is to eliminate as much boilerplate as possible by offering out-of-the-box features such as sorting, filtering and pagination. You just need to focus on defining the resources and implementing your custom business logic. This library has been designed around dependency injection making extensibility incredibly easy.</Description>
1413
<Authors>json-api-dotnet</Authors>

0 commit comments

Comments
 (0)