diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 4f05b376..db0712da 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,16 +3,22 @@ "isRoot": true, "tools": { "paket": { - "version": "6.0.0", + "version": "7.1.5", "commands": [ "paket" ] }, "fake-cli": { - "version": "5.20.4", + "version": "5.22.0", "commands": [ "fake" ] + }, + "fsdocs-tool": { + "version": "15.0.0", + "commands": [ + "fsdocs" + ] } } } \ No newline at end of file diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml index 783ea116..b91d8706 100644 --- a/.github/workflows/dotnetcore.yml +++ b/.github/workflows/dotnetcore.yml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macOS-latest] - dotnet: [5.0.302] + dotnet: [6.0.400] runs-on: ${{ matrix.os }} steps: diff --git a/.gitignore b/.gitignore index 80bc9e69..d3683420 100644 --- a/.gitignore +++ b/.gitignore @@ -160,6 +160,7 @@ $RECYCLE.BIN/ .idea/ .vs/ +.vscode/ # NuGet Packages Directory packages/ @@ -169,6 +170,7 @@ docs/output/ # Temp folder used for publishing docs temp/ +tmp/ # Test results produced by build TestResults.xml @@ -177,6 +179,7 @@ nuget/ .paket/ .fake/ .ionide/ +.fsdocs/ # Nuget outputs nuget/*.nupkg diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 00000000..f97441ef --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,12 @@ + + + Steffen Forkmann; Sergey Tihon; Daniel Mohl; Tomas Petricek; Ryan Riley; Mauricio Scheffer; Phil Trelford; Vasily Kirichenko; Reed Copsey, Jr. + Apache-2.0 + http://fsprojects.github.io/FSharp.Configuration/ + https://github.com/fsprojects/FSharp.Configuration + https://raw.githubusercontent.com/fsprojects/FSharp.Configuration/master/docs/img/logo.png + git + Copyright 2014-2022 + false + + \ No newline at end of file diff --git a/FSharp.Configuration.Tests.sln b/FSharp.Configuration.Tests.sln deleted file mode 100644 index 0e1c8e41..00000000 --- a/FSharp.Configuration.Tests.sln +++ /dev/null @@ -1,38 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25123.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Configuration.Tests", "tests\FSharp.Configuration.Tests\FSharp.Configuration.Tests.fsproj", "{E789C72A-5CFD-436B-8EF1-61AA2852A89F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{7E6FF935-2C19-4DF3-A4C4-FAA1915D091A}" - ProjectSection(SolutionItems) = preProject - docs\content\app.config = docs\content\app.config - docs\content\AppSettingsProvider.fsx = docs\content\AppSettingsProvider.fsx - docs\content\index.fsx = docs\content\index.fsx - docs\content\Resource1.resx = docs\content\Resource1.resx - docs\content\ResXProvider.fsx = docs\content\ResXProvider.fsx - docs\content\Settings.yaml = docs\content\Settings.yaml - docs\content\YamlProvider.fsx = docs\content\YamlProvider.fsx - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{00707297-93C6-42F9-BD52-E01726B4A7B3}" - ProjectSection(SolutionItems) = preProject - paket.dependencies = paket.dependencies - paket.lock = paket.lock - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E789C72A-5CFD-436B-8EF1-61AA2852A89F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E789C72A-5CFD-436B-8EF1-61AA2852A89F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E789C72A-5CFD-436B-8EF1-61AA2852A89F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E789C72A-5CFD-436B-8EF1-61AA2852A89F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index bc2ab051..53584858 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,10 +1,18 @@ +#### 3.0.0 - 25.04.2022 +* Removed `net461` target from TPDTC +* Added `net6.0` target from TPDTC +* Build with .NET 6.0 +* Migration to latest TPSDK +* Dependencies updated +* Docs migrated to fsdocs + #### 2.0.0 - 09.08.2021 * Migration to project system * Migration from SharpYaml to YamlDotNet * YamlConfigTypeProvider targets net461 and netstandard2.0 * IniFileProvider targets net461 and netstandard2.0 * AppSettingsProvider targets net461 and netstandard2.0 -* Dependencies update +* Dependencies updated * Fix bug triggering exception 'xx_ItemType is not comparable' when updating an empty list #158 #### 1.5.0 - 15.06.2018 diff --git a/build.fsx b/build.fsx index 002ad309..813c862d 100644 --- a/build.fsx +++ b/build.fsx @@ -1,7 +1,7 @@ #r @"paket: -source https://nuget.org/api/v2 -framework netstandard2.0 -nuget FSharp.Core 4.7.2 +source https://api.nuget.org/v3/index.json +framework net6.0 +nuget FSharp.Core nuget Fake.Core.Target nuget Fake.Core.Process nuget Fake.Core.ReleaseNotes @@ -15,23 +15,16 @@ nuget Fake.DotNet.FSFormatting nuget Fake.Tools.Git nuget Fake.Api.GitHub //" -#if !FAKE #load "./.fake/build.fsx/intellisense.fsx" -#r "netstandard" // Temp fix for https://github.com/fsharp/FAKE/issues/1985 -#endif open Fake open Fake.Core.TargetOperators open Fake.Core open Fake.IO -open Fake.IO.FileSystemOperators open Fake.IO.Globbing.Operators open Fake.DotNet -open Fake.DotNet.Testing open Fake.Tools -open Fake.Tools.Git open System -open System.IO Target.initEnvironment() @@ -45,26 +38,7 @@ let project = "FSharp.Configuration" // (used as description in AssemblyInfo and as a short summary for NuGet package) let summary = "The FSharp.Configuration project contains type providers for the configuration of .NET projects." -// Longer description of the project -// (used as a description for NuGet package; line breaks are automatically cleaned up) -let description = "The FSharp.Configuration project contains type providers for the configuration of .NET projects." - -// List of author names (for NuGet package) -let authors = ["Steffen Forkmann"; "Sergey Tihon"; "Daniel Mohl"; "Tomas Petricek"; "Ryan Riley"; "Mauricio Scheffer"; "Phil Trelford"; "Vasily Kirichenko"; "Reed Copsey, Jr."] - -// Tags for your project (for NuGet package) -let tags = "appsettings, YAML, F#, ResX, Ini, config" - -// File system information -let solutionFile = "FSharp.Configuration" - -// Git configuration (used for publishing documentation in gh-pages branch) -// The profile where the project is posted -let gitOwner = "fsprojects" -let gitHome = "https://github.com/" + gitOwner -// The name of the project on GitHub -let gitName = "FSharp.Configuration" - +let cloneUrl = "git@github.com:fsprojects/FSharp.Configuration.git" // -------------------------------------------------------------------------------------- // END TODO: The rest of the file includes standard build steps // -------------------------------------------------------------------------------------- @@ -119,69 +93,23 @@ Target.create "CleanDocs" (fun _ -> // -------------------------------------------------------------------------------------- // Build library & test project -Target.create "Build" (fun _ -> - DotNet.exec id "build" "FSharp.Configuration.sln -c Release" |> ignore - - // let outDir = __SOURCE_DIRECTORY__ + "/bin/lib/net461/" - // CreateDir outDir - // DotNetCli.Publish (fun p -> - // { p with - // Output = outDir - // Framework = "net461" - // WorkingDir = "src/FSharp.Configuration/" }) - - // let outDir = __SOURCE_DIRECTORY__ + "/bin/lib/netstandard2.0/" - // CreateDir outDir - // DotNetCli.Publish (fun p -> - // { p with - // Output = outDir - // Framework = "netstandard2.0" - // WorkingDir = "src/FSharp.Configuration/" }) -) +let dotnet buildOptions command args = + DotNet.exec buildOptions command args + |> fun x -> + if x.ExitCode <> 0 then + let messages = List.concat [x.Errors; x.Messages] + failwith <| String.Join("\n", messages) -Target.create "BuildTests" (fun _ -> - DotNet.exec id "build" "FSharp.Configuration.Tests.sln -c Release -v n" |> ignore +Target.create "Build" (fun _ -> + dotnet id "build" "FSharp.Configuration.sln -c Release" ) -// -------------------------------------------------------------------------------------- -// Run the unit tests using test runner - -open Fake.Testing - Target.create "RunTests" (fun _ -> - !! "tests/**/bin/Release/net461/*Tests*.exe" - |> Seq.iter (fun path -> - Trace.tracefn "Running tests '%s' ..." path - - let args = "--fail-on-focused-tests --summary --sequenced --version" - (if Environment.isWindows - then CreateProcess.fromRawCommandLine path args - else CreateProcess.fromRawCommandLine "mono" (path + " " + args)) - |> CreateProcess.ensureExitCode - |> Proc.run - |> ignore - ) - // |> Testing.Expecto.run (fun p -> - // { p with - // //WorkingDirectory = __SOURCE_DIRECTORY__ - // FailOnFocusedTests = true - // PrintVersion = true - // Parallel = false - // Summary = true - // Debug = false - // }) -) - -Target.create "RunTestsNetCore" (fun _ -> - DotNet.exec + dotnet (fun r -> { r with WorkingDirectory = "tests/FSharp.Configuration.Tests/" }) - "run" "--framework net5.0" - |> ignore + "run" "" ) -// -------------------------------------------------------------------------------------- -// Build a NuGet package - Target.create "NuGet" (fun _ -> Paket.pack(fun p -> { p with @@ -194,102 +122,22 @@ Target.create "NuGet" (fun _ -> // -------------------------------------------------------------------------------------- // Generate the documentation -//let fakePath = "packages" @@ "build" @@ "FAKE" @@ "tools" @@ "FAKE.exe" -//let fakeStartInfo script workingDirectory args fsiargs environmentVars = -// (fun (info: System.Diagnostics.ProcessStartInfo) -> -// info.FileName <- System.IO.Path.GetFullPath fakePath -// info.Arguments <- sprintf "%s --fsiargs -d:FAKE %s \"%s\"" args fsiargs script -// info.WorkingDirectory <- workingDirectory -// let setVar k v = -// info.EnvironmentVariables.[k] <- v -// for (k, v) in environmentVars do -// setVar k v -// setVar "MSBuild" msBuildExe -// setVar "GIT" Git.CommandHelper.gitPath -// setVar "FSI" fsiPath) - -///// Run the given buildscript with FAKE.exe -//let executeFAKEWithOutput workingDirectory script fsiargs envArgs = -// let exitCode = -// ExecProcessWithLambdas -// (fakeStartInfo script workingDirectory "" fsiargs envArgs) -// TimeSpan.MaxValue false ignore ignore -// System.Threading.Thread.Sleep 1000 -// exitCode - -//// Documentation -//let buildDocumentationTarget fsiargs target = - //Trace.traceImportantfn "Building documentation (%s), this could take some time, please wait..." target - //let exit = executeFAKEWithOutput "docs/tools" "generate.fsx" fsiargs ["target", target] - //if exit <> 0 then - // failwith "generating reference documentation failed" - //() - -Target.create "GenerateReferenceDocs" (fun _ -> - () - //buildDocumentationTarget "-d:RELEASE -d:REFERENCE" "Default" -) - -//let generateHelp' fail debug = -// let args = -// if debug then "--define:HELP" -// else "--define:RELEASE --define:HELP" -// try -// buildDocumentationTarget args "Default" -// Trace.traceImportant "Help generated" -// with -// | _ when not fail -> -// Trace.traceImportant "generating help documentation failed" - -//let generateHelp fail = - //generateHelp' fail false - -Target.create "GenerateHelp" (fun _ -> - () - //DeleteFile "docs/content/release-notes.md" - //CopyFile "docs/content/" "RELEASE_NOTES.md" - //Rename "docs/content/release-notes.md" "docs/content/RELEASE_NOTES.md" - - //DeleteFile "docs/content/license.md" - //CopyFile "docs/content/" "LICENSE.txt" - //Rename "docs/content/license.md" "docs/content/LICENSE.txt" - - //generateHelp true +Target.create "GenerateDocs" (fun _ -> + Shell.cleanDir ".fsdocs" + DotNet.exec id "fsdocs" "build --clean" |> ignore ) -Target.create "GenerateDocs" ignore - -// -------------------------------------------------------------------------------------- -// Release Scripts - Target.create "ReleaseDocs" (fun _ -> - () - //let tempDocsDir = "temp/gh-pages" - //CleanDir tempDocsDir - //Repository.cloneSingleBranch "" (gitHome + "/" + gitName + ".git") "gh-pages" tempDocsDir - - //fullclean tempDocsDir - //CopyRecursive "docs/output" tempDocsDir true |> tracefn "%A" - //StageAll tempDocsDir - //Git.Commit.Commit tempDocsDir (sprintf "Update generated documentation for version %s" release.NugetVersion) - //Branches.push tempDocsDir + Git.Repository.clone "" cloneUrl "temp/gh-pages" + Git.Branches.checkoutBranch "temp/gh-pages" "gh-pages" + Shell.copyRecursive "output" "temp/gh-pages" true |> printfn "%A" + Git.CommandHelper.runSimpleGitCommand "temp/gh-pages" "add ." |> printfn "%s" + let cmd = sprintf """commit -a -m "Update generated documentation for version %s""" release.NugetVersion + Git.CommandHelper.runSimpleGitCommand "temp/gh-pages" cmd |> printfn "%s" + Git.Branches.push "temp/gh-pages" ) -Target.create "Release" (fun _ -> - () - //StageAll "" - //Git.Commit.Commit "" (sprintf "Bump version to %s" release.NugetVersion) - //Branches.push "" - - //Branches.tag "" release.NugetVersion - //Branches.pushTag "" "origin" release.NugetVersion - - //// release on github - //createClient (getBuildParamOrDefault "github-user" "") (getBuildParamOrDefault "github-pw" "") - //|> createDraft gitOwner gitName release.NugetVersion (release.SemVer.PreRelease <> None) release.Notes - //|> releaseDraft - //|> Async.RunSynchronously -) +Target.create "Release" ignore Target.create "BuildPackage" ignore @@ -301,27 +149,16 @@ Target.create "All" ignore "Clean" ==> "AssemblyInfo" ==> "Build" - ==> "BuildTests" - ==> "RunTestsNetCore" ==> "RunTests" - //=?> ("GenerateReferenceDocs",isLocalBuild && not isMono) - //=?> ("GenerateDocs",isLocalBuild && not isMono) ==> "All" - //=?> ("ReleaseDocs",isLocalBuild && not isMono) "All" ==> "NuGet" ==> "BuildPackage" - -"CleanDocs" - ==> "GenerateHelp" - ==> "GenerateReferenceDocs" - ==> "GenerateDocs" - -"ReleaseDocs" ==> "Release" -"BuildPackage" +"GenerateDocs" + ==> "ReleaseDocs" ==> "Release" Target.runOrDefault "All" diff --git a/build.fsx.lock b/build.fsx.lock index dd94eac9..1708dc08 100644 --- a/build.fsx.lock +++ b/build.fsx.lock @@ -1,146 +1,157 @@ STORAGE: NONE -RESTRICTION: == netstandard2.0 +RESTRICTION: == net6.0 NUGET - remote: https://www.nuget.org/api/v2 + remote: https://api.nuget.org/v3/index.json BlackFox.VsWhere (1.1) FSharp.Core (>= 4.2.3) Microsoft.Win32.Registry (>= 4.7) - Fake.Api.GitHub (5.20.4) - FSharp.Core (>= 4.7.2) - Octokit (>= 0.48) - Fake.Core.CommandLineParsing (5.20.4) + Fake.Api.GitHub (5.22) + FSharp.Core (>= 6.0) + Octokit (>= 0.50) + Fake.Core.CommandLineParsing (5.22) FParsec (>= 1.1.1) - FSharp.Core (>= 4.7.2) - Fake.Core.Context (5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Core.Environment (5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Core.FakeVar (5.20.4) - Fake.Core.Context (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Core.Process (5.20.4) - Fake.Core.Environment (>= 5.20.4) - Fake.Core.FakeVar (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - FSharp.Core (>= 4.7.2) - System.Collections.Immutable (>= 1.7.1) - Fake.Core.ReleaseNotes (5.20.4) - Fake.Core.SemVer (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Core.SemVer (5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Core.String (5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Core.Target (5.20.4) - Fake.Core.CommandLineParsing (>= 5.20.4) - Fake.Core.Context (>= 5.20.4) - Fake.Core.Environment (>= 5.20.4) - Fake.Core.FakeVar (>= 5.20.4) - Fake.Core.Process (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - FSharp.Control.Reactive (>= 4.4.2) - FSharp.Core (>= 4.7.2) - Fake.Core.Tasks (5.20.4) - Fake.Core.Trace (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Core.Trace (5.20.4) - Fake.Core.Environment (>= 5.20.4) - Fake.Core.FakeVar (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Core.Xml (5.20.4) - Fake.Core.String (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.DotNet.AssemblyInfoFile (5.20.4) - Fake.Core.Environment (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.DotNet.Cli (5.20.4) - Fake.Core.Environment (>= 5.20.4) - Fake.Core.Process (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - Fake.DotNet.MSBuild (>= 5.20.4) - Fake.DotNet.NuGet (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - FSharp.Core (>= 4.7.2) + FSharp.Core (>= 6.0) + Fake.Core.Context (5.22) + FSharp.Core (>= 6.0) + Fake.Core.Environment (5.22) + FSharp.Core (>= 6.0) + Fake.Core.FakeVar (5.22) + Fake.Core.Context (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Core.Process (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.FakeVar (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + System.Collections.Immutable (>= 5.0) + Fake.Core.ReleaseNotes (5.22) + Fake.Core.SemVer (>= 5.22) + Fake.Core.String (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Core.SemVer (5.22) + FSharp.Core (>= 6.0) + Fake.Core.String (5.22) + FSharp.Core (>= 6.0) + Fake.Core.Target (5.22) + Fake.Core.CommandLineParsing (>= 5.22) + Fake.Core.Context (>= 5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.FakeVar (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + FSharp.Control.Reactive (>= 5.0.2) + FSharp.Core (>= 6.0) + Fake.Core.Tasks (5.22) + Fake.Core.Trace (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Core.Trace (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.FakeVar (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Core.Xml (5.22) + Fake.Core.String (>= 5.22) + FSharp.Core (>= 6.0) + Fake.DotNet.AssemblyInfoFile (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + Fake.DotNet.Cli (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.DotNet.MSBuild (>= 5.22) + Fake.DotNet.NuGet (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) Mono.Posix.NETStandard (>= 1.0) - Newtonsoft.Json (>= 12.0.3) - Fake.DotNet.FSFormatting (5.20.4) - Fake.Core.Process (>= 5.20.4) - Fake.DotNet.Cli (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.DotNet.MSBuild (5.20.4) + Newtonsoft.Json (>= 13.0.1) + Fake.DotNet.FSFormatting (5.22) + Fake.Core.Process (>= 5.22) + Fake.DotNet.Cli (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + Fake.DotNet.MSBuild (5.22) BlackFox.VsWhere (>= 1.1) - Fake.Core.Environment (>= 5.20.4) - Fake.Core.Process (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - FSharp.Core (>= 4.7.2) - MSBuild.StructuredLogger (>= 2.1.176) - Fake.DotNet.NuGet (5.20.4) - Fake.Core.Environment (>= 5.20.4) - Fake.Core.Process (>= 5.20.4) - Fake.Core.SemVer (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Tasks (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - Fake.Core.Xml (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - Fake.Net.Http (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Newtonsoft.Json (>= 12.0.3) - NuGet.Protocol (>= 5.6) - Fake.DotNet.Paket (5.20.4) - Fake.Core.Process (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - Fake.DotNet.Cli (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.DotNet.Testing.Expecto (5.20.4) - Fake.Core.Process (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - Fake.Testing.Common (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.IO.FileSystem (5.20.4) - Fake.Core.String (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Net.Http (5.20.4) - Fake.Core.Trace (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Testing.Common (5.20.4) - Fake.Core.Trace (>= 5.20.4) - FSharp.Core (>= 4.7.2) - Fake.Tools.Git (5.20.4) - Fake.Core.Environment (>= 5.20.4) - Fake.Core.Process (>= 5.20.4) - Fake.Core.SemVer (>= 5.20.4) - Fake.Core.String (>= 5.20.4) - Fake.Core.Trace (>= 5.20.4) - Fake.IO.FileSystem (>= 5.20.4) - FSharp.Core (>= 4.7.2) + Fake.Core.Environment (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + MSBuild.StructuredLogger (>= 2.1.545) + Fake.DotNet.NuGet (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.SemVer (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Tasks (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.Core.Xml (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + Fake.Net.Http (>= 5.22) + FSharp.Core (>= 6.0) + Newtonsoft.Json (>= 13.0.1) + NuGet.Protocol (>= 5.11) + Fake.DotNet.Paket (5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.DotNet.Cli (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) + Fake.DotNet.Testing.Expecto (5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + Fake.Testing.Common (>= 5.22) + FSharp.Core (>= 6.0) + Fake.IO.FileSystem (5.22) + Fake.Core.String (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Net.Http (5.22) + Fake.Core.Trace (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Testing.Common (5.22) + Fake.Core.Trace (>= 5.22) + FSharp.Core (>= 6.0) + Fake.Tools.Git (5.22) + Fake.Core.Environment (>= 5.22) + Fake.Core.Process (>= 5.22) + Fake.Core.SemVer (>= 5.22) + Fake.Core.String (>= 5.22) + Fake.Core.Trace (>= 5.22) + Fake.IO.FileSystem (>= 5.22) + FSharp.Core (>= 6.0) FParsec (1.1.1) FSharp.Core (>= 4.3.4) FSharp.Control.Reactive (5.0.2) FSharp.Core (>= 4.7.2) System.Reactive (>= 5.0) - FSharp.Core (4.7.2) - Microsoft.Build (16.10) - Microsoft.Build.Framework (16.10) + FSharp.Core (6.0.3) + Microsoft.Build (17.1) + Microsoft.Build.Framework (>= 17.1) + Microsoft.NET.StringTools (>= 1.0) + Microsoft.Win32.Registry (>= 4.3) + System.Collections.Immutable (>= 5.0) + System.Configuration.ConfigurationManager (>= 4.7) + System.Reflection.Metadata (>= 1.6) + System.Security.Principal.Windows (>= 4.7) + System.Text.Encoding.CodePages (>= 4.0.1) + System.Text.Json (>= 6.0) + System.Threading.Tasks.Dataflow (>= 6.0) + Microsoft.Build.Framework (17.1) + Microsoft.Win32.Registry (>= 4.3) System.Security.Permissions (>= 4.7) - Microsoft.Build.Tasks.Core (16.10) - Microsoft.Build.Framework (>= 16.10) - Microsoft.Build.Utilities.Core (>= 16.10) + Microsoft.Build.Tasks.Core (17.1) + Microsoft.Build.Framework (>= 17.1) + Microsoft.Build.Utilities.Core (>= 17.1) Microsoft.NET.StringTools (>= 1.0) Microsoft.Win32.Registry (>= 4.3) System.CodeDom (>= 4.4) @@ -150,9 +161,9 @@ NUGET System.Security.Cryptography.Pkcs (>= 4.7) System.Security.Cryptography.Xml (>= 4.7) System.Security.Permissions (>= 4.7) - System.Threading.Tasks.Dataflow (>= 4.9) - Microsoft.Build.Utilities.Core (16.10) - Microsoft.Build.Framework (>= 16.10) + System.Threading.Tasks.Dataflow (>= 6.0) + Microsoft.Build.Utilities.Core (17.1) + Microsoft.Build.Framework (>= 17.1) Microsoft.NET.StringTools (>= 1.0) Microsoft.Win32.Registry (>= 4.3) System.Collections.Immutable (>= 5.0) @@ -162,83 +173,68 @@ NUGET Microsoft.NET.StringTools (1.0) System.Memory (>= 4.5.4) System.Runtime.CompilerServices.Unsafe (>= 5.0) - Microsoft.NETCore.Platforms (5.0.2) - Microsoft.NETCore.Targets (5.0) Microsoft.Win32.Registry (5.0) - System.Buffers (>= 4.5.1) - System.Memory (>= 4.5.4) System.Security.AccessControl (>= 5.0) System.Security.Principal.Windows (>= 5.0) + Microsoft.Win32.SystemEvents (6.0.1) Mono.Posix.NETStandard (1.0) - MSBuild.StructuredLogger (2.1.507) - Microsoft.Build (>= 16.4) - Microsoft.Build.Framework (>= 16.4) - Microsoft.Build.Tasks.Core (>= 16.4) - Microsoft.Build.Utilities.Core (>= 16.4) + MSBuild.StructuredLogger (2.1.630) + Microsoft.Build (>= 16.10) + Microsoft.Build.Framework (>= 16.10) + Microsoft.Build.Tasks.Core (>= 16.10) + Microsoft.Build.Utilities.Core (>= 16.10) Newtonsoft.Json (13.0.1) - NuGet.Common (5.10) - NuGet.Frameworks (>= 5.10) - NuGet.Configuration (5.10) - NuGet.Common (>= 5.10) + NuGet.Common (6.1) + NuGet.Frameworks (>= 6.1) + NuGet.Configuration (6.1) + NuGet.Common (>= 6.1) System.Security.Cryptography.ProtectedData (>= 4.4) - NuGet.Frameworks (5.10) - NuGet.Packaging (5.10) - Newtonsoft.Json (>= 9.0.1) - NuGet.Configuration (>= 5.10) - NuGet.Versioning (>= 5.10) + NuGet.Frameworks (6.1) + NuGet.Packaging (6.1) + Newtonsoft.Json (>= 13.0.1) + NuGet.Configuration (>= 6.1) + NuGet.Versioning (>= 6.1) System.Security.Cryptography.Cng (>= 5.0) System.Security.Cryptography.Pkcs (>= 5.0) - NuGet.Protocol (5.10) - NuGet.Packaging (>= 5.10) - NuGet.Versioning (5.10) + NuGet.Protocol (6.1) + NuGet.Packaging (>= 6.1) + NuGet.Versioning (6.1) Octokit (0.50) - System.Buffers (4.5.1) - System.CodeDom (5.0) - System.Collections.Immutable (5.0) - System.Memory (>= 4.5.4) - System.Configuration.ConfigurationManager (5.0) - System.Security.Cryptography.ProtectedData (>= 5.0) - System.Security.Permissions (>= 5.0) - System.Formats.Asn1 (5.0) - System.Buffers (>= 4.5.1) - System.Memory (>= 4.5.4) + System.CodeDom (6.0) + System.Collections.Immutable (6.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + System.Configuration.ConfigurationManager (6.0) + System.Security.Cryptography.ProtectedData (>= 6.0) + System.Security.Permissions (>= 6.0) + System.Drawing.Common (6.0) + Microsoft.Win32.SystemEvents (>= 6.0) + System.Formats.Asn1 (6.0) System.Memory (4.5.4) - System.Buffers (>= 4.5.1) - System.Numerics.Vectors (>= 4.4) - System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - System.Numerics.Vectors (4.5) System.Reactive (5.0) - System.Runtime.InteropServices.WindowsRuntime (>= 4.3) - System.Threading.Tasks.Extensions (>= 4.5.4) - System.Reflection.Metadata (5.0) - System.Collections.Immutable (>= 5.0) - System.Resources.Extensions (5.0) - System.Memory (>= 4.5.4) - System.Runtime (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - System.Runtime.CompilerServices.Unsafe (5.0) - System.Runtime.InteropServices.WindowsRuntime (4.3) - System.Runtime (>= 4.3) - System.Security.AccessControl (5.0) - System.Security.Principal.Windows (>= 5.0) + System.Reflection.Metadata (6.0.1) + System.Collections.Immutable (>= 6.0) + System.Resources.Extensions (6.0) + System.Runtime.CompilerServices.Unsafe (6.0) + System.Security.AccessControl (6.0) System.Security.Cryptography.Cng (5.0) - System.Security.Cryptography.Pkcs (5.0.1) - System.Buffers (>= 4.5.1) System.Formats.Asn1 (>= 5.0) - System.Memory (>= 4.5.4) - System.Security.Cryptography.Cng (>= 5.0) - System.Security.Cryptography.ProtectedData (5.0) - System.Memory (>= 4.5.4) - System.Security.Cryptography.Xml (5.0) - System.Memory (>= 4.5.4) - System.Security.Cryptography.Pkcs (>= 5.0) - System.Security.Permissions (>= 5.0) - System.Security.Permissions (5.0) - System.Security.AccessControl (>= 5.0) + System.Security.Cryptography.Pkcs (6.0) + System.Formats.Asn1 (>= 6.0) + System.Security.Cryptography.ProtectedData (6.0) + System.Security.Cryptography.Xml (6.0) + System.Security.AccessControl (>= 6.0) + System.Security.Cryptography.Pkcs (>= 6.0) + System.Security.Permissions (6.0) + System.Security.AccessControl (>= 6.0) + System.Windows.Extensions (>= 6.0) System.Security.Principal.Windows (5.0) - System.Text.Encoding.CodePages (5.0) - System.Runtime.CompilerServices.Unsafe (>= 5.0) - System.Threading.Tasks.Dataflow (5.0) - System.Threading.Tasks.Extensions (4.5.4) - System.Runtime.CompilerServices.Unsafe (>= 4.5.3) + System.Text.Encoding.CodePages (6.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + System.Text.Encodings.Web (6.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + System.Text.Json (6.0.3) + System.Runtime.CompilerServices.Unsafe (>= 6.0) + System.Text.Encodings.Web (>= 6.0) + System.Threading.Tasks.Dataflow (6.0) + System.Windows.Extensions (6.0) + System.Drawing.Common (>= 6.0) diff --git a/docs/content/AppSettingsProvider.fsx b/docs/AppSettingsProvider.fsx similarity index 94% rename from docs/content/AppSettingsProvider.fsx rename to docs/AppSettingsProvider.fsx index 0a39d98b..c339069b 100644 --- a/docs/content/AppSettingsProvider.fsx +++ b/docs/AppSettingsProvider.fsx @@ -1,8 +1,8 @@ (*** hide ***) -#I "../../bin" +#I "../src/FSharp.Configuration.Runtime/bin/Release/netstandard2.0" (** -The AppSettings type provider +AppSettingsProvider ============================ This tutorial shows the use of the AppSettings type provider. @@ -35,7 +35,7 @@ Reference the type provider assembly and configure it to use your app.settings f *) -#r "FSharp.Configuration.dll" +#r "FSharp.Configuration.Runtime.dll" #r "System.Configuration.dll" open FSharp.Configuration diff --git a/docs/content/Config.yaml b/docs/Config.yaml similarity index 100% rename from docs/content/Config.yaml rename to docs/Config.yaml diff --git a/docs/content/IniTypeProvider.fsx b/docs/IniTypeProvider.fsx similarity index 88% rename from docs/content/IniTypeProvider.fsx rename to docs/IniTypeProvider.fsx index 54ea2135..4c8f2cfb 100644 --- a/docs/content/IniTypeProvider.fsx +++ b/docs/IniTypeProvider.fsx @@ -1,8 +1,8 @@ (*** hide ***) -#I "../../bin" +#I "../src/FSharp.Configuration.Runtime/bin/Release/netstandard2.0" (** -The Ini type provider +IniTypeProvider ===================== This tutorial shows the use of the Ini type provider. @@ -29,7 +29,7 @@ Create a `Sample.ini` file like this: Reference the type provider assembly and configure it to use your ini file: *) -#r "FSharp.Configuration.dll" +#r "FSharp.Configuration.Runtime.dll" open FSharp.Configuration // Let the type provider do it's work diff --git a/docs/content/ResXProvider.fsx b/docs/ResXProvider.fsx similarity index 85% rename from docs/content/ResXProvider.fsx rename to docs/ResXProvider.fsx index ab19cf5b..c3be3a2d 100644 --- a/docs/content/ResXProvider.fsx +++ b/docs/ResXProvider.fsx @@ -1,8 +1,8 @@ (*** hide ***) -#I "../../bin" +#I "../src/FSharp.Configuration.Runtime/bin/Release/netstandard2.0" (** -The ResX type provider +ResXProvider ============================ This tutorial shows the use of the ResX type provider. @@ -17,7 +17,7 @@ Reference the type provider assembly and configure it to use your Resource1.resx *) // reference the type provider dll -#r "FSharp.Configuration.dll" +#r "FSharp.Configuration.Runtime.dll" open FSharp.Configuration // Let the type provider do it's work diff --git a/docs/content/Resource1.resx b/docs/Resource1.resx similarity index 100% rename from docs/content/Resource1.resx rename to docs/Resource1.resx diff --git a/docs/content/Sample.ini b/docs/Sample.ini similarity index 100% rename from docs/content/Sample.ini rename to docs/Sample.ini diff --git a/docs/content/YamlConfigProvider.fsx b/docs/YamlConfigProvider.fsx similarity index 98% rename from docs/content/YamlConfigProvider.fsx rename to docs/YamlConfigProvider.fsx index 39844d2f..c77f47a9 100644 --- a/docs/content/YamlConfigProvider.fsx +++ b/docs/YamlConfigProvider.fsx @@ -1,8 +1,8 @@ (*** hide ***) -#I "../../bin" +#I "../src/FSharp.Configuration.Runtime/bin/Release/netstandard2.0" (** -The YamlConfig type provider +YamlConfigProvider ============================ This tutorial shows the use of the YamlConfig type provider. @@ -45,7 +45,7 @@ Create a `Config.yaml` file like this: Reference the type provider assembly and configure it to use your yaml file: *) -#r "FSharp.Configuration.dll" +#r "FSharp.Configuration.Runtime.dll" open FSharp.Configuration // Let the type provider do it's work diff --git a/docs/_template.html b/docs/_template.html new file mode 100644 index 00000000..80f68bd7 --- /dev/null +++ b/docs/_template.html @@ -0,0 +1,83 @@ + + + + + + {{fsdocs-page-title}} + + + + + + + + + + + + + + + + + + + + {{fsdocs-watch-script}} + + + + +
+
+

