From 0a454d5773afeb3ae0e9f967c2377e936112dc6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Melvyn=20La=C3=AFly?= Date: Sun, 26 Feb 2023 19:20:21 +0100 Subject: [PATCH 1/6] Move non-http code from FSharp.Data.Http into a new FSharp.Data.Runtime.Utilities project --- .editorconfig | 3 ++ FSharp.Data.sln | 6 ++++ RELEASE_NOTES.md | 1 + build.fsx | 2 +- docs/library/CsvFile.fsx | 2 +- docs/library/CsvProvider.fsx | 2 +- docs/library/HtmlCssSelectors.fsx | 2 +- docs/library/HtmlParser.fsx | 2 +- docs/library/HtmlProvider.fsx | 2 +- docs/library/JsonProvider.fsx | 1 + docs/library/JsonValue.fsx | 1 + docs/library/WorldBank.fsx | 2 +- docs/library/XmlProvider.fsx | 2 +- docs/tutorials/JsonAnonymizer.fsx | 1 + docs/tutorials/JsonToXml.fsx | 1 + src/AssemblyInfo.Runtime.Utilities.fs | 17 ++++++++++ .../FSharp.Data.Csv.Core.fsproj | 2 +- .../FSharp.Data.DesignTime.fsproj | 2 +- .../FSharp.Data.Html.Core.fsproj | 2 +- src/FSharp.Data.Http/FSharp.Data.Http.fsproj | 9 ----- src/FSharp.Data.Http/InternalsVisibleTo.fs | 1 + .../FSharp.Data.Json.Core.fsproj | 1 + .../FSharp.Data.Runtime.Utilities.fsproj | 33 +++++++++++++++++++ .../InternalsVisibleTo.fs | 14 ++++++++ .../PublicApi.fs | 0 .../paket.references | 2 ++ .../FSharp.Data.WorldBank.Core.fsproj | 1 + .../FSharp.Data.Xml.Core.fsproj | 1 + src/FSharp.Data/FSharp.Data.fsproj | 1 + .../FSharp.Data.Core.Tests.CSharp.csproj | 2 +- .../FSharp.Data.Core.Tests.fsproj | 1 + .../TypeProviderInstantiation.fs | 1 + 32 files changed, 99 insertions(+), 21 deletions(-) create mode 100644 src/AssemblyInfo.Runtime.Utilities.fs create mode 100644 src/FSharp.Data.Runtime.Utilities/FSharp.Data.Runtime.Utilities.fsproj create mode 100644 src/FSharp.Data.Runtime.Utilities/InternalsVisibleTo.fs rename src/{FSharp.Data.Http => FSharp.Data.Runtime.Utilities}/PublicApi.fs (100%) create mode 100644 src/FSharp.Data.Runtime.Utilities/paket.references diff --git a/.editorconfig b/.editorconfig index 06e694cd9..cbe4b75a1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,6 +9,9 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true +[*.fsproj] +indent_size = 2 + [*.md] trim_trailing_whitespace = false diff --git a/FSharp.Data.sln b/FSharp.Data.sln index f988e5485..8c0cb07c6 100755 --- a/FSharp.Data.sln +++ b/FSharp.Data.sln @@ -92,6 +92,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tutorials", "tutorials", "{ docs\tutorials\JsonToXml.fsx = docs\tutorials\JsonToXml.fsx EndProjectSection EndProject +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Data.Runtime.Utilities", "src\FSharp.Data.Runtime.Utilities\FSharp.Data.Runtime.Utilities.fsproj", "{D04AFA70-4A59-4E1C-AC41-BA0EA70140FF}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -150,6 +152,10 @@ Global {A69D007B-EAF0-4866-A8B4-A2EDF2614E56}.Debug|Any CPU.Build.0 = Debug|Any CPU {A69D007B-EAF0-4866-A8B4-A2EDF2614E56}.Release|Any CPU.ActiveCfg = Release|Any CPU {A69D007B-EAF0-4866-A8B4-A2EDF2614E56}.Release|Any CPU.Build.0 = Release|Any CPU + {D04AFA70-4A59-4E1C-AC41-BA0EA70140FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D04AFA70-4A59-4E1C-AC41-BA0EA70140FF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D04AFA70-4A59-4E1C-AC41-BA0EA70140FF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D04AFA70-4A59-4E1C-AC41-BA0EA70140FF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b59d24043..182af1aab 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,7 @@ ### 6.0.1-beta002 - Jan 6 2023 * Change the namespace of the `InferenceMode` enum from `FSharp.Data.Runtime.StructuralInference` to `FSharp.Data`. +* Move common runtime utilities out of `FSharp.Data.Http` and into a new `FSharp.Data.Runtime.Utilities` assembly. ### 6.0.1-beta001 - Aug 18 2022 diff --git a/build.fsx b/build.fsx index 46d0a3f5f..fec931a5d 100644 --- a/build.fsx +++ b/build.fsx @@ -38,7 +38,7 @@ let description = """ The FSharp.Data packages contain type providers and utilities to access common data formats (CSV, HTML, JSON and XML in your F# applications and scripts. - + * FSharp.Data -- includes everything * FSharp.Data.Http -- http types/helpers * FSharp.Data.Csv.Core -- csv types/helpers diff --git a/docs/library/CsvFile.fsx b/docs/library/CsvFile.fsx index 70bc22bf1..c483148cb 100644 --- a/docs/library/CsvFile.fsx +++ b/docs/library/CsvFile.fsx @@ -6,7 +6,7 @@ index: 2 --- *) (*** condition: prepare ***) -#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Csv.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.dll" (*** condition: fsx ***) diff --git a/docs/library/CsvProvider.fsx b/docs/library/CsvProvider.fsx index d62078e90..79d14ee99 100644 --- a/docs/library/CsvProvider.fsx +++ b/docs/library/CsvProvider.fsx @@ -6,7 +6,7 @@ index: 1 --- *) (*** condition: prepare ***) -#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Csv.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.dll" (*** condition: fsx ***) diff --git a/docs/library/HtmlCssSelectors.fsx b/docs/library/HtmlCssSelectors.fsx index a93bb1450..7a2893d55 100644 --- a/docs/library/HtmlCssSelectors.fsx +++ b/docs/library/HtmlCssSelectors.fsx @@ -6,7 +6,7 @@ index: 4 --- *) (*** condition: prepare ***) -#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Csv.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Html.Core.dll" (*** condition: fsx ***) diff --git a/docs/library/HtmlParser.fsx b/docs/library/HtmlParser.fsx index 78668932a..41b75fe9b 100644 --- a/docs/library/HtmlParser.fsx +++ b/docs/library/HtmlParser.fsx @@ -6,7 +6,7 @@ index: 3 --- *) (*** condition: prepare ***) -#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Csv.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Html.Core.dll" (*** condition: fsx ***) diff --git a/docs/library/HtmlProvider.fsx b/docs/library/HtmlProvider.fsx index 616a104c5..d2ea2c8fb 100644 --- a/docs/library/HtmlProvider.fsx +++ b/docs/library/HtmlProvider.fsx @@ -6,7 +6,7 @@ index: 2 --- *) (*** condition: prepare ***) -#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Csv.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Html.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.dll" diff --git a/docs/library/JsonProvider.fsx b/docs/library/JsonProvider.fsx index a49a3aa9e..b2ec3836c 100644 --- a/docs/library/JsonProvider.fsx +++ b/docs/library/JsonProvider.fsx @@ -7,6 +7,7 @@ index: 3 *) (*** condition: prepare ***) #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Json.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.dll" (*** condition: fsx ***) diff --git a/docs/library/JsonValue.fsx b/docs/library/JsonValue.fsx index 7d6092286..5185b6c39 100644 --- a/docs/library/JsonValue.fsx +++ b/docs/library/JsonValue.fsx @@ -7,6 +7,7 @@ index: 5 *) (*** condition: prepare ***) #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Json.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.dll" (*** condition: fsx ***) diff --git a/docs/library/WorldBank.fsx b/docs/library/WorldBank.fsx index 74eb1736c..992b9f6c9 100644 --- a/docs/library/WorldBank.fsx +++ b/docs/library/WorldBank.fsx @@ -6,7 +6,7 @@ index: 5 --- *) (*** condition: prepare ***) -#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.WorldBank.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.dll" (*** condition: fsx ***) diff --git a/docs/library/XmlProvider.fsx b/docs/library/XmlProvider.fsx index a0f24d825..faceeab4a 100644 --- a/docs/library/XmlProvider.fsx +++ b/docs/library/XmlProvider.fsx @@ -6,7 +6,7 @@ index: 4 --- *) (*** condition: prepare ***) -#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Csv.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Xml.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.dll" diff --git a/docs/tutorials/JsonAnonymizer.fsx b/docs/tutorials/JsonAnonymizer.fsx index f7e1096b2..ce2bc558a 100644 --- a/docs/tutorials/JsonAnonymizer.fsx +++ b/docs/tutorials/JsonAnonymizer.fsx @@ -7,6 +7,7 @@ index: 1 *) (*** condition: prepare ***) #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Json.Core.dll" (*** condition: fsx ***) #if FSX diff --git a/docs/tutorials/JsonToXml.fsx b/docs/tutorials/JsonToXml.fsx index 88e55b78d..3fca72e1a 100644 --- a/docs/tutorials/JsonToXml.fsx +++ b/docs/tutorials/JsonToXml.fsx @@ -7,6 +7,7 @@ index: 2 *) (*** condition: prepare ***) #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Http.dll" +#r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Runtime.Utilities.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Csv.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Json.Core.dll" #r "../../src/FSharp.Data/bin/Release/netstandard2.0/FSharp.Data.Xml.Core.dll" diff --git a/src/AssemblyInfo.Runtime.Utilities.fs b/src/AssemblyInfo.Runtime.Utilities.fs new file mode 100644 index 000000000..be9b7f842 --- /dev/null +++ b/src/AssemblyInfo.Runtime.Utilities.fs @@ -0,0 +1,17 @@ +// Auto-Generated by FAKE; do not edit +namespace System +open System.Reflection + +[] +[] +[] +[] +[] +do () + +module internal AssemblyVersionInformation = + let [] AssemblyTitle = "FSharp.Data.Runtime.Utilities" + let [] AssemblyProduct = "FSharp.Data" + let [] AssemblyDescription = "Library of F# type providers and data access tools" + let [] AssemblyVersion = "6.0.1.0" + let [] AssemblyFileVersion = "6.0.1.0" diff --git a/src/FSharp.Data.Csv.Core/FSharp.Data.Csv.Core.fsproj b/src/FSharp.Data.Csv.Core/FSharp.Data.Csv.Core.fsproj index 41a9be824..35969a0ad 100644 --- a/src/FSharp.Data.Csv.Core/FSharp.Data.Csv.Core.fsproj +++ b/src/FSharp.Data.Csv.Core/FSharp.Data.Csv.Core.fsproj @@ -21,7 +21,7 @@ - + diff --git a/src/FSharp.Data.DesignTime/FSharp.Data.DesignTime.fsproj b/src/FSharp.Data.DesignTime/FSharp.Data.DesignTime.fsproj index d17c75ee7..75bb5de50 100755 --- a/src/FSharp.Data.DesignTime/FSharp.Data.DesignTime.fsproj +++ b/src/FSharp.Data.DesignTime/FSharp.Data.DesignTime.fsproj @@ -41,7 +41,7 @@ - + diff --git a/src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsproj b/src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsproj index 4ce2351fa..2a37dd42e 100644 --- a/src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsproj +++ b/src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsproj @@ -27,7 +27,7 @@ - + diff --git a/src/FSharp.Data.Http/FSharp.Data.Http.fsproj b/src/FSharp.Data.Http/FSharp.Data.Http.fsproj index fcbc2d9b8..a6f9dd6eb 100644 --- a/src/FSharp.Data.Http/FSharp.Data.Http.fsproj +++ b/src/FSharp.Data.Http/FSharp.Data.Http.fsproj @@ -11,16 +11,7 @@ true - - - - - - - - - diff --git a/src/FSharp.Data.Http/InternalsVisibleTo.fs b/src/FSharp.Data.Http/InternalsVisibleTo.fs index b514a2b6b..f92349790 100644 --- a/src/FSharp.Data.Http/InternalsVisibleTo.fs +++ b/src/FSharp.Data.Http/InternalsVisibleTo.fs @@ -2,6 +2,7 @@ namespace FSharp.Data open System.Runtime.CompilerServices +[] [] [] [] diff --git a/src/FSharp.Data.Json.Core/FSharp.Data.Json.Core.fsproj b/src/FSharp.Data.Json.Core/FSharp.Data.Json.Core.fsproj index 7f6e756f3..f506d03d7 100644 --- a/src/FSharp.Data.Json.Core/FSharp.Data.Json.Core.fsproj +++ b/src/FSharp.Data.Json.Core/FSharp.Data.Json.Core.fsproj @@ -24,6 +24,7 @@ + diff --git a/src/FSharp.Data.Runtime.Utilities/FSharp.Data.Runtime.Utilities.fsproj b/src/FSharp.Data.Runtime.Utilities/FSharp.Data.Runtime.Utilities.fsproj new file mode 100644 index 000000000..428761930 --- /dev/null +++ b/src/FSharp.Data.Runtime.Utilities/FSharp.Data.Runtime.Utilities.fsproj @@ -0,0 +1,33 @@ + + + + Library + false + netstandard2.0 + $(OtherFlags) --warnon:1182 --nowarn:10001 --nowarn:44 + true + false + logo.png + + true + + + + + + + + + + + + + + + + + + + + + diff --git a/src/FSharp.Data.Runtime.Utilities/InternalsVisibleTo.fs b/src/FSharp.Data.Runtime.Utilities/InternalsVisibleTo.fs new file mode 100644 index 000000000..b514a2b6b --- /dev/null +++ b/src/FSharp.Data.Runtime.Utilities/InternalsVisibleTo.fs @@ -0,0 +1,14 @@ +namespace FSharp.Data + +open System.Runtime.CompilerServices + +[] +[] +[] +[] +[] +[] +[] +[] +[] +do () diff --git a/src/FSharp.Data.Http/PublicApi.fs b/src/FSharp.Data.Runtime.Utilities/PublicApi.fs similarity index 100% rename from src/FSharp.Data.Http/PublicApi.fs rename to src/FSharp.Data.Runtime.Utilities/PublicApi.fs diff --git a/src/FSharp.Data.Runtime.Utilities/paket.references b/src/FSharp.Data.Runtime.Utilities/paket.references new file mode 100644 index 000000000..c89b441a0 --- /dev/null +++ b/src/FSharp.Data.Runtime.Utilities/paket.references @@ -0,0 +1,2 @@ +Microsoft.SourceLink.GitHub +FSharp.Core diff --git a/src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsproj b/src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsproj index dd467c2e8..0f55a696d 100644 --- a/src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsproj +++ b/src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsproj @@ -19,6 +19,7 @@ + diff --git a/src/FSharp.Data.Xml.Core/FSharp.Data.Xml.Core.fsproj b/src/FSharp.Data.Xml.Core/FSharp.Data.Xml.Core.fsproj index 57ff8f755..2f2c9ae35 100644 --- a/src/FSharp.Data.Xml.Core/FSharp.Data.Xml.Core.fsproj +++ b/src/FSharp.Data.Xml.Core/FSharp.Data.Xml.Core.fsproj @@ -22,6 +22,7 @@ + diff --git a/src/FSharp.Data/FSharp.Data.fsproj b/src/FSharp.Data/FSharp.Data.fsproj index f073b4ce0..3bd0abbfb 100755 --- a/src/FSharp.Data/FSharp.Data.fsproj +++ b/src/FSharp.Data/FSharp.Data.fsproj @@ -29,6 +29,7 @@ + diff --git a/tests/FSharp.Data.Core.Tests.CSharp/FSharp.Data.Core.Tests.CSharp.csproj b/tests/FSharp.Data.Core.Tests.CSharp/FSharp.Data.Core.Tests.CSharp.csproj index eb9a5777b..47d29f70a 100644 --- a/tests/FSharp.Data.Core.Tests.CSharp/FSharp.Data.Core.Tests.CSharp.csproj +++ b/tests/FSharp.Data.Core.Tests.CSharp/FSharp.Data.Core.Tests.CSharp.csproj @@ -15,7 +15,7 @@ - + diff --git a/tests/FSharp.Data.Core.Tests/FSharp.Data.Core.Tests.fsproj b/tests/FSharp.Data.Core.Tests/FSharp.Data.Core.Tests.fsproj index aa48b9f93..c41c7063d 100644 --- a/tests/FSharp.Data.Core.Tests/FSharp.Data.Core.Tests.fsproj +++ b/tests/FSharp.Data.Core.Tests/FSharp.Data.Core.Tests.fsproj @@ -36,6 +36,7 @@ + diff --git a/tests/FSharp.Data.DesignTime.Tests/TypeProviderInstantiation.fs b/tests/FSharp.Data.DesignTime.Tests/TypeProviderInstantiation.fs index b7790fbdb..eb2972d58 100644 --- a/tests/FSharp.Data.DesignTime.Tests/TypeProviderInstantiation.fs +++ b/tests/FSharp.Data.DesignTime.Tests/TypeProviderInstantiation.fs @@ -260,6 +260,7 @@ type internal TypeProviderInstantiation = let extraDlls = [ "FSharp.Data.Http" + "FSharp.Data.Runtime.Utilities" "FSharp.Data.Csv.Core" "FSharp.Data.Html.Core" "FSharp.Data.Xml.Core" From 8e9843628816cd0a1b71b5b3ee7ecf3fec4bcf06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Melvyn=20La=C3=AFly?= Date: Sun, 26 Feb 2023 19:45:59 +0100 Subject: [PATCH 2/6] Move source files into the folders of the projects they belong to --- .../CsvExtensions.fs | 0 src/{Csv => FSharp.Data.Csv.Core}/CsvFile.fs | 0 .../CsvInference.fs | 0 .../CsvRuntime.fs | 0 .../FSharp.Data.Csv.Core.fsproj | 8 +++--- .../AssemblyResolver.fs | 0 .../ConversionsGenerator.fs | 0 .../CommonProviderImplementation/Helpers.fs | 0 .../QuotationBuilder.fs | 0 .../Csv/CsvGenerator.fs | 0 .../Csv/CsvProvider.fs | 0 .../FSharp.Data.DesignTime.fsproj | 28 +++++++++---------- .../Html/HtmlGenerator.fs | 0 .../Html/HtmlProvider.fs | 0 .../Json/JsonConversionsGenerator.fs | 0 .../Json/JsonGenerator.fs | 0 .../Json/JsonProvider.fs | 0 .../WorldBank/WorldBankProvider.fs | 0 .../Xml/XmlGenerator.fs | 0 .../Xml/XmlProvider.fs | 0 .../FSharp.Data.Html.Core.fsproj | 18 ++++++------ .../HtmlActivePatterns.fs | 0 .../HtmlCharRefs.fs | 0 .../HtmlCssSelectorExtensions.fs | 0 .../HtmlCssSelectors.fs | 0 .../HtmlInference.fs | 0 .../HtmlNode.fs | 0 .../HtmlOperations.fs | 0 .../HtmlParser.fs | 0 .../HtmlRuntime.fs | 0 src/FSharp.Data.Http/FSharp.Data.Http.fsproj | 2 +- src/{Net => FSharp.Data.Http}/Http.fs | 0 .../FSharp.Data.Json.Core.fsproj | 12 ++++---- .../JsonConversions.fs | 0 .../JsonDocument.fs | 0 .../JsonExtensions.fs | 0 .../JsonInference.fs | 0 .../JsonRuntime.fs | 0 .../JsonValue.fs | 0 .../Caching.fs | 0 .../FSharp.Data.Runtime.Utilities.fsproj | 16 +++++------ .../IO.fs | 0 .../NameUtils.fs | 0 .../Pluralizer.fs | 0 .../StructuralInference.fs | 0 .../StructuralTypes.fs | 0 .../TextConversions.fs | 0 .../TextRuntime.fs | 0 .../FSharp.Data.WorldBank.Core.fsproj | 2 +- .../WorldBankRuntime.fs | 0 .../FSharp.Data.Xml.Core.fsproj | 8 +++--- .../XmlExtensions.fs | 0 .../XmlInference.fs | 0 .../XmlRuntime.fs | 0 .../XsdInference.fs | 0 src/FSharp.Data/FSharp.Data.fsproj | 2 +- src/{ => FSharp.Data}/Runtime.fs | 0 57 files changed, 48 insertions(+), 48 deletions(-) rename src/{Csv => FSharp.Data.Csv.Core}/CsvExtensions.fs (100%) rename src/{Csv => FSharp.Data.Csv.Core}/CsvFile.fs (100%) rename src/{Csv => FSharp.Data.Csv.Core}/CsvInference.fs (100%) rename src/{Csv => FSharp.Data.Csv.Core}/CsvRuntime.fs (100%) rename src/{ => FSharp.Data.DesignTime}/CommonProviderImplementation/AssemblyResolver.fs (100%) rename src/{ => FSharp.Data.DesignTime}/CommonProviderImplementation/ConversionsGenerator.fs (100%) rename src/{ => FSharp.Data.DesignTime}/CommonProviderImplementation/Helpers.fs (100%) rename src/{ => FSharp.Data.DesignTime}/CommonProviderImplementation/QuotationBuilder.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Csv/CsvGenerator.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Csv/CsvProvider.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Html/HtmlGenerator.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Html/HtmlProvider.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Json/JsonConversionsGenerator.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Json/JsonGenerator.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Json/JsonProvider.fs (100%) rename src/{ => FSharp.Data.DesignTime}/WorldBank/WorldBankProvider.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Xml/XmlGenerator.fs (100%) rename src/{ => FSharp.Data.DesignTime}/Xml/XmlProvider.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlActivePatterns.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlCharRefs.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlCssSelectorExtensions.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlCssSelectors.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlInference.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlNode.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlOperations.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlParser.fs (100%) rename src/{Html => FSharp.Data.Html.Core}/HtmlRuntime.fs (100%) rename src/{Net => FSharp.Data.Http}/Http.fs (100%) rename src/{Json => FSharp.Data.Json.Core}/JsonConversions.fs (100%) rename src/{Json => FSharp.Data.Json.Core}/JsonDocument.fs (100%) rename src/{Json => FSharp.Data.Json.Core}/JsonExtensions.fs (100%) rename src/{Json => FSharp.Data.Json.Core}/JsonInference.fs (100%) rename src/{Json => FSharp.Data.Json.Core}/JsonRuntime.fs (100%) rename src/{Json => FSharp.Data.Json.Core}/JsonValue.fs (100%) rename src/{CommonRuntime => FSharp.Data.Runtime.Utilities}/Caching.fs (100%) rename src/{CommonRuntime => FSharp.Data.Runtime.Utilities}/IO.fs (100%) rename src/{CommonRuntime => FSharp.Data.Runtime.Utilities}/NameUtils.fs (100%) rename src/{CommonRuntime => FSharp.Data.Runtime.Utilities}/Pluralizer.fs (100%) rename src/{CommonRuntime => FSharp.Data.Runtime.Utilities}/StructuralInference.fs (100%) rename src/{CommonRuntime => FSharp.Data.Runtime.Utilities}/StructuralTypes.fs (100%) rename src/{CommonRuntime => FSharp.Data.Runtime.Utilities}/TextConversions.fs (100%) rename src/{CommonRuntime => FSharp.Data.Runtime.Utilities}/TextRuntime.fs (100%) rename src/{WorldBank => FSharp.Data.WorldBank.Core}/WorldBankRuntime.fs (100%) rename src/{Xml => FSharp.Data.Xml.Core}/XmlExtensions.fs (100%) rename src/{Xml => FSharp.Data.Xml.Core}/XmlInference.fs (100%) rename src/{Xml => FSharp.Data.Xml.Core}/XmlRuntime.fs (100%) rename src/{Xml => FSharp.Data.Xml.Core}/XsdInference.fs (100%) rename src/{ => FSharp.Data}/Runtime.fs (100%) diff --git a/src/Csv/CsvExtensions.fs b/src/FSharp.Data.Csv.Core/CsvExtensions.fs similarity index 100% rename from src/Csv/CsvExtensions.fs rename to src/FSharp.Data.Csv.Core/CsvExtensions.fs diff --git a/src/Csv/CsvFile.fs b/src/FSharp.Data.Csv.Core/CsvFile.fs similarity index 100% rename from src/Csv/CsvFile.fs rename to src/FSharp.Data.Csv.Core/CsvFile.fs diff --git a/src/Csv/CsvInference.fs b/src/FSharp.Data.Csv.Core/CsvInference.fs similarity index 100% rename from src/Csv/CsvInference.fs rename to src/FSharp.Data.Csv.Core/CsvInference.fs diff --git a/src/Csv/CsvRuntime.fs b/src/FSharp.Data.Csv.Core/CsvRuntime.fs similarity index 100% rename from src/Csv/CsvRuntime.fs rename to src/FSharp.Data.Csv.Core/CsvRuntime.fs diff --git a/src/FSharp.Data.Csv.Core/FSharp.Data.Csv.Core.fsproj b/src/FSharp.Data.Csv.Core/FSharp.Data.Csv.Core.fsproj index 35969a0ad..634ab45ad 100644 --- a/src/FSharp.Data.Csv.Core/FSharp.Data.Csv.Core.fsproj +++ b/src/FSharp.Data.Csv.Core/FSharp.Data.Csv.Core.fsproj @@ -11,10 +11,10 @@ true - - - - + + + + diff --git a/src/CommonProviderImplementation/AssemblyResolver.fs b/src/FSharp.Data.DesignTime/CommonProviderImplementation/AssemblyResolver.fs similarity index 100% rename from src/CommonProviderImplementation/AssemblyResolver.fs rename to src/FSharp.Data.DesignTime/CommonProviderImplementation/AssemblyResolver.fs diff --git a/src/CommonProviderImplementation/ConversionsGenerator.fs b/src/FSharp.Data.DesignTime/CommonProviderImplementation/ConversionsGenerator.fs similarity index 100% rename from src/CommonProviderImplementation/ConversionsGenerator.fs rename to src/FSharp.Data.DesignTime/CommonProviderImplementation/ConversionsGenerator.fs diff --git a/src/CommonProviderImplementation/Helpers.fs b/src/FSharp.Data.DesignTime/CommonProviderImplementation/Helpers.fs similarity index 100% rename from src/CommonProviderImplementation/Helpers.fs rename to src/FSharp.Data.DesignTime/CommonProviderImplementation/Helpers.fs diff --git a/src/CommonProviderImplementation/QuotationBuilder.fs b/src/FSharp.Data.DesignTime/CommonProviderImplementation/QuotationBuilder.fs similarity index 100% rename from src/CommonProviderImplementation/QuotationBuilder.fs rename to src/FSharp.Data.DesignTime/CommonProviderImplementation/QuotationBuilder.fs diff --git a/src/Csv/CsvGenerator.fs b/src/FSharp.Data.DesignTime/Csv/CsvGenerator.fs similarity index 100% rename from src/Csv/CsvGenerator.fs rename to src/FSharp.Data.DesignTime/Csv/CsvGenerator.fs diff --git a/src/Csv/CsvProvider.fs b/src/FSharp.Data.DesignTime/Csv/CsvProvider.fs similarity index 100% rename from src/Csv/CsvProvider.fs rename to src/FSharp.Data.DesignTime/Csv/CsvProvider.fs diff --git a/src/FSharp.Data.DesignTime/FSharp.Data.DesignTime.fsproj b/src/FSharp.Data.DesignTime/FSharp.Data.DesignTime.fsproj index 75bb5de50..f3b71d4b0 100755 --- a/src/FSharp.Data.DesignTime/FSharp.Data.DesignTime.fsproj +++ b/src/FSharp.Data.DesignTime/FSharp.Data.DesignTime.fsproj @@ -17,20 +17,20 @@ ProvidedTypes.fs - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/src/Html/HtmlGenerator.fs b/src/FSharp.Data.DesignTime/Html/HtmlGenerator.fs similarity index 100% rename from src/Html/HtmlGenerator.fs rename to src/FSharp.Data.DesignTime/Html/HtmlGenerator.fs diff --git a/src/Html/HtmlProvider.fs b/src/FSharp.Data.DesignTime/Html/HtmlProvider.fs similarity index 100% rename from src/Html/HtmlProvider.fs rename to src/FSharp.Data.DesignTime/Html/HtmlProvider.fs diff --git a/src/Json/JsonConversionsGenerator.fs b/src/FSharp.Data.DesignTime/Json/JsonConversionsGenerator.fs similarity index 100% rename from src/Json/JsonConversionsGenerator.fs rename to src/FSharp.Data.DesignTime/Json/JsonConversionsGenerator.fs diff --git a/src/Json/JsonGenerator.fs b/src/FSharp.Data.DesignTime/Json/JsonGenerator.fs similarity index 100% rename from src/Json/JsonGenerator.fs rename to src/FSharp.Data.DesignTime/Json/JsonGenerator.fs diff --git a/src/Json/JsonProvider.fs b/src/FSharp.Data.DesignTime/Json/JsonProvider.fs similarity index 100% rename from src/Json/JsonProvider.fs rename to src/FSharp.Data.DesignTime/Json/JsonProvider.fs diff --git a/src/WorldBank/WorldBankProvider.fs b/src/FSharp.Data.DesignTime/WorldBank/WorldBankProvider.fs similarity index 100% rename from src/WorldBank/WorldBankProvider.fs rename to src/FSharp.Data.DesignTime/WorldBank/WorldBankProvider.fs diff --git a/src/Xml/XmlGenerator.fs b/src/FSharp.Data.DesignTime/Xml/XmlGenerator.fs similarity index 100% rename from src/Xml/XmlGenerator.fs rename to src/FSharp.Data.DesignTime/Xml/XmlGenerator.fs diff --git a/src/Xml/XmlProvider.fs b/src/FSharp.Data.DesignTime/Xml/XmlProvider.fs similarity index 100% rename from src/Xml/XmlProvider.fs rename to src/FSharp.Data.DesignTime/Xml/XmlProvider.fs diff --git a/src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsproj b/src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsproj index 2a37dd42e..3aaa9cfa5 100644 --- a/src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsproj +++ b/src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsproj @@ -11,15 +11,15 @@ true - - - - - - - - - + + + + + + + + + diff --git a/src/Html/HtmlActivePatterns.fs b/src/FSharp.Data.Html.Core/HtmlActivePatterns.fs similarity index 100% rename from src/Html/HtmlActivePatterns.fs rename to src/FSharp.Data.Html.Core/HtmlActivePatterns.fs diff --git a/src/Html/HtmlCharRefs.fs b/src/FSharp.Data.Html.Core/HtmlCharRefs.fs similarity index 100% rename from src/Html/HtmlCharRefs.fs rename to src/FSharp.Data.Html.Core/HtmlCharRefs.fs diff --git a/src/Html/HtmlCssSelectorExtensions.fs b/src/FSharp.Data.Html.Core/HtmlCssSelectorExtensions.fs similarity index 100% rename from src/Html/HtmlCssSelectorExtensions.fs rename to src/FSharp.Data.Html.Core/HtmlCssSelectorExtensions.fs diff --git a/src/Html/HtmlCssSelectors.fs b/src/FSharp.Data.Html.Core/HtmlCssSelectors.fs similarity index 100% rename from src/Html/HtmlCssSelectors.fs rename to src/FSharp.Data.Html.Core/HtmlCssSelectors.fs diff --git a/src/Html/HtmlInference.fs b/src/FSharp.Data.Html.Core/HtmlInference.fs similarity index 100% rename from src/Html/HtmlInference.fs rename to src/FSharp.Data.Html.Core/HtmlInference.fs diff --git a/src/Html/HtmlNode.fs b/src/FSharp.Data.Html.Core/HtmlNode.fs similarity index 100% rename from src/Html/HtmlNode.fs rename to src/FSharp.Data.Html.Core/HtmlNode.fs diff --git a/src/Html/HtmlOperations.fs b/src/FSharp.Data.Html.Core/HtmlOperations.fs similarity index 100% rename from src/Html/HtmlOperations.fs rename to src/FSharp.Data.Html.Core/HtmlOperations.fs diff --git a/src/Html/HtmlParser.fs b/src/FSharp.Data.Html.Core/HtmlParser.fs similarity index 100% rename from src/Html/HtmlParser.fs rename to src/FSharp.Data.Html.Core/HtmlParser.fs diff --git a/src/Html/HtmlRuntime.fs b/src/FSharp.Data.Html.Core/HtmlRuntime.fs similarity index 100% rename from src/Html/HtmlRuntime.fs rename to src/FSharp.Data.Html.Core/HtmlRuntime.fs diff --git a/src/FSharp.Data.Http/FSharp.Data.Http.fsproj b/src/FSharp.Data.Http/FSharp.Data.Http.fsproj index a6f9dd6eb..1e3561caa 100644 --- a/src/FSharp.Data.Http/FSharp.Data.Http.fsproj +++ b/src/FSharp.Data.Http/FSharp.Data.Http.fsproj @@ -11,7 +11,7 @@ true - + diff --git a/src/Net/Http.fs b/src/FSharp.Data.Http/Http.fs similarity index 100% rename from src/Net/Http.fs rename to src/FSharp.Data.Http/Http.fs diff --git a/src/FSharp.Data.Json.Core/FSharp.Data.Json.Core.fsproj b/src/FSharp.Data.Json.Core/FSharp.Data.Json.Core.fsproj index f506d03d7..a4b509caf 100644 --- a/src/FSharp.Data.Json.Core/FSharp.Data.Json.Core.fsproj +++ b/src/FSharp.Data.Json.Core/FSharp.Data.Json.Core.fsproj @@ -11,12 +11,12 @@ true - - - - - - + + + + + + diff --git a/src/Json/JsonConversions.fs b/src/FSharp.Data.Json.Core/JsonConversions.fs similarity index 100% rename from src/Json/JsonConversions.fs rename to src/FSharp.Data.Json.Core/JsonConversions.fs diff --git a/src/Json/JsonDocument.fs b/src/FSharp.Data.Json.Core/JsonDocument.fs similarity index 100% rename from src/Json/JsonDocument.fs rename to src/FSharp.Data.Json.Core/JsonDocument.fs diff --git a/src/Json/JsonExtensions.fs b/src/FSharp.Data.Json.Core/JsonExtensions.fs similarity index 100% rename from src/Json/JsonExtensions.fs rename to src/FSharp.Data.Json.Core/JsonExtensions.fs diff --git a/src/Json/JsonInference.fs b/src/FSharp.Data.Json.Core/JsonInference.fs similarity index 100% rename from src/Json/JsonInference.fs rename to src/FSharp.Data.Json.Core/JsonInference.fs diff --git a/src/Json/JsonRuntime.fs b/src/FSharp.Data.Json.Core/JsonRuntime.fs similarity index 100% rename from src/Json/JsonRuntime.fs rename to src/FSharp.Data.Json.Core/JsonRuntime.fs diff --git a/src/Json/JsonValue.fs b/src/FSharp.Data.Json.Core/JsonValue.fs similarity index 100% rename from src/Json/JsonValue.fs rename to src/FSharp.Data.Json.Core/JsonValue.fs diff --git a/src/CommonRuntime/Caching.fs b/src/FSharp.Data.Runtime.Utilities/Caching.fs similarity index 100% rename from src/CommonRuntime/Caching.fs rename to src/FSharp.Data.Runtime.Utilities/Caching.fs diff --git a/src/FSharp.Data.Runtime.Utilities/FSharp.Data.Runtime.Utilities.fsproj b/src/FSharp.Data.Runtime.Utilities/FSharp.Data.Runtime.Utilities.fsproj index 428761930..1b24b8dcc 100644 --- a/src/FSharp.Data.Runtime.Utilities/FSharp.Data.Runtime.Utilities.fsproj +++ b/src/FSharp.Data.Runtime.Utilities/FSharp.Data.Runtime.Utilities.fsproj @@ -13,14 +13,14 @@ - - - - - - - - + + + + + + + + diff --git a/src/CommonRuntime/IO.fs b/src/FSharp.Data.Runtime.Utilities/IO.fs similarity index 100% rename from src/CommonRuntime/IO.fs rename to src/FSharp.Data.Runtime.Utilities/IO.fs diff --git a/src/CommonRuntime/NameUtils.fs b/src/FSharp.Data.Runtime.Utilities/NameUtils.fs similarity index 100% rename from src/CommonRuntime/NameUtils.fs rename to src/FSharp.Data.Runtime.Utilities/NameUtils.fs diff --git a/src/CommonRuntime/Pluralizer.fs b/src/FSharp.Data.Runtime.Utilities/Pluralizer.fs similarity index 100% rename from src/CommonRuntime/Pluralizer.fs rename to src/FSharp.Data.Runtime.Utilities/Pluralizer.fs diff --git a/src/CommonRuntime/StructuralInference.fs b/src/FSharp.Data.Runtime.Utilities/StructuralInference.fs similarity index 100% rename from src/CommonRuntime/StructuralInference.fs rename to src/FSharp.Data.Runtime.Utilities/StructuralInference.fs diff --git a/src/CommonRuntime/StructuralTypes.fs b/src/FSharp.Data.Runtime.Utilities/StructuralTypes.fs similarity index 100% rename from src/CommonRuntime/StructuralTypes.fs rename to src/FSharp.Data.Runtime.Utilities/StructuralTypes.fs diff --git a/src/CommonRuntime/TextConversions.fs b/src/FSharp.Data.Runtime.Utilities/TextConversions.fs similarity index 100% rename from src/CommonRuntime/TextConversions.fs rename to src/FSharp.Data.Runtime.Utilities/TextConversions.fs diff --git a/src/CommonRuntime/TextRuntime.fs b/src/FSharp.Data.Runtime.Utilities/TextRuntime.fs similarity index 100% rename from src/CommonRuntime/TextRuntime.fs rename to src/FSharp.Data.Runtime.Utilities/TextRuntime.fs diff --git a/src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsproj b/src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsproj index 0f55a696d..a7fd36757 100644 --- a/src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsproj +++ b/src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsproj @@ -11,7 +11,7 @@ true - + diff --git a/src/WorldBank/WorldBankRuntime.fs b/src/FSharp.Data.WorldBank.Core/WorldBankRuntime.fs similarity index 100% rename from src/WorldBank/WorldBankRuntime.fs rename to src/FSharp.Data.WorldBank.Core/WorldBankRuntime.fs diff --git a/src/FSharp.Data.Xml.Core/FSharp.Data.Xml.Core.fsproj b/src/FSharp.Data.Xml.Core/FSharp.Data.Xml.Core.fsproj index 2f2c9ae35..88f9cfdb0 100644 --- a/src/FSharp.Data.Xml.Core/FSharp.Data.Xml.Core.fsproj +++ b/src/FSharp.Data.Xml.Core/FSharp.Data.Xml.Core.fsproj @@ -11,10 +11,10 @@ true - - - - + + + + diff --git a/src/Xml/XmlExtensions.fs b/src/FSharp.Data.Xml.Core/XmlExtensions.fs similarity index 100% rename from src/Xml/XmlExtensions.fs rename to src/FSharp.Data.Xml.Core/XmlExtensions.fs diff --git a/src/Xml/XmlInference.fs b/src/FSharp.Data.Xml.Core/XmlInference.fs similarity index 100% rename from src/Xml/XmlInference.fs rename to src/FSharp.Data.Xml.Core/XmlInference.fs diff --git a/src/Xml/XmlRuntime.fs b/src/FSharp.Data.Xml.Core/XmlRuntime.fs similarity index 100% rename from src/Xml/XmlRuntime.fs rename to src/FSharp.Data.Xml.Core/XmlRuntime.fs diff --git a/src/Xml/XsdInference.fs b/src/FSharp.Data.Xml.Core/XsdInference.fs similarity index 100% rename from src/Xml/XsdInference.fs rename to src/FSharp.Data.Xml.Core/XsdInference.fs diff --git a/src/FSharp.Data/FSharp.Data.fsproj b/src/FSharp.Data/FSharp.Data.fsproj index 3bd0abbfb..8e9789563 100755 --- a/src/FSharp.Data/FSharp.Data.fsproj +++ b/src/FSharp.Data/FSharp.Data.fsproj @@ -14,7 +14,7 @@ - + diff --git a/src/Runtime.fs b/src/FSharp.Data/Runtime.fs similarity index 100% rename from src/Runtime.fs rename to src/FSharp.Data/Runtime.fs From f1115e3da741e6ecc2dfb9c5d47eb9d6cc361bf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Melvyn=20La=C3=AFly?= Date: Sun, 5 Mar 2023 17:23:41 +0100 Subject: [PATCH 3/6] Do not fail the build if the WorldBank api is offline --- tests/FSharp.Data.Tests/WorldBankProvider.fs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tests/FSharp.Data.Tests/WorldBankProvider.fs b/tests/FSharp.Data.Tests/WorldBankProvider.fs index e122be1f1..c2a9936c5 100644 --- a/tests/FSharp.Data.Tests/WorldBankProvider.fs +++ b/tests/FSharp.Data.Tests/WorldBankProvider.fs @@ -1,4 +1,4 @@ -module FSharp.Data.Tests.WorldBankProvider +module FSharp.Data.Tests.WorldBankProvider open System open System.Net @@ -13,7 +13,14 @@ let data = WorldBankData.GetDataContext() [] let ``Should not throw exception for missing year in indicator``() = - data.Countries.``United Kingdom``.Indicators.``GNI growth (annual %)``.[1900] |> should equal Double.NaN - data.Countries.``United Kingdom``.Indicators.``GNI growth (annual %)``.[2012] |> should not' (equal Double.NaN) - data.Countries.``United Kingdom``.Indicators.``GNI growth (annual %)``.TryGetValueAt 1900 |> should equal None - data.Countries.``United Kingdom``.Indicators.``GNI growth (annual %)``.TryGetValueAt 2012 |> should not' (equal None) + try + data.Countries.``United Kingdom``.Indicators.``GNI growth (annual %)``.[1900] |> should equal Double.NaN + data.Countries.``United Kingdom``.Indicators.``GNI growth (annual %)``.[2012] |> should not' (equal Double.NaN) + data.Countries.``United Kingdom``.Indicators.``GNI growth (annual %)``.TryGetValueAt 1900 |> should equal None + data.Countries.``United Kingdom``.Indicators.``GNI growth (annual %)``.TryGetValueAt 2012 |> should not' (equal None) + with ex + when ex.ToString().Contains("The server has encountered an error which prevents it from fulfilling your request. Please contact the system administrator") + || ex.ToString().Contains("Timeout exceeded while getting response") + || ex.ToString().Contains("504 Gateway Time-out") -> + Assert.Inconclusive($"Worldbank api is having issues: {ex}") + From 68135d378fbf5126f58de2b5c5e122f328f7ced0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Melvyn=20La=C3=AFly?= Date: Sun, 5 Mar 2023 18:10:29 +0100 Subject: [PATCH 4/6] Add aria-label to the list of attributes used to find a name for html provided types --- RELEASE_NOTES.md | 1 + docs/library/HtmlProvider.fsx | 2 +- src/FSharp.Data.Html.Core/HtmlRuntime.fs | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 182af1aab..8adbc1ea3 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,6 +2,7 @@ * Change the namespace of the `InferenceMode` enum from `FSharp.Data.Runtime.StructuralInference` to `FSharp.Data`. * Move common runtime utilities out of `FSharp.Data.Http` and into a new `FSharp.Data.Runtime.Utilities` assembly. +* Add `aria-label` to the list of html attributes used to infer names of types provided by the HtmlProvider. ### 6.0.1-beta001 - Aug 18 2022 diff --git a/docs/library/HtmlProvider.fsx b/docs/library/HtmlProvider.fsx index d2ea2c8fb..6ff942791 100644 --- a/docs/library/HtmlProvider.fsx +++ b/docs/library/HtmlProvider.fsx @@ -105,7 +105,7 @@ Note that we're using the live URL as the sample, so we can just use the default type NugetStats = HtmlProvider<"https://www.nuget.org/packages/FSharp.Data"> // load the live package stats for FSharp.Data -let rawStats = NugetStats().Tables.Table4 +let rawStats = NugetStats().Tables.``Version History of FSharp.Data`` // helper function to analyze version numbers from nuget let getMinorVersion (v: string) = diff --git a/src/FSharp.Data.Html.Core/HtmlRuntime.fs b/src/FSharp.Data.Html.Core/HtmlRuntime.fs index e8394059c..a65de5aa8 100644 --- a/src/FSharp.Data.Html.Core/HtmlRuntime.fs +++ b/src/FSharp.Data.Html.Core/HtmlRuntime.fs @@ -179,7 +179,7 @@ module HtmlRuntime = <| element.Descendants("caption", false) with | [] -> - match tryGetName [ "id"; "name"; "title"; "summary" ] with + match tryGetName [ "id"; "name"; "title"; "summary"; "aria-label" ] with | Some name -> normalizeWs name | _ -> defaultName | h :: _ -> h.InnerText() From b1ff1491a4c3cf4d4255276546b785a0f36c5b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Melvyn=20La=C3=AFly?= Date: Sun, 5 Mar 2023 19:04:34 +0100 Subject: [PATCH 5/6] Report complete exception from providers Seeing "see inner exception in the message" without the inner exception is very frustrating! --- .../CommonProviderImplementation/Helpers.fs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/FSharp.Data.DesignTime/CommonProviderImplementation/Helpers.fs b/src/FSharp.Data.DesignTime/CommonProviderImplementation/Helpers.fs index 3b01f27c8..4b14779ca 100644 --- a/src/FSharp.Data.DesignTime/CommonProviderImplementation/Helpers.fs +++ b/src/FSharp.Data.DesignTime/CommonProviderImplementation/Helpers.fs @@ -266,7 +266,10 @@ module internal ProviderHelpers = IsUri = false IsResource = false } with e -> - failwithf "The provided sample is neither a file, nor a well-formed %s: %s" formatName e.Message + failwithf + "The provided sample is neither a file, nor a well-formed %s: %s" + formatName + (e.ToString()) | Some uri -> @@ -331,9 +334,17 @@ module internal ProviderHelpers = IsResource = false } with _ -> // if not, return the first exception - failwithf "Cannot read sample %s from '%s': %s" formatName valueToBeParsedOrItsUri e.Message + failwithf + "Cannot read sample %s from '%s': %s" + formatName + valueToBeParsedOrItsUri + (e.ToString()) else - failwithf "Cannot read sample %s from '%s': %s" formatName valueToBeParsedOrItsUri e.Message + failwithf + "Cannot read sample %s from '%s': %s" + formatName + valueToBeParsedOrItsUri + (e.ToString()) let private providedTypesCache = createInMemoryCache (TimeSpan.FromSeconds 30.0) let private activeDisposeActions = HashSet<_>() From 8c3f4c692f0d4ccf46582046f420693bcf5ac62f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Melvyn=20La=C3=AFly?= Date: Sun, 5 Mar 2023 19:53:51 +0100 Subject: [PATCH 6/6] Enable TLS 1.2 in providers to be able to use it when requesting https samples --- RELEASE_NOTES.md | 1 + docs/library/XmlProvider.fsx | 4 ++-- src/FSharp.Data.DesignTime/Csv/CsvProvider.fs | 6 ++++++ src/FSharp.Data.DesignTime/Html/HtmlProvider.fs | 6 ++++++ src/FSharp.Data.DesignTime/Json/JsonProvider.fs | 6 ++++++ src/FSharp.Data.DesignTime/Xml/XmlProvider.fs | 6 ++++++ 6 files changed, 27 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 8adbc1ea3..a613ecba4 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -3,6 +3,7 @@ * Change the namespace of the `InferenceMode` enum from `FSharp.Data.Runtime.StructuralInference` to `FSharp.Data`. * Move common runtime utilities out of `FSharp.Data.Http` and into a new `FSharp.Data.Runtime.Utilities` assembly. * Add `aria-label` to the list of html attributes used to infer names of types provided by the HtmlProvider. +* Enable TLS 1.2 when requesting http(s) samples from the type providers. ### 6.0.1-beta001 - Aug 18 2022 diff --git a/docs/library/XmlProvider.fsx b/docs/library/XmlProvider.fsx index faceeab4a..cc4daac1c 100644 --- a/docs/library/XmlProvider.fsx +++ b/docs/library/XmlProvider.fsx @@ -408,11 +408,11 @@ RSS feed. As discussed earlier, we can use relative paths or web addresses when the type provider: *) -type Rss = XmlProvider<"http://tomasp.net/rss.xml"> +type Rss = XmlProvider<"https://tomasp.net/rss.xml"> (** This code builds a type `Rss` that represents RSS feeds (with the features that are used -on `http://tomasp.net`). The type `Rss` provides static methods `Parse`, `Load` and `AsyncLoad` +on `https://tomasp.net`). The type `Rss` provides static methods `Parse`, `Load` and `AsyncLoad` to construct it - here, we just want to reuse the same URI of the schema, so we use the `GetSample` static method: *) diff --git a/src/FSharp.Data.DesignTime/Csv/CsvProvider.fs b/src/FSharp.Data.DesignTime/Csv/CsvProvider.fs index 47298230d..6561e381e 100644 --- a/src/FSharp.Data.DesignTime/Csv/CsvProvider.fs +++ b/src/FSharp.Data.DesignTime/Csv/CsvProvider.fs @@ -17,6 +17,7 @@ open FSharp.Data.Runtime.CsvInference open ProviderImplementation open ProviderImplementation.QuotationBuilder open FSharp.Data.Runtime.StructuralInference +open System.Net // -------------------------------------------------------------------------------------- @@ -38,6 +39,11 @@ type public CsvProvider(cfg: TypeProviderConfig) as this = let buildTypes (typeName: string) (args: obj[]) = + // Enable TLS 1.2 for samples requested through https. + ServicePointManager.SecurityProtocol <- + ServicePointManager.SecurityProtocol + ||| SecurityProtocolType.Tls12 + let sample = args.[0] :?> string let separators = args.[1] :?> string let inferRows = args.[2] :?> int diff --git a/src/FSharp.Data.DesignTime/Html/HtmlProvider.fs b/src/FSharp.Data.DesignTime/Html/HtmlProvider.fs index 432f24bf1..72598a796 100644 --- a/src/FSharp.Data.DesignTime/Html/HtmlProvider.fs +++ b/src/FSharp.Data.DesignTime/Html/HtmlProvider.fs @@ -11,6 +11,7 @@ open FSharp.Data open FSharp.Data.Runtime open FSharp.Data.Runtime.BaseTypes open FSharp.Data.Runtime.StructuralInference +open System.Net #nowarn "10001" @@ -32,6 +33,11 @@ type public HtmlProvider(cfg: TypeProviderConfig) as this = let buildTypes (typeName: string) (args: obj[]) = + // Enable TLS 1.2 for samples requested through https. + ServicePointManager.SecurityProtocol <- + ServicePointManager.SecurityProtocol + ||| SecurityProtocolType.Tls12 + let sample = args.[0] :?> string let preferOptionals = args.[1] :?> bool let includeLayoutTables = args.[2] :?> bool diff --git a/src/FSharp.Data.DesignTime/Json/JsonProvider.fs b/src/FSharp.Data.DesignTime/Json/JsonProvider.fs index f233ad704..5240d2914 100644 --- a/src/FSharp.Data.DesignTime/Json/JsonProvider.fs +++ b/src/FSharp.Data.DesignTime/Json/JsonProvider.fs @@ -11,6 +11,7 @@ open FSharp.Data.Runtime open FSharp.Data.Runtime.BaseTypes open FSharp.Data.Runtime.StructuralTypes open FSharp.Data.Runtime.StructuralInference +open System.Net // ---------------------------------------------------------------------------------------------- @@ -34,6 +35,11 @@ type public JsonProvider(cfg: TypeProviderConfig) as this = let buildTypes (typeName: string) (args: obj[]) = + // Enable TLS 1.2 for samples requested through https. + ServicePointManager.SecurityProtocol <- + ServicePointManager.SecurityProtocol + ||| SecurityProtocolType.Tls12 + // Generate the required type let tpType = ProvidedTypeDefinition(asm, ns, typeName, None, hideObjectMethods = true, nonNullable = true) diff --git a/src/FSharp.Data.DesignTime/Xml/XmlProvider.fs b/src/FSharp.Data.DesignTime/Xml/XmlProvider.fs index 31c1ec152..0e36b8859 100644 --- a/src/FSharp.Data.DesignTime/Xml/XmlProvider.fs +++ b/src/FSharp.Data.DesignTime/Xml/XmlProvider.fs @@ -12,6 +12,7 @@ open FSharp.Data.Runtime open FSharp.Data.Runtime.BaseTypes open FSharp.Data.Runtime.StructuralTypes open FSharp.Data.Runtime.StructuralInference +open System.Net // ---------------------------------------------------------------------------------------------- @@ -35,6 +36,11 @@ type public XmlProvider(cfg: TypeProviderConfig) as this = let buildTypes (typeName: string) (args: obj[]) = + // Enable TLS 1.2 for samples requested through https. + ServicePointManager.SecurityProtocol <- + ServicePointManager.SecurityProtocol + ||| SecurityProtocolType.Tls12 + // Generate the required type let tpType = ProvidedTypeDefinition(asm, ns, typeName, None, hideObjectMethods = true, nonNullable = true)