diff --git a/.github/ISSUE_TEMPLATE/workflows/azure-pipelines_nightly.yml b/.github/ISSUE_TEMPLATE/workflows/azure-pipelines_nightly.yml index 07f5e05..cdf3482 100644 --- a/.github/ISSUE_TEMPLATE/workflows/azure-pipelines_nightly.yml +++ b/.github/ISSUE_TEMPLATE/workflows/azure-pipelines_nightly.yml @@ -29,6 +29,11 @@ variables: steps: +- task: UseDotNet@2 + displayName: 'Use .NET 6' + inputs: + version: 6.x + - task: PoliCheck@1 displayName: 'Run PoliCheck "OpenApi.OData-master\src"' inputs: diff --git a/.github/ISSUE_TEMPLATE/workflows/azure-pipelines_rolling.yml b/.github/ISSUE_TEMPLATE/workflows/azure-pipelines_rolling.yml index 4bf2bd3..6113cfe 100644 --- a/.github/ISSUE_TEMPLATE/workflows/azure-pipelines_rolling.yml +++ b/.github/ISSUE_TEMPLATE/workflows/azure-pipelines_rolling.yml @@ -27,6 +27,11 @@ variables: steps: +- task: UseDotNet@2 + displayName: 'Use .NET 6' + inputs: + version: 6.x + - task: PoliCheck@1 displayName: 'Run PoliCheck ".\src"' inputs: diff --git a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj index 0fad708..c9d376f 100644 --- a/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj +++ b/src/Microsoft.OpenApi.OData.Reader/Microsoft.OpenAPI.OData.Reader.csproj @@ -1,4 +1,4 @@ - + Microsoft.OpenApi.OData.Reader @@ -19,12 +19,12 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/OoasGui/App.config b/src/OoasGui/App.config deleted file mode 100644 index 731f6de..0000000 --- a/src/OoasGui/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/OoasGui/MainForm.cs b/src/OoasGui/MainForm.cs index d346525..5443fa6 100644 --- a/src/OoasGui/MainForm.cs +++ b/src/OoasGui/MainForm.cs @@ -16,9 +16,9 @@ using System.Text; using Microsoft.OpenApi.Extensions; using Microsoft.OpenApi.Models; using Microsoft.OpenApi.OData; -using System.Net; using System.Xml; using System.Threading.Tasks; +using System.Net.Http; namespace OoasGui { @@ -120,6 +120,8 @@ namespace OoasGui } } + private static HttpClient client = new(); + private async void loadBtn_Click(object sender, EventArgs e) { string url = urlTextBox.Text; @@ -136,15 +138,10 @@ namespace OoasGui requestUri = new Uri(url + "/$metadata"); } - WebRequest request = WebRequest.Create(requestUri); + HttpResponseMessage response = await client.GetAsync(requestUri); - WebResponse response = request.GetResponse(); + string csdl = await response.Content.ReadAsStringAsync(); - Stream receivedStream = response.GetResponseStream(); - - StreamReader reader = new StreamReader(receivedStream, Encoding.UTF8); - - string csdl = reader.ReadToEnd(); LoadEdm(url, csdl); csdlRichTextBox.Text = FormatXml(csdl); Settings.ServiceRoot = requestUri; diff --git a/src/OoasGui/OoasGui.csproj b/src/OoasGui/OoasGui.csproj index cefa390..65253b3 100644 --- a/src/OoasGui/OoasGui.csproj +++ b/src/OoasGui/OoasGui.csproj @@ -1,98 +1,23 @@ - - - + - Debug - AnyCPU - {79B190E8-EDB0-4C03-8FD8-EB48E4807CFB} + net6.0-windows WinExe - OoasGui - OoasGui - v4.7.2 - 512 - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + false + true + true - - ..\..\packages\Microsoft.OData.Edm.7.6.1\lib\portable-net45+win8+wpa81\Microsoft.OData.Edm.dll - - - ..\..\packages\Microsoft.OpenApi.1.2.2\lib\net46\Microsoft.OpenApi.dll - - - - - - - - - - - - - - - - Form - - - MainForm.cs - - - - - MainForm.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - .editorconfig - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - + - - {ff3acd93-19e0-486c-9c0f-fa1c2e7fc8c2} - Microsoft.OpenApi.OData.Reader - + + + + - \ No newline at end of file diff --git a/src/OoasGui/packages.config b/src/OoasGui/packages.config deleted file mode 100644 index 41281a9..0000000 --- a/src/OoasGui/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/OoasUtil/OoasUtil.csproj b/src/OoasUtil/OoasUtil.csproj index b624326..1ae18e2 100644 --- a/src/OoasUtil/OoasUtil.csproj +++ b/src/OoasUtil/OoasUtil.csproj @@ -2,7 +2,7 @@ Exe - net472 + net6.0 diff --git a/src/OoasUtil/UrlOpenApiGenerator.cs b/src/OoasUtil/UrlOpenApiGenerator.cs index 5165be0..91e7e92 100644 --- a/src/OoasUtil/UrlOpenApiGenerator.cs +++ b/src/OoasUtil/UrlOpenApiGenerator.cs @@ -5,14 +5,13 @@ //--------------------------------------------------------------------- using System; -using System.Net; -using System.IO; -using System.Text; using System.Xml.Linq; using Microsoft.OData.Edm; using Microsoft.OData.Edm.Csdl; using Microsoft.OpenApi; using Microsoft.OpenApi.OData; +using System.Net.Http; +using System.Threading.Tasks; namespace OoasUtil { @@ -44,20 +43,17 @@ namespace OoasUtil /// protected override IEdmModel GetEdmModel() { - Uri requestUri = new Uri(Input.OriginalString + "/$metadata"); + Uri requestUri = new (Input.OriginalString + "/$metadata"); - WebRequest request = WebRequest.Create(requestUri); - - WebResponse response = request.GetResponse(); - - Stream receivedStream = response.GetResponseStream(); - - StreamReader reader = new StreamReader(receivedStream, Encoding.UTF8); - - string csdl = reader.ReadToEnd(); + string csdl = GetModelDocumentAsync(requestUri).GetAwaiter().GetResult(); return CsdlReader.Parse(XElement.Parse(csdl).CreateReader()); } + private async Task GetModelDocumentAsync(Uri requestUri) { + HttpResponseMessage response = await client.GetAsync(requestUri); + return await response.Content.ReadAsStringAsync(); + } + private static readonly HttpClient client = new (); protected override void ModifySettings() { diff --git a/test/Microsoft.OpenAPI.OData.Reader.Tests/Microsoft.OpenAPI.OData.Reader.Tests.csproj b/test/Microsoft.OpenAPI.OData.Reader.Tests/Microsoft.OpenAPI.OData.Reader.Tests.csproj index d24893f..a0a70e0 100644 --- a/test/Microsoft.OpenAPI.OData.Reader.Tests/Microsoft.OpenAPI.OData.Reader.Tests.csproj +++ b/test/Microsoft.OpenAPI.OData.Reader.Tests/Microsoft.OpenAPI.OData.Reader.Tests.csproj @@ -1,9 +1,9 @@ - + Microsoft.OpenApi.OData.Reader.Tests Microsoft.OpenApi.OData.Reader.Tests - net472;netcoreapp2.1 + net472;net6.0 true ..\..\tool\35MSSharedLib1024.snk true @@ -61,10 +61,10 @@ - - + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/tool/UpdateDocs/Program.cs b/tool/UpdateDocs/Program.cs index da99806..174fdd7 100644 --- a/tool/UpdateDocs/Program.cs +++ b/tool/UpdateDocs/Program.cs @@ -74,7 +74,7 @@ namespace UpdateDocs output = oas20 + "/" + fileName + ".json"; File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi2_0)); - Console.WriteLine("Output [ " + fileName + " ] Succeessful!"); + Console.WriteLine("Output [ " + fileName + " ] Successful!"); } Console.WriteLine("\n==> All Done!"); diff --git a/tool/UpdateDocs/UpdateDocs.csproj b/tool/UpdateDocs/UpdateDocs.csproj index 809b34e..536a08a 100644 --- a/tool/UpdateDocs/UpdateDocs.csproj +++ b/tool/UpdateDocs/UpdateDocs.csproj @@ -1,64 +1,18 @@ - - - + - Debug - AnyCPU - {6D5453C2-E35F-4CC6-B774-4C676F5F33D1} + net6.0 Exe - UpdateDocs - UpdateDocs - v4.6.1 - 512 - true - - - AnyCPU - true - full - false - bin\Debug\net461\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + false - - packages\Microsoft.OData.Edm.7.6.1\lib\portable-net45+win8+wpa81\Microsoft.OData.Edm.dll - - - packages\Microsoft.OpenApi.1.2.2\lib\net46\Microsoft.OpenApi.dll - - - - - - - - - + - - + + - - {ff3acd93-19e0-486c-9c0f-fa1c2e7fc8c2} - Microsoft.OpenApi.OData.Reader - + + - - - - \ No newline at end of file diff --git a/tool/UpdateDocs/UpdateDocs.sln b/tool/UpdateDocs/UpdateDocs.sln index 9503da8..cd707c7 100644 --- a/tool/UpdateDocs/UpdateDocs.sln +++ b/tool/UpdateDocs/UpdateDocs.sln @@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateDocs", "UpdateDocs.cs EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenApi.OData.Reader", "..\..\src\Microsoft.OpenApi.OData.Reader\Microsoft.OpenApi.OData.Reader.csproj", "{B7A15A06-0B61-4557-9BD4-0E4F32DE119D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateDocsCore", "..\UpdateDocsCore\UpdateDocsCore.csproj", "{810B988E-24A2-4B6F-8FD3-B5B9FB25A44B}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -23,10 +21,6 @@ Global {B7A15A06-0B61-4557-9BD4-0E4F32DE119D}.Debug|Any CPU.Build.0 = Debug|Any CPU {B7A15A06-0B61-4557-9BD4-0E4F32DE119D}.Release|Any CPU.ActiveCfg = Release|Any CPU {B7A15A06-0B61-4557-9BD4-0E4F32DE119D}.Release|Any CPU.Build.0 = Release|Any CPU - {810B988E-24A2-4B6F-8FD3-B5B9FB25A44B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {810B988E-24A2-4B6F-8FD3-B5B9FB25A44B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {810B988E-24A2-4B6F-8FD3-B5B9FB25A44B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {810B988E-24A2-4B6F-8FD3-B5B9FB25A44B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/tool/UpdateDocs/packages.config b/tool/UpdateDocs/packages.config deleted file mode 100644 index e224131..0000000 --- a/tool/UpdateDocs/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/tool/UpdateDocsCore/Program.cs b/tool/UpdateDocsCore/Program.cs deleted file mode 100644 index da99806..0000000 --- a/tool/UpdateDocsCore/Program.cs +++ /dev/null @@ -1,98 +0,0 @@ -//--------------------------------------------------------------------- -// -// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. -// -//--------------------------------------------------------------------- - -using System; -using System.IO; -using System.Xml.Linq; -using Microsoft.OData.Edm; -using Microsoft.OData.Edm.Csdl; -using Microsoft.OpenApi; -using Microsoft.OpenApi.Models; -using Microsoft.OpenApi.OData; -using Microsoft.OpenApi.Extensions; - -namespace UpdateDocs -{ - class Program - { - static int Main(string[] args) - { - // we assume the path are existed for simplicity. - string path = Directory.GetCurrentDirectory(); - string csdl = path + "/../../../../../docs/csdl"; - string oas20 = path + "/../../../../../docs/oas_2_0"; - string oas30 = path + "/../../../../../docs/oas3_0_0"; - - foreach (var filePath in Directory.GetFiles(csdl, "*.xml")) - { - Console.WriteLine(filePath); - - IEdmModel model = LoadEdmModel(filePath); - if (model == null) - { - continue; - } - - FileInfo fileInfo = new FileInfo(filePath); - string fileName = fileInfo.Name.Substring(0, fileInfo.Name.Length - 4); - - OpenApiConvertSettings settings = new OpenApiConvertSettings(); - if (fileName.Contains("graph.beta")) - { - settings.PrefixEntityTypeNameBeforeKey = true; - settings.ServiceRoot = new Uri("https://graph.microsoft.com/beta"); - } - else if (fileName.Contains("graph1.0")) - { - settings.PrefixEntityTypeNameBeforeKey = true; - settings.ServiceRoot = new Uri("https://graph.microsoft.com/v1.0"); - } - - OpenApiDocument document = model.ConvertToOpenApi(settings); - - string output;/* = oas20 + "/" + fileName + ".yaml"; - File.WriteAllText(output, document.SerializeAsYaml(OpenApiSpecVersion.OpenApi2_0)); - - output = oas20 + "/" + fileName + ".json"; - File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi2_0)); - - output = oas30 + "/" + fileName + ".yaml"; - File.WriteAllText(output, document.SerializeAsYaml(OpenApiSpecVersion.OpenApi3_0)); - - output = oas30 + "/" + fileName + ".json"; - File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0)); - */ - settings.EnableKeyAsSegment = true; - settings.EnableUnqualifiedCall = true; - output = oas30 + "/" + fileName + ".json"; - document = model.ConvertToOpenApi(settings); - File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0)); - - output = oas20 + "/" + fileName + ".json"; - File.WriteAllText(output, document.SerializeAsJson(OpenApiSpecVersion.OpenApi2_0)); - - Console.WriteLine("Output [ " + fileName + " ] Succeessful!"); - } - - Console.WriteLine("\n==> All Done!"); - return 0; - } - - public static IEdmModel LoadEdmModel(string file) - { - try - { - string csdl = File.ReadAllText(file); - return CsdlReader.Parse(XElement.Parse(csdl).CreateReader()); - } - catch - { - Console.WriteLine("Cannot load EDM from file: " + file); - return null; - } - } - } -} diff --git a/tool/UpdateDocsCore/UpdateDocsCore.csproj b/tool/UpdateDocsCore/UpdateDocsCore.csproj deleted file mode 100644 index 0599afa..0000000 --- a/tool/UpdateDocsCore/UpdateDocsCore.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - Exe - net5.0 - - - - - - -