{{fsdocs-collection-name}}

+
+
+
+ {{fsdocs-content}} + {{fsdocs-tooltips}} +
+ + + + + + + + +
+ + + \ No newline at end of file diff --git a/docs/content/app.config b/docs/app.config similarity index 100% rename from docs/content/app.config rename to docs/app.config diff --git a/docs/content/license.md b/docs/content/license.md deleted file mode 100644 index 4c4a3e52..00000000 --- a/docs/content/license.md +++ /dev/null @@ -1,202 +0,0 @@ -Copyright 2013, F# Foundation - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - ------------------------------------------------------------- - -Apache License, Version 2.0 -=========================== - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -### TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - -**1. Definitions.** - - - "License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - - - "Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - - - "Legal Entity" shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - - - "You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - - - "Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. - - - "Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - - - "Work" shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). - - - "Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. - - - "Contribution" shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." - - - "Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -**2. Grant of Copyright License.** -Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -**3. Grant of Patent License.** -Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. - -**4. Redistribution.** -You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: - - - You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - - You must cause any modified files to carry prominent notices - stating that You changed the files; and - - - You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - - If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - -You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -**5. Submission of Contributions.** -Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -**6. Trademarks.** -This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -**7. Disclaimer of Warranty.** -Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -**8. Limitation of Liability.** -In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -**9. Accepting Warranty or Additional Liability.** -While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. diff --git a/docs/content/release-notes.md b/docs/content/release-notes.md deleted file mode 100644 index d641f99b..00000000 --- a/docs/content/release-notes.md +++ /dev/null @@ -1,139 +0,0 @@ -#### 1.5.0 - 15.06.2018 -* Tweak INI File Parser to allow semicolon characters inside string values (thanks [@zakakula](https://github.com/zakaluka)!). - * NOTE: This will result in comments no longer being valid beside string values, instead comments should go on a line above the key-value pair - -#### 1.4.0 - 23.02.2018 -* Migration to latest TPSDK - -#### 1.3.1 - 24.09.2017 -* `SharpYaml.dll` added to NuGet package - -#### 1.3.0 - 14.06.2017 -* Explicit dependency on FSharp.Core -* Target .NET 4.5 -* Target FSharp.Core 4.0.0.1 - -#### 1.2.0 - 20.05.2017 -* FSharp.Core 4.4.1.0 - -#### 1.1.0 - 12.05.2017 -* Mono 5 support - -#### 1.0.1 - 22.04.2017 -* NuGet package targets .NET 4.6 - -#### 1.0.0 - 12.04.2017 -* YamlConfig provider: add `InferTypesFromStrings` optional parameter - -#### 0.6.4 - 18.11.2016 -* Add support for Guids in Yaml and AppSettings - -#### 0.6.2 - 21.08.2016 -* Handle int32 values loading from YAML files into int64 fields - -#### 0.6.1 - 13.06.2016 -* YamlConfigProvider: added support for having mixed type content fall back to strings - -#### 0.6.0 - 16.05.2016 -* YamlConfigProvider throws if file is not found or fails to load -* YamlConfigProvider allows keys of any type - -#### 0.5.12 - 01.03.2016 -* Added support for data in int64 to YamlConfigProvider - -#### 0.5.11 - 24.01.2016 -* Add Path.GetFullPath to the filePath calculation in YamlConfigProvider - -#### 0.5.10 - 20.01.2016 -* Yaml provider: added event to monitor errors in parsing from LoadAndWatch - -#### 0.5.9 - 02.01.2016 -* Yaml provider handle nested lists - -#### 0.5.8 - 30.12.2015 -* Get SharpYaml from NuGet but pack dll inside of FSharp.Configuration NuGet package -* Fix Travis build -* For Mono compatibility: TypeConstructor path should be able to be separated by both "/" and "\" -* AppSettingsProvider: Added possibility to change the application that is being configured. -* Fixed AppSettingsProvider to work in parallel with multiple configs. - -#### 0.5.7 - 22.11.2015 -* Revert dependency on SharpYaml - -#### 0.5.6 - 22.12.2015 -* Fixed: SharpYaml NuGet package was not listed as dependency of FSharp.Configuration one -* infer URLs with "tcp" schema - -#### 0.5.5 - 20.12.2015 -* Same as 0.5.4, NuGet publishing problems - -#### 0.5.4 - 20.12.2015 -* Support "file" and "ssh" uri schemas -* Use SharpYaml NuGet package - -#### 0.5.3 - 12.06.2015 -* AppConfig type provider raises better exception if a settings or connection string is missing at runtime. - -#### 0.5.2 - 12.06.2015 -* Add caching into all type providers - -#### 0.5.1 - 18.03.2015 -* fixed: YamlConfigProvider does not always parse floating point scalars - -#### 0.5.0 - 09.03.2015 -* YamlConfigProvider supports sequence of maps - -#### 0.4.10 - 06.02.2015 -* Better YamlConfigProvider error reporting in case of duplicated keys - -#### 0.4.9 - 06.01.2015 -* Fixed: AppSettings type provider does not read connection strings at runtime - -#### 0.4.8 - 19.12.2014 -* Use HostingEnvironment.IsHosted to determine that AppSettings type provider is used in a Web application - -#### 0.4.7 - 12.12.2014 -* Fixed design time memory leaks in all providers https://github.com/fsprojects/FSharp.Configuration/pull/48 - -#### 0.4.6 - 06.12.2014 -* Fixed: AppSettingsProvider does not find web.config at runtime - -#### 0.4.5 - 06.12.2014 -* Fixed: AppSettingsProvider infers URLs as ints - -#### 0.4.4 - 22.10.2014 -* Add support for connection strings to AppSettings TP - -#### 0.4.3 - 20.09.2014 -* IniFile provider - https://github.com/fsprojects/FSharp.Configuration/pull/34 - -#### 0.3.0 - 19.09.2014 -* Making config settings writable -https://github.com/fsprojects/FSharp.Configuration/pull/29 -* Relax yaml tp loading rules - https://github.com/fsprojects/FSharp.Configuration/pull/32 - -#### 0.2.2 - 17.01.2013 -* Allows to read bitmaps from resources - -#### 0.2.1 - 17.01.2013 -* Fixed bug with the AppSettings type provider and .fsx files - -#### 0.2.0 - 15.01.2013 -* Yaml type provider renamed to Yaml Config type provider - -#### 0.1.0 - 15.01.2013 -* First official release of ResX, Yaml and AppSettings type provider - -#### 0.1.0-alpha5 - 15.01.2013 -* Make it compatible with .NET 4.0 - -#### 0.1.0-alpha4 - 15.01.2013 -* Using latest version of SharpYaml - -#### 0.1.0-alpha3 - 15.01.2013 -* Initial release of the Yaml type provider - -#### 0.1.0-alpha2 - 14.01.2013 -* Initial release of the ResX type provider - -#### 0.1.0-alpha - 14.01.2013 -* Initial release diff --git a/docs/files/img/AppSettingsProvider.png b/docs/img/AppSettingsProvider.png similarity index 100% rename from docs/files/img/AppSettingsProvider.png rename to docs/img/AppSettingsProvider.png diff --git a/docs/files/img/ResXImages.png b/docs/img/ResXImages.png similarity index 100% rename from docs/files/img/ResXImages.png rename to docs/img/ResXImages.png diff --git a/docs/files/img/ResXProvider.png b/docs/img/ResXProvider.png similarity index 100% rename from docs/files/img/ResXProvider.png rename to docs/img/ResXProvider.png diff --git a/docs/files/img/Resource1.png b/docs/img/Resource1.png similarity index 100% rename from docs/files/img/Resource1.png rename to docs/img/Resource1.png diff --git a/docs/files/img/YamlConfigProvider.png b/docs/img/YamlConfigProvider.png similarity index 100% rename from docs/files/img/YamlConfigProvider.png rename to docs/img/YamlConfigProvider.png diff --git a/docs/files/img/logo.pdn b/docs/img/logo.pdn similarity index 100% rename from docs/files/img/logo.pdn rename to docs/img/logo.pdn diff --git a/docs/files/img/logo.png b/docs/img/logo.png similarity index 100% rename from docs/files/img/logo.png rename to docs/img/logo.png diff --git a/docs/content/index.fsx b/docs/index.fsx similarity index 83% rename from docs/content/index.fsx rename to docs/index.fsx index 899a91de..a4be7db8 100644 --- a/docs/content/index.fsx +++ b/docs/index.fsx @@ -1,5 +1,5 @@ (*** hide ***) -#I "../../bin" +#I "../src/FSharp.Configuration.Runtime/bin/Release/netstandard2.0" (** FSharp.Configuration @@ -13,16 +13,17 @@ The FSharp.Configuration project contains type providers for the configuration o * [Ini](IniTypeProvider.html)
-
-
-
- The library can be installed from NuGet: +
+
+
+

