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-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)
-
-
-
+
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()
-
-
-
-
-
-
-
-
-
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