Skip to content

Commit 7387007

Browse files
Merge pull request #1482 from microsoft/vnext
Release Hidi & libs
2 parents aab3d82 + 9037ca4 commit 7387007

File tree

19 files changed

+100
-36
lines changed

19 files changed

+100
-36
lines changed

.github/workflows/docker.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ jobs:
3030
id: getversion
3131
- name: Push to GitHub Packages - Nightly
3232
if: ${{ github.ref == 'refs/heads/vnext' }}
33-
uses: docker/build-push-action@v5.0.0
33+
uses: docker/build-push-action@v5.1.0
3434
with:
3535
push: true
3636
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:nightly
3737
- name: Push to GitHub Packages - Release
3838
if: ${{ github.ref == 'refs/heads/master' }}
39-
uses: docker/build-push-action@v5.0.0
39+
uses: docker/build-push-action@v5.1.0
4040
with:
4141
push: true
4242
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.getversion.outputs.version }}

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@
2020
<ItemGroup>
2121
<PackageReference
2222
Condition="!$(MSBuildProjectName.EndsWith('Tests'))"
23-
Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
23+
Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All"/>
2424
</ItemGroup>
2525
</Project>

src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<Nullable>enable</Nullable>
1010
<ToolCommandName>hidi</ToolCommandName>
1111
<PackageOutputPath>./../../artifacts</PackageOutputPath>
12-
<Version>1.3.5</Version>
12+
<Version>1.3.6</Version>
1313
<Description>OpenAPI.NET CLI tool for slicing OpenAPI documents</Description>
1414
<SignAssembly>true</SignAssembly>
1515
<!-- https://github.com/dotnet/sourcelink/blob/main/docs/README.md#embeduntrackedsources -->
@@ -29,10 +29,10 @@
2929

3030
<ItemGroup>
3131
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
32-
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
33-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.1" />
34-
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
35-
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
32+
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
33+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
34+
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
35+
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" />
3636
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
3737
<PackageReference Include="Microsoft.OData.Edm" Version="7.18.0" />
3838
<PackageReference Include="Microsoft.OpenApi.OData" Version="1.5.0-preview9" />

src/Microsoft.OpenApi.Hidi/Utilities/SettingsUtilities.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

4+
using System.IO;
45
using Microsoft.Extensions.Configuration;
56
using Microsoft.OpenApi.OData;
67

@@ -11,15 +12,19 @@ internal static class SettingsUtilities
1112
internal static IConfiguration GetConfiguration(string? settingsFile = null)
1213
{
1314
if (string.IsNullOrEmpty(settingsFile))
15+
{
1416
settingsFile = "appsettings.json";
17+
}
18+
19+
var settingsFilePath = Path.Combine(Directory.GetCurrentDirectory(), settingsFile);
1520

1621
IConfiguration config = new ConfigurationBuilder()
17-
.AddJsonFile(settingsFile, true)
18-
.Build();
22+
.AddJsonFile(settingsFilePath, true)
23+
.Build();
1924

2025
return config;
2126
}
22-
27+
2328
internal static OpenApiConvertSettings GetOpenApiConvertSettings(IConfiguration config, string? metadataVersion)
2429
{
2530
if (config == null) { throw new System.ArgumentNullException(nameof(config)); }

src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<TargetFramework>netstandard2.0</TargetFramework>
44
<LangVersion>latest</LangVersion>
55
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
6-
<Version>1.6.10</Version>
6+
<Version>1.6.11</Version>
77
<Description>OpenAPI.NET Readers for JSON and YAML documents</Description>
88
<SignAssembly>true</SignAssembly>
99
<!-- https://github.com/dotnet/sourcelink/blob/main/docs/README.md#embeduntrackedsources -->
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT license.
3+
4+
using System;
5+
using System.Globalization;
6+
7+
namespace Microsoft.OpenApi.Readers.ParseNodes
8+
{
9+
/// <summary>
10+
/// Useful tools to parse data
11+
/// </summary>
12+
internal class ParserHelper
13+
{
14+
/// <summary>
15+
/// Parses decimal in invariant culture.
16+
/// If the decimal is too big or small, it returns the default value
17+
///
18+
/// Note: sometimes developers put Double.MaxValue or Long.MaxValue as min/max values for numbers in json schema even if their numbers are not expected to be that big/small.
19+
/// As we have already released the library with Decimal type for Max/Min, let's not introduce the breaking change and just fallback to Decimal.Max / Min. This should satisfy almost every scenario.
20+
/// We can revisit this if somebody really needs to have double or long here.
21+
/// </summary>
22+
/// <returns></returns>
23+
public static decimal ParseDecimalWithFallbackOnOverflow(string value, decimal defaultValue)
24+
{
25+
try
26+
{
27+
return decimal.Parse(value, NumberStyles.Float, CultureInfo.InvariantCulture);
28+
}
29+
catch (OverflowException)
30+
{
31+
return defaultValue;
32+
}
33+
}
34+
}
35+
}

src/Microsoft.OpenApi.Readers/V2/OpenApiHeaderDeserializer.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) Microsoft Corporation. All rights reserved.
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