The library can be installed from NuGet:

PM> Install-Package FSharp.Configuration
-
+
+ Example ------- @@ -30,7 +31,7 @@ This example demonstrates the use of the AppSettings type provider: *) // reference the type provider dll -#r "FSharp.Configuration.dll" +#r "FSharp.Configuration.Runtime.dll" #r "System.Configuration.dll" open FSharp.Configuration diff --git a/docs/tools/generate.fsx b/docs/tools/generate.fsx deleted file mode 100644 index 57b18063..00000000 --- a/docs/tools/generate.fsx +++ /dev/null @@ -1,107 +0,0 @@ -// -------------------------------------------------------------------------------------- -// Builds the documentation from `.fsx` and `.md` files in the 'docs/content' directory -// (the generated documentation is stored in the 'docs/output' directory) -// -------------------------------------------------------------------------------------- - -// Binaries that have XML documentation (in a corresponding generated XML file) -let referenceBinaries = [ "FSharp.Configuration.dll" ] -// Web site location for the generated documentation -let website = "." - -let githubLink = "http://github.com/fsprojects/FSharp.Configuration" - -// Specify more information about your project -let info = - [ "project-name", "FSharp.Configuration" - "project-author", "FSProjects team" - "project-summary", "Type providers for the configuration of .NET projects." - "project-github", githubLink - "project-nuget", "https://www.nuget.org/packages/FSharp.Configuration" ] - -// -------------------------------------------------------------------------------------- -// For typical project, no changes are needed below -// -------------------------------------------------------------------------------------- - -#I "../../packages/build/FAKE/tools/" -#load "../../packages/build/FSharp.Formatting/FSharp.Formatting.fsx" -#r "NuGet.Core.dll" -#r "FakeLib.dll" -open Fake -open System.IO -open Fake.FileHelper -open FSharp.Literate -open FSharp.MetadataFormat - - -// When called from 'build.fsx', use the public project URL as -// otherwise, use the current 'output' directory. -#if RELEASE -let root = website -#else -let root = "file://" + (__SOURCE_DIRECTORY__ @@ "../output") -#endif - -// Paths with template/source/output locations -let bin = __SOURCE_DIRECTORY__ @@ "../../bin" -let content = __SOURCE_DIRECTORY__ @@ "../content" -let output = __SOURCE_DIRECTORY__ @@ "../output" -let files = __SOURCE_DIRECTORY__ @@ "../files" -let templates = __SOURCE_DIRECTORY__ @@ "templates" -let formatting = __SOURCE_DIRECTORY__ @@ "../../packages/build/FSharp.Formatting/" -let docTemplate = formatting @@ "templates/docpage.cshtml" - -// Where to look for *.csproj templates (in this order) -let layoutRoots = - [ templates; formatting @@ "templates" - formatting @@ "templates/reference" ] - -// Copy static files and CSS + JS from F# Formatting -let copyFiles () = - CopyRecursive files output true |> Log "Copying file: " - ensureDirectory (output @@ "content") - CopyRecursive (formatting @@ "styles") (output @@ "content") true - |> Log "Copying styles and scripts: " - -// When called from 'build.fsx', use the public project URL as -// otherwise, use the current 'output' directory. -#if RELEASE -let refRoot = website + "/.." -#else -let refRoot = "file://" + (__SOURCE_DIRECTORY__ @@ "../output") -#endif - -// Build API reference from XML comments -let buildReference () = - CleanDir (output @@ "reference") - for lib in referenceBinaries do - MetadataFormat.Generate - ( bin @@ lib, output @@ "reference", layoutRoots, - parameters = ("root", refRoot)::info, - sourceRepo = githubLink @@ "tree/master", - sourceFolder = __SOURCE_DIRECTORY__ @@ ".." @@ "..", - libDirs = [ bin ] ) - -#if RELEASE -let docRoot = website -#else -let docRoot = "file://" + (__SOURCE_DIRECTORY__ @@ "../output") -#endif - -// Build documentation from `fsx` and `md` files in `docs/content` -let buildDocumentation () = - let subdirs = Directory.EnumerateDirectories(content, "*", SearchOption.AllDirectories) - for dir in Seq.append [content] subdirs do - let sub = if dir.Length > content.Length then dir.Substring(content.Length + 1) else "." - Literate.ProcessDirectory - ( dir, docTemplate, output @@ sub, replacements = ("root", docRoot)::info, - layoutRoots = layoutRoots, - generateAnchors = true ) - -// Generate -copyFiles() -#if HELP -buildDocumentation() -#endif -#if REFERENCE -buildReference() -#endif diff --git a/docs/tools/templates/template.cshtml b/docs/tools/templates/template.cshtml deleted file mode 100644 index f41095a3..00000000 --- a/docs/tools/templates/template.cshtml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - @Title - - - - - - - - - - - - - - - -
- -
-
-
- @RenderBody() -
- -
-
- Fork me on GitHub - - diff --git a/fsc.props b/fsc.props deleted file mode 100644 index 9a15225d..00000000 --- a/fsc.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - - true - true - true - - - C:\Program Files (x86)\Microsoft SDKs\F#\10.1\Framework\v4.0 - fsc.exe - - - /Library/Frameworks/Mono.framework/Versions/Current/Commands - fsharpc - - - /usr/bin - fsharpc - - \ No newline at end of file diff --git a/global.json b/global.json index dab0ae93..510ef93b 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "5.0.302", + "version": "6.0.400", "rollForward": "minor" } } \ No newline at end of file diff --git a/netfx.props b/netfx.props deleted file mode 100644 index 91361f30..00000000 --- a/netfx.props +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - true - - - /Library/Frameworks/Mono.framework/Versions/Current/lib/mono - /usr/lib/mono - /usr/local/lib/mono - - - $(BaseFrameworkPathOverrideForMono)/4.5-api - $(BaseFrameworkPathOverrideForMono)/4.5.1-api - $(BaseFrameworkPathOverrideForMono)/4.5.2-api - $(BaseFrameworkPathOverrideForMono)/4.6-api - $(BaseFrameworkPathOverrideForMono)/4.6.1-api - $(BaseFrameworkPathOverrideForMono)/4.6.2-api - $(BaseFrameworkPathOverrideForMono)/4.7-api - $(BaseFrameworkPathOverrideForMono)/4.7.1-api - true - - - $(FrameworkPathOverride)/Facades;$(AssemblySearchPaths) - - - - - - - - \ No newline at end of file diff --git a/paket.dependencies b/paket.dependencies index 752edd0c..d6c780d7 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -1,9 +1,8 @@ -source http://nuget.org/api/v2 -framework: netstandard2.0, net461, net5.0 -redirects: force +source https://api.nuget.org/v3/index.json +framework: net6.0, netstandard2.0 nuget YamlDotNet -nuget FSharp.Core 4.7.0 +nuget FSharp.Core 4.7.2 nuget System.Configuration.ConfigurationManager nuget NETStandard.Library.NETFramework @@ -13,10 +12,10 @@ github fsprojects/FSharp.TypeProviders.SDK src/ProvidedTypes.fsi github fsprojects/FSharp.TypeProviders.SDK tests/ProvidedTypesTesting.fs group Test - framework: net461, net5.0 - source https://nuget.org/api/v2 - redirects: force + source https://api.nuget.org/v3/index.json + framework: net6.0 nuget FSharp.Core redirects: force nuget Expecto + nuget System.Configuration.ConfigurationManager redirects: force nuget System.Resources.Extensions \ No newline at end of file diff --git a/paket.lock b/paket.lock index 751a5aa3..17c7454f 100644 --- a/paket.lock +++ b/paket.lock @@ -1,61 +1,57 @@ -REDIRECTS: FORCE -RESTRICTION: || (== net461) (== net50) (== netstandard2.0) +RESTRICTION: || (== net6.0) (== netstandard2.0) NUGET - remote: http://www.nuget.org/api/v2 - FSharp.Core (4.7) - Microsoft.NETCore.Platforms (5.0.2) - restriction: || (== net461) (== net50) (&& (== netstandard2.0) (>= net461)) (&& (== netstandard2.0) (>= netcoreapp2.0)) - Microsoft.Win32.SystemEvents (5.0) - restriction: || (&& (== net461) (>= netcoreapp3.0)) (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) - Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (&& (== net461) (>= netcoreapp2.0)) (== net50) (&& (== netstandard2.0) (>= netcoreapp2.0)) - NETStandard.Library (2.0.3) - restriction: || (== net461) (&& (== net50) (>= net461)) (&& (== netstandard2.0) (>= net461)) - Microsoft.NETCore.Platforms (>= 1.1) + remote: https://api.nuget.org/v3/index.json + FSharp.Core (4.7.2) + Microsoft.Win32.SystemEvents (6.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) NETStandard.Library.NETFramework (2.0.0-preview2-25405-01) - Microsoft.NETCore.Platforms (>= 2.0.0-preview2-25405-01) - restriction: || (== net461) (&& (== net50) (>= net461)) (&& (== netstandard2.0) (>= net461)) - NETStandard.Library (>= 2.0.0-preview2-25401-01) - restriction: || (== net461) (&& (== net50) (>= net461)) (&& (== netstandard2.0) (>= net461)) - System.Buffers (4.5.1) - restriction: || (&& (== net461) (== net50)) (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1) (>= xamarinios)) (&& (== net50) (< netcoreapp2.1) (>= xamarinmac)) (&& (== net50) (< netcoreapp2.1) (>= xamarintvos)) (&& (== net50) (< netcoreapp2.1) (>= xamarinwatchos)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (== netstandard2.0) - System.Configuration.ConfigurationManager (5.0) - System.Security.Cryptography.ProtectedData (>= 5.0) - restriction: || (== net50) (== netstandard2.0) - System.Security.Permissions (>= 5.0) - System.Drawing.Common (5.0.2) - restriction: || (&& (== net461) (>= netcoreapp3.0)) (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) - Microsoft.Win32.SystemEvents (>= 5.0) - restriction: || (&& (== net461) (>= netcoreapp2.0)) (&& (== net461) (>= netcoreapp3.0)) (== net50) (&& (== netstandard2.0) (>= netcoreapp2.0)) (&& (== netstandard2.0) (>= netcoreapp3.0)) - System.Memory (4.5.4) - restriction: || (&& (== net461) (== net50)) (&& (== net50) (< netcoreapp2.1)) (== netstandard2.0) - System.Buffers (>= 4.5.1) - restriction: || (== net461) (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= xamarinios)) (&& (== net50) (>= xamarinmac)) (&& (== net50) (>= xamarintvos)) (&& (== net50) (>= xamarinwatchos)) (== netstandard2.0) - System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net461) (< net45) (>= netstandard2.0)) (&& (== net50) (< netcoreapp2.0)) (== netstandard2.0) - System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (== net461) (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) (&& (== net50) (>= xamarinios)) (&& (== net50) (>= xamarinmac)) (&& (== net50) (>= xamarintvos)) (&& (== net50) (>= xamarinwatchos)) (== netstandard2.0) - System.Numerics.Vectors (4.5) - restriction: || (&& (== net461) (== net50)) (&& (== net50) (< netcoreapp2.0)) (== netstandard2.0) - System.Runtime.CompilerServices.Unsafe (5.0) - restriction: || (&& (== net461) (== net50)) (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) (== netstandard2.0) - System.Security.AccessControl (5.0) - Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (&& (== net461) (>= netcoreapp2.0)) (== net50) (&& (== netstandard2.0) (>= netcoreapp2.0)) - System.Security.Principal.Windows (>= 5.0) - System.Security.Cryptography.ProtectedData (5.0) - restriction: || (== net50) (== netstandard2.0) - System.Memory (>= 4.5.4) - restriction: || (&& (== net461) (< net46) (>= netstandard2.0)) (&& (== net50) (< netcoreapp2.1)) (== netstandard2.0) - System.Security.Permissions (5.0) - System.Security.AccessControl (>= 5.0) - System.Windows.Extensions (>= 5.0) - restriction: || (&& (== net461) (>= netcoreapp3.0)) (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) - System.Security.Principal.Windows (5.0) - System.Windows.Extensions (5.0) - restriction: || (&& (== net461) (>= netcoreapp3.0)) (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) - System.Drawing.Common (>= 5.0) - restriction: || (&& (== net461) (>= netcoreapp3.0)) (== net50) (&& (== netstandard2.0) (>= netcoreapp3.0)) - YamlDotNet (11.2.1) + System.Buffers (4.5.1) - restriction: == netstandard2.0 + System.Configuration.ConfigurationManager (6.0.1) + System.Security.Cryptography.ProtectedData (>= 6.0) + System.Security.Permissions (>= 6.0) + System.Drawing.Common (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + Microsoft.Win32.SystemEvents (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + System.Memory (4.5.5) - restriction: == netstandard2.0 + System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) + System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= uap10.1)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) + System.Numerics.Vectors (4.5) - restriction: == netstandard2.0 + System.Runtime.CompilerServices.Unsafe (6.0) - restriction: == netstandard2.0 + System.Security.AccessControl (6.0) + System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) + System.Security.Cryptography.ProtectedData (6.0) + System.Memory (>= 4.5.4) - restriction: == netstandard2.0 + System.Security.Permissions (6.0) + System.Security.AccessControl (>= 6.0) + System.Windows.Extensions (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + System.Security.Principal.Windows (5.0) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) + System.Windows.Extensions (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + System.Drawing.Common (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) + YamlDotNet (12.0.1) GITHUB remote: fsprojects/FSharp.TypeProviders.SDK - src/ProvidedTypes.fs (f4aca36af04aa84b16ec04df6f6bf55ac2f17a73) - src/ProvidedTypes.fsi (f4aca36af04aa84b16ec04df6f6bf55ac2f17a73) - tests/ProvidedTypesTesting.fs (f4aca36af04aa84b16ec04df6f6bf55ac2f17a73) + src/ProvidedTypes.fs (6ad1174db0794a348f4a1c0aa5a60ae3f1803810) + src/ProvidedTypes.fsi (6ad1174db0794a348f4a1c0aa5a60ae3f1803810) + tests/ProvidedTypesTesting.fs (6ad1174db0794a348f4a1c0aa5a60ae3f1803810) GROUP Test -REDIRECTS: FORCE -RESTRICTION: || (== net461) (== net50) +RESTRICTION: == net6.0 NUGET - remote: https://www.nuget.org/api/v2 - Expecto (9.0.2) + remote: https://api.nuget.org/v3/index.json + Expecto (9.0.4) FSharp.Core (>= 4.6) - Mono.Cecil (>= 0.11.2) - FSharp.Core (5.0.2) - redirects: force + Mono.Cecil (>= 0.11.3) + FSharp.Core (6.0.6) - redirects: force + Microsoft.Win32.SystemEvents (6.0.1) - redirects: force Mono.Cecil (0.11.4) - System.Buffers (4.5.1) - restriction: || (== net461) (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1) (>= xamarinios)) (&& (== net50) (< netcoreapp2.1) (>= xamarinmac)) (&& (== net50) (< netcoreapp2.1) (>= xamarintvos)) (&& (== net50) (< netcoreapp2.1) (>= xamarinwatchos)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) - System.Memory (4.5.4) - restriction: || (== net461) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.1)) - System.Buffers (>= 4.5.1) - restriction: || (== net461) (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= xamarinios)) (&& (== net50) (>= xamarinmac)) (&& (== net50) (>= xamarintvos)) (&& (== net50) (>= xamarinwatchos)) - System.Numerics.Vectors (>= 4.5) - restriction: || (== net461) (&& (== net50) (>= net461)) - System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (== net461) (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) (&& (== net50) (>= xamarinios)) (&& (== net50) (>= xamarinmac)) (&& (== net50) (>= xamarintvos)) (&& (== net50) (>= xamarinwatchos)) - System.Numerics.Vectors (4.5) - restriction: || (== net461) (&& (== net50) (>= net461)) - System.Resources.Extensions (5.0) - System.Memory (>= 4.5.4) - restriction: || (== net461) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.1)) - System.Runtime.CompilerServices.Unsafe (5.0) - restriction: || (== net461) (&& (== net50) (>= monotouch)) (&& (== net50) (>= net461)) (&& (== net50) (< netcoreapp2.0)) (&& (== net50) (< netcoreapp2.1)) (&& (== net50) (< netstandard1.1)) (&& (== net50) (< netstandard2.0)) (&& (== net50) (>= uap10.1)) + System.Configuration.ConfigurationManager (6.0.1) - redirects: force + System.Security.Cryptography.ProtectedData (>= 6.0) + System.Security.Permissions (>= 6.0) + System.Drawing.Common (6.0) - redirects: force + Microsoft.Win32.SystemEvents (>= 6.0) + System.Resources.Extensions (6.0) + System.Security.AccessControl (6.0) - redirects: force + System.Security.Cryptography.ProtectedData (6.0) - redirects: force + System.Security.Permissions (6.0) - redirects: force + System.Security.AccessControl (>= 6.0) + System.Windows.Extensions (>= 6.0) + System.Windows.Extensions (6.0) - redirects: force + System.Drawing.Common (>= 6.0) diff --git a/src/FSharp.Configuration.DesignTime/AssemblyInfo.fs b/src/FSharp.Configuration.DesignTime/AssemblyInfo.fs index 190f5223..ff42c5a4 100644 --- a/src/FSharp.Configuration.DesignTime/AssemblyInfo.fs +++ b/src/FSharp.Configuration.DesignTime/AssemblyInfo.fs @@ -5,13 +5,13 @@ open System.Reflection [] [] [] -[] -[] +[] +[] do () module internal AssemblyVersionInformation = let [] AssemblyTitle = "FSharp.Configuration.DesignTime" let [] AssemblyProduct = "FSharp.Configuration" let [] AssemblyDescription = "The FSharp.Configuration project contains type providers for the configuration of .NET projects." - let [] AssemblyVersion = "2.0.0" - let [] AssemblyFileVersion = "2.0.0" + let [] AssemblyVersion = "3.0.0" + let [] AssemblyFileVersion = "3.0.0" diff --git a/src/FSharp.Configuration.DesignTime/FSharp.Configuration.DesignTime.fsproj b/src/FSharp.Configuration.DesignTime/FSharp.Configuration.DesignTime.fsproj index eef4c093..7870b517 100644 --- a/src/FSharp.Configuration.DesignTime/FSharp.Configuration.DesignTime.fsproj +++ b/src/FSharp.Configuration.DesignTime/FSharp.Configuration.DesignTime.fsproj @@ -1,22 +1,18 @@  - Library - netstandard2.0;net461 + netstandard2.0;net6.0 true true true PackageReference true + ..\FSharp.Configuration.Runtime\bin\$(Configuration)\typeproviders\fsharp41\ NET461 - - - - @@ -39,9 +35,6 @@ - - PreserveNewest - \ No newline at end of file diff --git a/src/FSharp.Configuration.DesignTime/YamlConfigProvider.fs b/src/FSharp.Configuration.DesignTime/YamlConfigProvider.fs index 91fd6dd4..ed322992 100644 --- a/src/FSharp.Configuration.DesignTime/YamlConfigProvider.fs +++ b/src/FSharp.Configuration.DesignTime/YamlConfigProvider.fs @@ -199,7 +199,7 @@ module private TypesFactory = let prop = ProvidedProperty (name, mapTy, isStatic = false, getterCode = (fun [me] -> Expr.FieldGetUnchecked(me, field))) { MainType = Some (mapTy :> _) Types = [mapTy :> MemberInfo; field :> MemberInfo; prop :> MemberInfo] - Init = fun me -> Expr.FieldSetUnchecked(me, field, Expr.NewObject(ctr, [])) + Init = fun me -> Expr.FieldSetUnchecked(me, field, Expr.NewObject(ctr, [])) } | None -> { MainType = None diff --git a/src/FSharp.Configuration.Runtime/AssemblyInfo.fs b/src/FSharp.Configuration.Runtime/AssemblyInfo.fs index 9a0e3310..719a669e 100644 --- a/src/FSharp.Configuration.Runtime/AssemblyInfo.fs +++ b/src/FSharp.Configuration.Runtime/AssemblyInfo.fs @@ -5,13 +5,13 @@ open System.Reflection [] [] [] -[] -[] +[] +[] do () module internal AssemblyVersionInformation = let [] AssemblyTitle = "FSharp.Configuration.Runtime" let [] AssemblyProduct = "FSharp.Configuration" let [] AssemblyDescription = "The FSharp.Configuration project contains type providers for the configuration of .NET projects." - let [] AssemblyVersion = "2.0.0" - let [] AssemblyFileVersion = "2.0.0" + let [] AssemblyVersion = "3.0.0" + let [] AssemblyFileVersion = "3.0.0" diff --git a/src/FSharp.Configuration.Runtime/FSharp.Configuration.Runtime.fsproj b/src/FSharp.Configuration.Runtime/FSharp.Configuration.Runtime.fsproj index 0b731f44..2e205d7c 100644 --- a/src/FSharp.Configuration.Runtime/FSharp.Configuration.Runtime.fsproj +++ b/src/FSharp.Configuration.Runtime/FSharp.Configuration.Runtime.fsproj @@ -2,20 +2,15 @@ - Library - netstandard2.0; net461 + netstandard2.0 true - true + TP_RUNTIME NET461 - - - - @@ -37,22 +32,12 @@ - + + - - - - - - - - - - - \ No newline at end of file diff --git a/src/FSharp.Configuration.Runtime/TypeProviders.Helper.fs b/src/FSharp.Configuration.Runtime/TypeProviders.Helper.fs index 94300bef..01f11206 100644 --- a/src/FSharp.Configuration.Runtime/TypeProviders.Helper.fs +++ b/src/FSharp.Configuration.Runtime/TypeProviders.Helper.fs @@ -21,9 +21,9 @@ let inline satisfies predicate (charOption:option) = | _ -> None let dispose (x: IDisposable) = if x = null then () else x.Dispose() -let debug msg = +let debug msg = let dt = DateTime.Now - let writer msg = + let writer msg = Diagnostics.Debug.WriteLine msg // System.IO.File.AppendAllLines("debug.log", [sprintf "[%O] %s\n" dt msg]) Printf.kprintf writer msg diff --git a/src/FSharp.Configuration.Runtime/paket.template b/src/FSharp.Configuration.Runtime/paket.template index c0ad1b6d..25e276d3 100644 --- a/src/FSharp.Configuration.Runtime/paket.template +++ b/src/FSharp.Configuration.Runtime/paket.template @@ -9,13 +9,15 @@ owners projectUrl https://fsprojects.github.io/FSharp.Configuration/ iconUrl - https://raw.githubusercontent.com/fsprojects/FSharp.Configuration/master/docs/files/img/logo.png + https://raw.githubusercontent.com/fsprojects/FSharp.Configuration/master/docs/img/logo.png licenseUrl https://github.com/fsprojects/FSharp.Configuration/blob/master/LICENSE.txt requireLicenseAcceptance false +licenseExpression + Apache-2.0 copyright - Copyright 2014-2021 + Copyright 2014-2022 tags F# fsharp typeproviders FSharp.Configuration appsettings YAML F# ResX Ini config summary @@ -25,17 +27,13 @@ description tags F# fsharp typeproviders FSharp.Configuration files - bin/Release/net461/FSharp.Configuration.Runtime.* ==> lib/net461 - bin/Release/net461/YamlDotNet.dll ==> lib/net461 + bin/Release/netstandard2.0/*.dll ==> lib/netstandard2.0 bin/Release/netstandard2.0/FSharp.Configuration.Runtime.* ==> lib/netstandard2.0 - bin/Release/netstandard2.0/YamlDotNet.dll ==> lib/netstandard2.0 bin/Release/typeproviders/fsharp41/netstandard2.0/*.dll ==> typeproviders/fsharp41/netstandard2.0 - bin/Release/typeproviders/fsharp41/net461/*.dll ==> typeproviders/fsharp41/net461 dependencies framework: netstandard20 FSharp.Core >= LOCKEDVERSION - framework: net461 - FSharp.Core >= LOCKEDVERSION references FSharp.Configuration.Runtime.dll + System.Configuration.ConfigurationManager.dll YamlDotNet.dll diff --git a/src/FSharp.Configuration/AssemblyInfo.fs b/src/FSharp.Configuration/AssemblyInfo.fs deleted file mode 100644 index 3ba8b533..00000000 --- a/src/FSharp.Configuration/AssemblyInfo.fs +++ /dev/null @@ -1,17 +0,0 @@ -// Auto-Generated by FAKE; do not edit -namespace System -open System.Reflection - -[] -[] -[] -[] -[] -do () - -module internal AssemblyVersionInformation = - let [] AssemblyTitle = "FSharp.Configuration" - let [] AssemblyProduct = "FSharp.Configuration" - let [] AssemblyDescription = "The FSharp.Configuration project contains type providers for the configuration of .NET projects." - let [] AssemblyVersion = "2.0.0" - let [] AssemblyFileVersion = "2.0.0" diff --git a/src/FSharp.Configuration/FSharp.Configuration.fsproj b/src/FSharp.Configuration/FSharp.Configuration.fsproj deleted file mode 100644 index f8c37183..00000000 --- a/src/FSharp.Configuration/FSharp.Configuration.fsproj +++ /dev/null @@ -1,44 +0,0 @@ - - - - - netstandard2.0;net461 - FSharp.Configuration - true - PackageReference - true - - - NET461 - - - - - - - - True - ProvidedTypesTesting.fs - - - True - ProvidedTypes.fsi - - - True - ProvidedTypes.fs - - - - - - - - - - - PreserveNewest - - - - \ No newline at end of file diff --git a/src/FSharp.Configuration/paket.references b/src/FSharp.Configuration/paket.references deleted file mode 100644 index 54b4818c..00000000 --- a/src/FSharp.Configuration/paket.references +++ /dev/null @@ -1,8 +0,0 @@ -YamlDotNet -FSharp.Core - -System.Configuration.ConfigurationManager - -File: ProvidedTypes.fsi . -File: ProvidedTypes.fs . -File: ProvidedTypesTesting.fs . \ No newline at end of file diff --git a/tests/FSharp.Configuration.Tests/FSharp.Configuration.Tests.fsproj b/tests/FSharp.Configuration.Tests/FSharp.Configuration.Tests.fsproj index 882884a4..4dcec6e3 100644 --- a/tests/FSharp.Configuration.Tests/FSharp.Configuration.Tests.fsproj +++ b/tests/FSharp.Configuration.Tests/FSharp.Configuration.Tests.fsproj @@ -1,15 +1,12 @@  - - Exe - net5.0;net461 + net6.0 FSharp.Configuration.Tests - true + false true - true - + true true @@ -36,33 +33,7 @@ - - FSharp.Configuration.Runtime - {7e90d6ce-a10b-4858-a5bc-41df7250cbca} - True - + - \ No newline at end of file diff --git a/tests/FSharp.Configuration.Tests/YamlProvider.Tests.fs b/tests/FSharp.Configuration.Tests/YamlProvider.Tests.fs index 64b4570c..8f04c58c 100644 --- a/tests/FSharp.Configuration.Tests/YamlProvider.Tests.fs +++ b/tests/FSharp.Configuration.Tests/YamlProvider.Tests.fs @@ -19,63 +19,63 @@ type private Listener(event: IEvent) = let private getPath fileName = Path.Combine(__SOURCE_DIRECTORY__, fileName) -let [] tests = +let [] tests = testList "Yaml Config Provider tests" [ testCase "Can return a string from the settings file" (fun _ -> - let settings = Settings() + let settings = Settings() Expect.equal settings.DB.ConnectionString "Data Source=server1;Initial Catalog=Database1;Integrated Security=SSPI;" "value") - + testCase "Can return an int from the settings file" (fun _ -> let settings = Settings() Expect.equal settings.DB.NumberOfDeadlockRepeats 5 "value") - - testCase "Can return an int64 from the settings file" (fun _ -> + + testCase "Can return an int64 from the settings file" (fun _ -> let settings = Settings() Expect.equal settings.DB.Id 21474836470L "value") - - testCase "Can return an double from the settings file" (fun _ -> + + testCase "Can return an double from the settings file" (fun _ -> let settings = Settings() Expect.equal settings.JustStuff.SomeDoubleValue 0.5 "value") - - testCase "Can return a TimeSpan from the settings file" (fun _ -> + + testCase "Can return a TimeSpan from the settings file" (fun _ -> let settings = Settings() Expect.equal settings.DB.DefaultTimeout (TimeSpan.FromMinutes 5.0) "value") - + testCase "Can return a guid from the settings file" (fun _ -> let settings = Settings() Expect.equal settings.JustStuff.SomeGuid (Guid.Parse "{7B7EB384-FEBA-4409-B560-66FF63F1E8D0}") "value") - + testCase "Can return a different guid from the settings file" (fun _ -> let settings = Settings() Expect.equal settings.JustStuff.DifferentGuid (Guid.Parse "9d165087-9b74-4313-ab90-89be897d3d93") "value") - - testCase "Can return a list from the settings file" (fun _ -> + + testCase "Can return a list from the settings file" (fun _ -> let settings = Settings() Expect.equal settings.Mail.ErrorNotificationRecipients.Count 2 "value" Expect.equal settings.Mail.ErrorNotificationRecipients.[0] "user1@sample.com" "value" Expect.equal settings.Mail.ErrorNotificationRecipients.[1] "user2@sample.com" "value") - + testCase "Can write to a string in the settings file" (fun _ -> let settings = Settings() settings.DB.ConnectionString <- "Data Source=server2" Expect.equal settings.DB.ConnectionString "Data Source=server2" "value") - + testCase "Can write to an int in the settings file" (fun _ -> let settings = Settings() settings.DB.NumberOfDeadlockRepeats <- 6 Expect.equal settings.DB.NumberOfDeadlockRepeats 6 "value") - + testCase "Can write to an double in the settings file" (fun _ -> let settings = Settings() settings.JustStuff.SomeDoubleValue <- 0.5 Expect.equal settings.JustStuff.SomeDoubleValue 0.5 "value") - + testCase "Can write to a guid in the settings file" (fun _ -> let settings = Settings() let guid = Guid.NewGuid() settings.JustStuff.SomeGuid <- guid Expect.equal settings.JustStuff.SomeGuid guid "value") - + testCase "Can save a settings file to a specified location" (fun _ -> let settings = Settings() settings.DB.NumberOfDeadlockRepeats <- 11 @@ -84,7 +84,7 @@ let [] tests = let tempFile = Path.GetTempFileName() settings.Save tempFile assertFilesAreEqual tempFile (getPath "Settings2.yaml")) - + testCase "Can save settings to the file it was loaded from last time" (fun _ -> let settings = Settings() let tempFile = Path.GetTempFileName() @@ -96,11 +96,11 @@ let [] tests = settings.Save() assertFilesAreEqual tempFile (getPath "Settings2.yaml") finally File.Delete tempFile) - + testCase "Throws exception during saving if it was not loaded from a file and location is not specified" (fun _ -> let settings = Settings() Expect.throwsT (fun() -> settings.Save()) "throws") - + testCase "Can loads full settings" (fun _ -> let settings = Settings() settings.LoadText """ @@ -129,18 +129,18 @@ let [] tests = Expect.equal settings.Mail.Smtp.Port 4430 "value" Expect.equal settings.Mail.Smtp.User "user1*" "value" Expect.equal settings.Mail.Smtp.Password "pass1*" "value" - + Expect.equal settings.Mail.Pop3.Host "pop3.sample.com*" "value" Expect.equal settings.Mail.Pop3.Port 3310 "value" Expect.equal settings.Mail.Pop3.User "user2*" "value" Expect.equal settings.Mail.Pop3.Password "pass2*" "value" Expect.equal settings.Mail.Pop3.CheckPeriod (TimeSpan.FromMinutes 2.0) "value" - + Expect.equal (List.ofSeq settings.Mail.ErrorNotificationRecipients) ["user1@sample.com*"; "user2@sample.com*"; "user3@sample.com"] "value" Expect.equal settings.DB.ConnectionString "Data Source=server1;Initial Catalog=Database1;Integrated Security=SSPI;*" "value" Expect.equal settings.DB.NumberOfDeadlockRepeats 50 "value" Expect.equal settings.DB.DefaultTimeout (TimeSpan.FromMinutes 6.0) "value") - + testCase "Can load partial settings" (fun _ -> let settings = Settings() settings.LoadText """ @@ -158,19 +158,19 @@ let [] tests = Expect.equal settings.Mail.Smtp.Port 4430 "value" Expect.equal settings.Mail.Smtp.User "user1" "value" Expect.equal settings.Mail.Smtp.Password "pass1" "value" - + Expect.equal settings.Mail.Pop3.Host "pop3.sample.com" "value" Expect.equal settings.Mail.Pop3.Port 331 "value" Expect.equal settings.Mail.Pop3.User "user2" "value" Expect.equal settings.Mail.Pop3.Password "pass2" "value" Expect.equal settings.Mail.Pop3.CheckPeriod (TimeSpan.FromMinutes 2.0) "value" - + Expect.sequenceEqual settings.Mail.ErrorNotificationRecipients ["user1@sample.com*"; "user2@sample.com*"; "user3@sample.com"] "value" - + Expect.equal settings.DB.ConnectionString "Data Source=server1;Initial Catalog=Database1;Integrated Security=SSPI;" "value" Expect.equal settings.DB.NumberOfDeadlockRepeats 5 "value" Expect.equal settings.DB.DefaultTimeout (TimeSpan.FromMinutes 5.0) "value") - + testCase "Can load settings containing unknown nodes" (fun _ -> let settings = Settings() settings.LoadText """ @@ -180,10 +180,10 @@ let [] tests = NestedUnknown: value1 TopLevelUnknown: Value: 1 - + """ Expect.equal settings.Mail.Smtp.Port 4430 "value") - + testCase "Can load file and watch" (fun _ -> let settings = Settings() let tempFile = Path.GetTempFileName() @@ -192,12 +192,12 @@ let [] tests = settings.LoadAndWatch tempFile |> ignore finally File.Delete tempFile) - + testCase "Can load file and watch and detect errors" (fun _ -> let settings = Settings() let tempFile = Path.GetTempFileName() let mutable err = false - settings.Error.Add(fun _ -> err <- true) + settings.Error.Add(fun _ -> err <- true) try File.Copy (getPath "Settings.yaml", tempFile, overwrite=true) use __ = settings.LoadAndWatch tempFile @@ -211,7 +211,7 @@ let [] tests = Expect.isTrue err "error event raised" finally File.Delete tempFile) - + testCase "Can load empty lists" (fun _ -> let settings = Settings() settings.LoadText """ @@ -219,7 +219,7 @@ let [] tests = ErrorNotificationRecipients: [] """ Expect.isEmpty settings.Mail.ErrorNotificationRecipients "value") - + testCase "Raises Changed events" (fun _ -> let settings = Settings() let rootListener = Listener(settings.Changed) @@ -227,7 +227,7 @@ let [] tests = let pop3Listener = Listener(settings.Mail.Pop3.Changed) let smtpListener = Listener(settings.Mail.Smtp.Changed) let dbListener = Listener(settings.DB.Changed) - + settings.LoadText """ Mail: Pop3: @@ -238,16 +238,16 @@ let [] tests = mailListener.Events pop3Listener.Events smtpListener.Events - dbListener.Events] + dbListener.Events] [1; 1; 1; 0; 0] "value") - + testCase "Does not raise duplicates of parent Changed events even though several children changed" (fun _ -> let settings = Settings() let rootListener = Listener settings.Changed let mailListener = Listener settings.Mail.Changed let pop3Listener = Listener settings.Mail.Pop3.Changed let smtpListener = Listener settings.Mail.Smtp.Changed - + settings.LoadText """ Mail: Smtp: @@ -280,7 +280,7 @@ let [] listTests = Expect.equal settings.items.[0].part_no "Test" "value" Expect.equal settings.items.[0].descrip "Some description" "value" Expect.equal settings.items.[0].quantity 14 "value" - + "Can load sequence of maps (multiple items)", fun settings -> settings.LoadText """ items: @@ -292,7 +292,7 @@ let [] listTests = descrip: Water Bucket (Filled) price: 147 quantity: 4 - + - part_no: E1628 descrip: High Heeled "Ruby" Slippers size: 8 @@ -303,11 +303,11 @@ let [] listTests = Expect.equal settings.items.[0].part_no "Test" "value" Expect.equal settings.items.[0].descrip "Some description" "value" Expect.equal settings.items.[0].quantity 14 "value" - + Expect.equal settings.items.[2].part_no "E1628" "value" Expect.equal settings.items.[2].descrip "High Heeled \"Ruby\" Slippers" "value" Expect.equal settings.items.[2].quantity 1 "value" - + "Can load nested lists", fun settings -> settings.LoadText """ Fix82: @@ -331,25 +331,25 @@ let [] listTests = Expect.equal settings.Fix82.constraints.[1].Count 2 "value" Expect.equal settings.Fix82.constraints.[1].[0] "field" "value" Expect.equal settings.Fix82.constraints.[1].[1] "OP" "value" - + //"Check that list defaults are OK", fun settings -> // Expect.equal settings.items.Count 2 "value" // Expect.equal settings.Archive.Count 3 "value" ]) -type NumericKeys = YamlConfig - -type MixedTypes = YamlConfig let [] numericTests = @@ -359,14 +359,14 @@ let [] numericTests = Expect.equal sut.``1`` 10 "value" Expect.equal sut.``2`` 20 "value" Expect.equal sut.``3a`` "foo" "value") - + testCase "Mixed types are read as strings" (fun _ -> let mt = MixedTypes() mt.LoadText(""" Items: - Item: asdf - Item: http://fsharp.org - - Item: 14 + - Item: 14 """) Expect.equal mt.Items.[0].Item "asdf" "value" Expect.equal mt.Items.[1].Item "http://fsharp.org/" "value" diff --git a/tests/FSharp.Configuration.Tests/app.config b/tests/FSharp.Configuration.Tests/app.config index 10a2eed9..7604f94d 100644 --- a/tests/FSharp.Configuration.Tests/app.config +++ b/tests/FSharp.Configuration.Tests/app.config @@ -22,81 +22,41 @@ True - + True - - + + True - + True - - - - - True - - - - - True - - + + True - + True - + True - - - - True - - - - - True - - - - - True - - - - - True - - - - - True - - - - - True - - + True - - + + \ No newline at end of file diff --git a/tests/FSharp.Configuration.Tests/paket.references b/tests/FSharp.Configuration.Tests/paket.references index c681598e..400586a4 100644 --- a/tests/FSharp.Configuration.Tests/paket.references +++ b/tests/FSharp.Configuration.Tests/paket.references @@ -1,4 +1,5 @@ group Test FSharp.Core Expecto + System.Configuration.ConfigurationManager System.Resources.Extensions \ No newline at end of file