44
using System;
@@ -44,15 +44,15 @@ internal static partial class OpenApiV2Deserializer
4444
},
4545
{
4646
"maximum",
47-
(o, n) => GetOrCreateSchema(o).Maximum = decimal.Parse(n.GetScalarValue(), CultureInfo.InvariantCulture)
47+
(o, n) => GetOrCreateSchema(o).Maximum = ParserHelper.ParseDecimalWithFallbackOnOverflow(n.GetScalarValue(), decimal.MaxValue)
4848
},
4949
{
5050
"exclusiveMaximum",
5151
(o, n) => GetOrCreateSchema(o).ExclusiveMaximum = bool.Parse(n.GetScalarValue())
5252
},
5353
{
5454
"minimum",
55-
(o, n) => GetOrCreateSchema(o).Minimum = decimal.Parse(n.GetScalarValue(), CultureInfo.InvariantCulture)
55+
(o, n) => GetOrCreateSchema(o).Minimum = ParserHelper.ParseDecimalWithFallbackOnOverflow(n.GetScalarValue(), decimal.MinValue)
5656
},
5757
{
5858
"exclusiveMinimum",

src/Microsoft.OpenApi.Readers/V2/OpenApiParameterDeserializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ internal static partial class OpenApiV2Deserializer
6161
},
6262
{
6363
"minimum",
64-
(o, n) => GetOrCreateSchema(o).Minimum = decimal.Parse(n.GetScalarValue(), CultureInfo.InvariantCulture)
64+
(o, n) => GetOrCreateSchema(o).Minimum = ParserHelper.ParseDecimalWithFallbackOnOverflow(n.GetScalarValue(), decimal.MinValue)
6565
},
6666
{
6767
"maximum",
68-
(o, n) => GetOrCreateSchema(o).Maximum = decimal.Parse(n.GetScalarValue(), CultureInfo.InvariantCulture)
68+
(o, n) => GetOrCreateSchema(o).Maximum = ParserHelper.ParseDecimalWithFallbackOnOverflow(n.GetScalarValue(), decimal.MaxValue)
6969
},
7070
{
7171
"maxLength",

src/Microsoft.OpenApi.Readers/V2/OpenApiSchemaDeserializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ internal static partial class OpenApiV2Deserializer
2727
},
2828
{
2929
"maximum",
30-
(o, n) => o.Maximum = decimal.Parse(n.GetScalarValue(), NumberStyles.Float, CultureInfo.InvariantCulture)
30+
(o, n) => o.Maximum = ParserHelper.ParseDecimalWithFallbackOnOverflow(n.GetScalarValue(), decimal.MaxValue)
3131
},
3232
{
3333
"exclusiveMaximum",
3434
(o, n) => o.ExclusiveMaximum = bool.Parse(n.GetScalarValue())
3535
},
3636
{
3737
"minimum",
38-
(o, n) => o.Minimum = decimal.Parse(n.GetScalarValue(), NumberStyles.Float, CultureInfo.InvariantCulture)
38+
(o, n) => o.Minimum = ParserHelper.ParseDecimalWithFallbackOnOverflow(n.GetScalarValue(), decimal.MinValue)
3939
},
4040
{
4141
"exclusiveMinimum",

src/Microsoft.OpenApi.Readers/V3/OpenApiSchemaDeserializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ internal static partial class OpenApiV3Deserializer
2727
},
2828
{
2929
"maximum",
30-
(o, n) => o.Maximum = decimal.Parse(n.GetScalarValue(), NumberStyles.Float, CultureInfo.InvariantCulture)
30+
(o, n) => o.Maximum = ParserHelper.ParseDecimalWithFallbackOnOverflow(n.GetScalarValue(), decimal.MaxValue)
3131
},
3232
{
3333
"exclusiveMaximum",
3434
(o, n) => o.ExclusiveMaximum = bool.Parse(n.GetScalarValue())
3535
},
3636
{
3737
"minimum",
38-
(o, n) => o.Minimum = decimal.Parse(n.GetScalarValue(), NumberStyles.Float, CultureInfo.InvariantCulture)
38+
(o, n) => o.Minimum = ParserHelper.ParseDecimalWithFallbackOnOverflow(n.GetScalarValue(), decimal.MinValue)
3939
},
4040
{
4141
"exclusiveMinimum",

0 commit comments

Comments
 (0)