diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index c8da98a..73f78b3 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -2,28 +2,22 @@
"version": 1,
"isRoot": true,
"tools": {
- "fantomas-tool": {
- "version": "4.7.6",
- "commands": [
- "fantomas"
- ]
- },
"dotnet-fsharplint": {
- "version": "0.21.2",
+ "version": "0.21.3",
"commands": [
"dotnet-fsharplint"
]
},
"paket": {
- "version": "7.1.4",
+ "version": "7.2.1",
"commands": [
"paket"
]
},
- "fake-cli": {
- "version": "5.23.0",
+ "fantomas": {
+ "version": "6.1.1",
"commands": [
- "fake"
+ "fantomas"
]
}
}
diff --git a/.editorconfig b/.editorconfig
index 393a6b3..9d67535 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,6 +1,7 @@
-[*.fs]
+[*.{fs,fsx}]
fsharp_max_value_binding_width = 80
fsharp_max_infix_operator_expression = 70
+fsharp_max_if_then_short_width = 50
[*.md]
max_line_length = 100
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 38c11d2..682c842 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -12,11 +12,9 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up .NET
- uses: xt0rted/setup-dotnet@v1.0.0
- - name: Install dependencies
- run: |
- dotnet tool restore
- dotnet paket restore
+ uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: '6.0.x'
- name: Set up dependency caching for faster builds
uses: actions/cache@v3
with:
@@ -24,7 +22,11 @@ jobs:
key: ${{ runner.os }}-paket-${{ hashFiles('**/paket.lock') }}
restore-keys: |
${{ runner.os }}-paket-
+ - name: Install dependencies
+ run: |
+ dotnet tool restore
+ dotnet paket restore
- name: Test code
- run: dotnet fake build -t Check
+ run: ./build.sh -t Check
- name: Create release draft
- run: dotnet fake build -t Release
+ run: ./build.sh -t Release
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 7d08ce9..ec5d998 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -12,11 +12,9 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up .NET
- uses: xt0rted/setup-dotnet@v1.0.0
- - name: Install dependencies
- run: |
- dotnet tool restore
- dotnet paket restore
+ uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: '6.0.x'
- name: Set up dependency caching for faster builds
uses: actions/cache@v3
with:
@@ -24,5 +22,9 @@ jobs:
key: ${{ runner.os }}-paket-${{ hashFiles('**/paket.lock') }}
restore-keys: |
${{ runner.os }}-paket-
+ - name: Install dependencies
+ run: |
+ dotnet tool restore
+ dotnet paket restore
- name: Run code checks
- run: dotnet fake build -t Check
\ No newline at end of file
+ run: ./build.sh -t Check
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index a5ddad6..0d5a146 100644
--- a/.gitignore
+++ b/.gitignore
@@ -291,7 +291,7 @@ PublishScripts/
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
-!**/[Pp]ackages/build/
+#!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
diff --git a/.idea/.idea.RoonTagger/.idea/indexLayout.xml b/.idea/.idea.RoonTagger/.idea/indexLayout.xml
index b564d50..3016c27 100644
--- a/.idea/.idea.RoonTagger/.idea/indexLayout.xml
+++ b/.idea/.idea.RoonTagger/.idea/indexLayout.xml
@@ -12,9 +12,13 @@
.gitignore
.markdownlint.yaml
README.md
+ build.cmd
build.fsx
+ build.sh
global.json
-
+
+ docs
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 809d62e..43ebaee 100644
--- a/README.md
+++ b/README.md
@@ -22,10 +22,14 @@ dotnet test
We also use [Fake][] for running some build/test tasks. For help run:
```powershell
-dotnet fake build
+.\build # on Windows
```
-This will list the main targets to run. These targets are also running in CI.
+```shell
+./build.sh # on mac/linux
+```
+
+This will show the build system Usage. It could be used in CI.
### Refreshing Roles List
diff --git a/Resources/ReleaseTemplate.md b/Resources/ReleaseTemplate.md
index 67feae2..1c4d2b2 100644
--- a/Resources/ReleaseTemplate.md
+++ b/Resources/ReleaseTemplate.md
@@ -4,15 +4,33 @@ TODO: Fill release notes ...
### Installation Instructions
+#### Archives
+
There are two kinds of archives:
-* `roon-tagger-xxx-noarch.*` - These are small and contains only the
- application. They do require that you have _.Net 6.x_ runtime installed.
-* `roon-tagger-xxx-.*` - These contains everything you need to run
- _roon-tagger_. If your architecture is not suuported (e.g. you're using a 32
- bit or ARM processor), please file an issue.
+* `roon-tagger-xxx-noarch.*` - These are small and contains only the application. They do require
+ that you have _.Net 6.x_ runtime installed.
+* `roon-tagger-xxx-.*` - These contains everything you need to run _roon-tagger_. If your
+ architecture is not suuported (e.g. you're using a 32 bit or ARM processor), please file an issue.
+
+Installation is currently manual. You need to extract the archive to somewhere in your computer. In
+_Windows_ you should add the directory you extracted to to the `PATH`. On _Linux_ / _MacOS you can
+symlink the `roon-tagger` executable to somewhere in your `PATH`.
+
+#### Scoop File
+
+[Scoop][scoop] support is currently experimental *and* manual. You can install *Roon Tagger* with
+scoop using the direct manifest URL:
+
+* Copy the URL of the `roon-tagger.json` file in the current release assets.
+* Install roon-tagger using the address copied above:
+
+ scoop install
+* Uninstall with:
+
+ scoop uninstall roon-tagger
+
+> **Warning**
+> only 64bit systems are supported. for other architecture please file an issue.
-Installation is currently manual. You need to extract the archive to somewhere
-in your computer. In _Windows_ you should add the directory you extracted to to
-the `PATH`. On linux/osx you can symlink the `roon-tagger` executable to
-somewhere in your `PATH`.
+[scoop]: https://scoop.sh
\ No newline at end of file
diff --git a/RoonTagger.sln b/RoonTagger.sln
index ed59065..f54b5ea 100644
--- a/RoonTagger.sln
+++ b/RoonTagger.sln
@@ -18,6 +18,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Metadata.Test", "src\Metada
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "RoonTagger.Cli.Test", "src\RoonTagger.Cli.Test\RoonTagger.Cli.Test.fsproj", "{C21A6273-1B76-4993-85AA-DC73F8E54770}"
EndProject
+Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Build", "build\Build.fsproj", "{3342B827-FC6D-419D-A2CB-1D4D25D3714E}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -79,6 +81,17 @@ Global
{C21A6273-1B76-4993-85AA-DC73F8E54770}.Release|x64.Build.0 = Release|Any CPU
{C21A6273-1B76-4993-85AA-DC73F8E54770}.Release|x86.ActiveCfg = Release|Any CPU
{C21A6273-1B76-4993-85AA-DC73F8E54770}.Release|x86.Build.0 = Release|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Debug|x64.Build.0 = Debug|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Debug|x86.Build.0 = Debug|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Release|x64.ActiveCfg = Release|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Release|x64.Build.0 = Release|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Release|x86.ActiveCfg = Release|Any CPU
+ {3342B827-FC6D-419D-A2CB-1D4D25D3714E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{C57CC9D3-5427-4940-9A6D-FA40901CDA62} = {7C6DD87A-C2D8-4A7F-A00F-F6C9F1ED6203}
diff --git a/build.cmd b/build.cmd
new file mode 100644
index 0000000..49740ee
--- /dev/null
+++ b/build.cmd
@@ -0,0 +1,6 @@
+@echo off
+echo Restoring dotnet tools...
+dotnet tool restore
+dotnet paket restore
+
+dotnet run --project ./build/build.fsproj -- %*
diff --git a/build.fsx b/build.fsx
deleted file mode 100644
index bdc1d7c..0000000
--- a/build.fsx
+++ /dev/null
@@ -1,326 +0,0 @@
-#r "paket:
-nuget Fake.Api.GitHub
-nuget Fake.Core.UserInput
-nuget Fake.DotNet.Cli
-nuget Fake.IO.FileSystem
-nuget Fake.IO.Zip
-nuget Fake.Core.Process
-nuget Fake.Core.Target
-nuget Fake.Tools.Git
-nuget FSharpx.Extras 3.1.0 //"
-#load ".fake/build.fsx/intellisense.fsx"
-
-open Fake.Api
-open Fake.Core
-open Fake.DotNet
-open Fake.IO
-open Fake.IO.FileSystemOperators
-open Fake.IO.Globbing.Operators
-open Fake.Core.TargetOperators
-open FSharpx.Option
-
-let args = Target.getArguments ()
-let repoRoot = __SOURCE_DIRECTORY__
-let outputDir = repoRoot @@ "output"
-let buildDir = outputDir @@ "build"
-let distDir = outputDir @@ "dist"
-let srcDir = repoRoot @@ "src"
-let mainSln = repoRoot @@ "RoonTagger.sln"
-
-let cliProj =
- srcDir
- @@ "RoonTagger.Cli" @@ "RoonTagger.Cli.fsproj"
-
-[]
-module Helpers =
- open System.Text.RegularExpressions
-
- let log msg = Trace.log $"===> {msg}"
-
- let parseVersion =
- function
- | Some version -> version
- | None -> failwith "No Version - either HEAD should be a tag or version override must be specified"
-
- // Normalizes versions to be valid dotnet version (e.g. v1.2.3 -> 1.2.3).
- let normalizeVersion (version: string) =
- let rgx = Regex "^[a-z,A-Z]+"
- rgx.Replace(version, "")
-
-[]
-module Outputs =
-
- type Archive =
- | TarGz
- | Zip
-
- type Target =
- | NoArch
- | WinX64
- | LinuxX64
- | OsxX64
-
- type OutputFormat = OutputFormat of Target * Archive
-
- let toRID target =
- match target with
- | NoArch -> "noarch"
- | WinX64 -> "win-x64"
- | LinuxX64 -> "linux-x64"
- | OsxX64 -> "osx-x64"
-
-[]
-module GitHelpers =
- open Fake.Tools.Git
-
- let extractVersionFromTag () =
- let describe = Information.describe repoRoot
- let lastTag = Information.getLastTag ()
-
- if (describe = lastTag) then
- Some lastTag
- else
- None
-
- let promptGithubToken () =
- let tokenEnv = "GITHUB_TOKEN"
-
- let prompt () =
- UserInput.getUserPassword "Github token: "
-
- Environment.environVarOrNone tokenEnv
- |> Option.defaultWith prompt
-
-[]
-module Archives =
-
- let compressZip dirName =
- log $"Creating ZIP archive from '{dirName}'"
- let source = buildDir @@ dirName
- let zipFile = distDir @@ $"{dirName}.zip"
- !! $"{source}/**/*" |> Zip.zip buildDir zipFile
-
- let compressTarGzip dirName =
- log $"Creating TAR archive from '{dirName}'"
- let tarFile = distDir @@ $"{dirName}.tar.gz"
- let args = [ "czf"; tarFile; dirName ] |> String.concat " "
- let result = Shell.Exec("tar", args, buildDir)
-
- if result <> 0 then
- failwith $"Failed to create tar from '{dirName}'. Check errors above."
-
-let outputCombinations =
- [ OutputFormat(NoArch, Zip)
- OutputFormat(NoArch, TarGz)
- OutputFormat(WinX64, Zip)
- OutputFormat(OsxX64, Zip)
- OutputFormat(LinuxX64, TarGz) ]
-
-let buildConfig =
- lazy
- match args with
- | Some args ->
- if Seq.contains "--release" args then
- Some DotNet.BuildConfiguration.Release
- else if Seq.contains "--debug" args then
- Some DotNet.BuildConfiguration.Debug
- else
- None
- | None -> None
-
-let versionOverride =
- maybe {
- let! args = args
- let! idx = Seq.tryFindIndex (fun s -> s = "--version") args
- let! version = Seq.tryItem (idx + 1) args
-
- if System.String.IsNullOrEmpty version then
- return! None
- else
- return version
- }
-
-let version = lazy Option.orElse versionOverride (extractVersionFromTag ())
-
-let publishArch dir rid version =
- let buildConfig =
- Option.defaultValue DotNet.BuildConfiguration.Release buildConfig.Value
-
- log $"Publishing RoonTagger to runtime {rid}"
-
- DotNet.publish
- (fun p ->
- { p with
- Runtime = Some rid
- Configuration = buildConfig
- SelfContained = Some true
- OutputPath = Some(buildDir @@ dir)
- MSBuildParams =
- { p.MSBuildParams with
- Properties =
- ("PublishSingleFile", "true")
- :: ("PublishTrimmed", "true")
- :: ("PublishReadyToRun", "true")
- :: ("Version", version) :: p.MSBuildParams.Properties } })
- cliProj
-
-let publishNoArch dir version =
- let buildConfig =
- Option.defaultValue DotNet.BuildConfiguration.Release buildConfig.Value
-
- log "Publishing RoonTagger to NoArch"
-
- DotNet.publish
- (fun p ->
- { p with
- Configuration = buildConfig
- OutputPath = Some(buildDir @@ dir)
- MSBuildParams =
- { p.MSBuildParams with
- Properties =
- // Explicit because specified as true in the project file.
- ("PublishTrimmed", "false")
- :: ("Version", version) :: p.MSBuildParams.Properties } })
- cliProj
-
-Target.create "CodeCheck" ignore
-Target.create "Check" ignore
-
-Target.create "Build" (fun _ ->
- let buildConfig =
- Option.defaultValue DotNet.BuildConfiguration.Release buildConfig.Value
-
- let version = parseVersion version.Value
- let dotNetVersion = normalizeVersion version
- Trace.traceHeader $"Building with '{buildConfig}' profile"
-
- DotNet.build
- (fun p ->
- { p with
- Configuration = buildConfig
- MSBuildParams =
- { p.MSBuildParams with
- Properties =
- ("Version", dotNetVersion)
- :: p.MSBuildParams.Properties } })
- mainSln)
-
-Target.create "Clean" (fun _ ->
- Trace.traceHeader "Running dotnet clean"
- let result = DotNet.exec id "clean" mainSln
-
- if not result.OK then
- failwith $"Error running 'Clean' - check above for errors")
-
-Target.create "FullClean" (fun _ ->
- Trace.traceHeader "Performing Full Clean"
-
- !! "src/*/obj" ++ "src/*/bin" ++ "output"
- |> File.deleteAll)
-
-Target.create "Lint" (fun _ ->
- Trace.traceHeader "Linting the project"
-
- let result =
- [ "lint"; mainSln ]
- |> String.concat " "
- |> DotNet.exec id "fsharplint"
-
- if not result.OK then
- failwith "Linting errors found. See output above")
-
-Target.create "Format" (fun _ ->
- Trace.traceHeader "Check project formatting"
-
- let result =
- [ repoRoot; "--recurse"; "--check" ]
- |> String.concat " "
- |> DotNet.exec id "fantomas"
-
- if not result.OK then
- failwith "Formatting errors found. See output above")
-
-Target.create "Test" (fun _ ->
- let buildConfig =
- Option.defaultValue DotNet.BuildConfiguration.Debug buildConfig.Value
-
- Trace.traceHeader $"Testing with '{buildConfig}' profile"
- DotNet.test (fun s -> { s with Configuration = buildConfig }) mainSln)
-
-Target.create "Publish" (fun _ ->
- let version = parseVersion version.Value
- let dotNetVersion = normalizeVersion version
- Shell.cleanDir outputDir
- Shell.mkdir buildDir
- Shell.mkdir distDir
-
- for OutputFormat (target, archive) in outputCombinations do
- let rid = toRID target
- let dir = $"roon-tagger_{version}_{rid}"
-
- match target with
- | NoArch -> publishNoArch dir dotNetVersion
- | WinX64
- | LinuxX64
- | OsxX64 -> publishArch dir rid dotNetVersion
-
- match archive with
- | Zip -> compressZip dir
- | TarGz -> compressTarGzip dir)
-
-Target.create "Release" (fun _ ->
- Trace.traceHeader "Creating draft release"
-
- if version.Value.IsNone then
- failwith "No Version - either HEAD should be a tag or version override must be specified"
-
- let version = Option.get version.Value
- let files = !! "output/dist/*.zip" ++ "output/dist/*.tar.gz"
-
- let contents =
- repoRoot @@ "Resources" @@ "ReleaseTemplate.md"
- |> System.IO.File.ReadLines
-
- promptGithubToken ()
- |> GitHub.createClientWithToken
- |> GitHub.draftNewRelease "babysnakes" "roon-tagger" version false contents
- |> GitHub.uploadFiles files
- |> Async.RunSynchronously
- |> ignore)
-
-Target.create "Help" (fun _ ->
- let msg =
- """
-Fake build for RoonTagger.
-
-Usage:
- * dotnet fake build [ -t task ] [ options ]
- * dotnet fake build --help
-
-tasks:
- * Help - show help (default task if no task is specified)
- * Test - run project tests
- * CodeCheck - check linting and formatting
- * Check - run all project checks
- * Build - Build the project (by default in Release mode)
- * Publish - Create archives of roon-tagger for all supported platforms.
- * Release - Create github draft release (with the published files).
-
-options:
- --version VERSION Override git tag as version.
- --release Force 'Release' mode on tests.
- --debug Force 'Debug' mode on Build / Publish / Release.
-"""
-
- Trace.log msg)
-
-// Tasks dependencies
-"Clean" ?=> "Build"
-"Clean" ?=> "Publish" ==> "Release"
-"Clean" ==> "Release"
-"Format" ==> "Lint" ==> "CodeCheck"
-"Test" ==> "Check"
-"CodeCheck" ==> "Check"
-"Clean" ==> "Check"
-
-Target.runOrDefaultWithArguments "Help"
diff --git a/build.fsx.lock b/build.fsx.lock
deleted file mode 100644
index 7d2e91f..0000000
--- a/build.fsx.lock
+++ /dev/null
@@ -1,261 +0,0 @@
-STORAGE: NONE
-RESTRICTION: || (== net6.0) (== netstandard2.0)
-NUGET
- 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.23)
- FSharp.Core (>= 6.0)
- Octokit (>= 0.50)
- Fake.Core.CommandLineParsing (5.23)
- FParsec (>= 1.1.1)
- FSharp.Core (>= 6.0)
- Fake.Core.Context (5.23)
- FSharp.Core (>= 6.0)
- Fake.Core.Environment (5.23)
- FSharp.Core (>= 6.0)
- Fake.Core.FakeVar (5.23)
- Fake.Core.Context (>= 5.23)
- FSharp.Core (>= 6.0)
- Fake.Core.Process (5.23)
- Fake.Core.Environment (>= 5.23)
- Fake.Core.FakeVar (>= 5.23)
- Fake.Core.String (>= 5.23)
- Fake.Core.Trace (>= 5.23)
- Fake.IO.FileSystem (>= 5.23)
- FSharp.Core (>= 6.0)
- System.Collections.Immutable (>= 5.0)
- Fake.Core.SemVer (5.23)
- FSharp.Core (>= 6.0)
- Fake.Core.String (5.23)
- FSharp.Core (>= 6.0)
- Fake.Core.Target (5.23)
- Fake.Core.CommandLineParsing (>= 5.23)
- Fake.Core.Context (>= 5.23)
- Fake.Core.Environment (>= 5.23)
- Fake.Core.FakeVar (>= 5.23)
- Fake.Core.Process (>= 5.23)
- Fake.Core.String (>= 5.23)
- Fake.Core.Trace (>= 5.23)
- FSharp.Control.Reactive (>= 5.0.2)
- FSharp.Core (>= 6.0)
- Fake.Core.Tasks (5.23)
- Fake.Core.Trace (>= 5.23)
- FSharp.Core (>= 6.0)
- Fake.Core.Trace (5.23)
- Fake.Core.Environment (>= 5.23)
- Fake.Core.FakeVar (>= 5.23)
- FSharp.Core (>= 6.0)
- Fake.Core.UserInput (5.23)
- FSharp.Core (>= 6.0)
- Fake.Core.Xml (5.23)
- Fake.Core.String (>= 5.23)
- FSharp.Core (>= 6.0)
- Fake.DotNet.Cli (5.23)
- Fake.Core.Environment (>= 5.23)
- Fake.Core.Process (>= 5.23)
- Fake.Core.String (>= 5.23)
- Fake.Core.Trace (>= 5.23)
- Fake.DotNet.MSBuild (>= 5.23)
- Fake.DotNet.NuGet (>= 5.23)
- Fake.IO.FileSystem (>= 5.23)
- FSharp.Core (>= 6.0)
- Mono.Posix.NETStandard (>= 1.0)
- Newtonsoft.Json (>= 13.0.1)
- Fake.DotNet.MSBuild (5.23)
- BlackFox.VsWhere (>= 1.1)
- Fake.Core.Environment (>= 5.23)
- Fake.Core.Process (>= 5.23)
- Fake.Core.String (>= 5.23)
- Fake.Core.Trace (>= 5.23)
- Fake.IO.FileSystem (>= 5.23)
- FSharp.Core (>= 6.0)
- MSBuild.StructuredLogger (>= 2.1.545)
- Fake.DotNet.NuGet (5.23)
- Fake.Core.Environment (>= 5.23)
- Fake.Core.Process (>= 5.23)
- Fake.Core.SemVer (>= 5.23)
- Fake.Core.String (>= 5.23)
- Fake.Core.Tasks (>= 5.23)
- Fake.Core.Trace (>= 5.23)
- Fake.Core.Xml (>= 5.23)
- Fake.IO.FileSystem (>= 5.23)
- Fake.Net.Http (>= 5.23)
- FSharp.Core (>= 6.0)
- Newtonsoft.Json (>= 13.0.1)
- NuGet.Protocol (>= 5.11)
- Fake.IO.FileSystem (5.23)
- Fake.Core.String (>= 5.23)
- FSharp.Core (>= 6.0)
- Fake.IO.Zip (5.23)
- Fake.Core.String (>= 5.23)
- Fake.IO.FileSystem (>= 5.23)
- FSharp.Core (>= 6.0)
- Fake.Net.Http (5.23)
- Fake.Core.Trace (>= 5.23)
- FSharp.Core (>= 6.0)
- Fake.Tools.Git (5.23)
- Fake.Core.Environment (>= 5.23)
- Fake.Core.Process (>= 5.23)
- Fake.Core.SemVer (>= 5.23)
- Fake.Core.String (>= 5.23)
- Fake.Core.Trace (>= 5.23)
- Fake.IO.FileSystem (>= 5.23)
- FSharp.Core (>= 6.0)
- FParsec (1.1.1)
- FSharp.Core (>= 4.3.4)
- FSharp.Control.AsyncSeq (3.2.1)
- FSharp.Core (>= 4.7.2)
- Microsoft.Bcl.AsyncInterfaces (>= 5.0)
- FSharp.Control.Reactive (5.0.5)
- FSharp.Core (>= 4.7.2)
- System.Reactive (>= 5.0 < 6.0)
- FSharp.Core (6.0.6)
- FSharpx.Async (1.14.1)
- FSharp.Control.AsyncSeq (>= 2.0.21)
- FSharp.Core (>= 4.6.2)
- FSharpx.Collections (3.0.1)
- FSharp.Core (>= 4.3.4)
- FSharpx.Extras (3.1)
- FSharp.Core (>= 4.6.2)
- FSharpx.Async (>= 1.14.1)
- FSharpx.Collections (>= 2.1.2)
- System.Reflection.Emit.Lightweight (>= 4.7)
- Microsoft.Bcl.AsyncInterfaces (6.0)
- System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
- Microsoft.Build (17.3.1)
- Microsoft.Build.Framework (>= 17.3.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- Microsoft.NET.StringTools (>= 17.3.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- System.Collections.Immutable (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- System.Configuration.ConfigurationManager (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- System.Reflection.Metadata (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0))
- System.Reflection.MetadataLoadContext (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- System.Security.Principal.Windows (>= 5.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0))
- System.Text.Encoding.CodePages (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0))
- System.Text.Json (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- System.Threading.Tasks.Dataflow (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- Microsoft.Build.Framework (17.3.1)
- System.Security.Permissions (>= 6.0)
- Microsoft.Build.Tasks.Core (17.3.1)
- Microsoft.Build.Framework (>= 17.3.1)
- Microsoft.Build.Utilities.Core (>= 17.3.1)
- Microsoft.NET.StringTools (>= 17.3.1)
- Microsoft.Win32.Registry (>= 5.0) - restriction: == netstandard2.0
- System.CodeDom (>= 6.0)
- System.Collections.Immutable (>= 6.0)
- System.Reflection.Metadata (>= 6.0)
- System.Resources.Extensions (>= 6.0)
- System.Security.Cryptography.Pkcs (>= 6.0.1)
- System.Security.Cryptography.Xml (>= 6.0)
- System.Security.Permissions (>= 6.0)
- System.Threading.Tasks.Dataflow (>= 6.0)
- Microsoft.Build.Utilities.Core (17.3.1)
- Microsoft.Build.Framework (>= 17.3.1)
- Microsoft.NET.StringTools (>= 17.3.1)
- Microsoft.Win32.Registry (>= 5.0) - restriction: == netstandard2.0
- System.Collections.Immutable (>= 6.0)
- System.Configuration.ConfigurationManager (>= 6.0)
- System.Security.Permissions (>= 6.0) - restriction: == netstandard2.0
- System.Text.Encoding.CodePages (>= 6.0) - restriction: == netstandard2.0
- Microsoft.NET.StringTools (17.3.1)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 6.0)
- Microsoft.NETCore.Platforms (6.0.5) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard1.2)) (&& (== net6.0) (< netstandard1.3)) (&& (== net6.0) (< netstandard1.5)) (== netstandard2.0)
- Microsoft.NETCore.Targets (5.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard1.2)) (&& (== net6.0) (< netstandard1.3)) (&& (== net6.0) (< netstandard1.5)) (== netstandard2.0)
- Microsoft.Win32.Registry (5.0)
- System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= monoandroid) (< netstandard1.3)) (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0)
- System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
- System.Security.AccessControl (>= 5.0)
- System.Security.Principal.Windows (>= 5.0)
- Microsoft.Win32.SystemEvents (6.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1))
- Mono.Posix.NETStandard (1.0)
- MSBuild.StructuredLogger (2.1.669)
- 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 (6.3)
- NuGet.Frameworks (>= 6.3)
- NuGet.Configuration (6.3)
- NuGet.Common (>= 6.3)
- System.Security.Cryptography.ProtectedData (>= 4.4)
- NuGet.Frameworks (6.3)
- NuGet.Packaging (6.3)
- Newtonsoft.Json (>= 13.0.1)
- NuGet.Configuration (>= 6.3)
- NuGet.Versioning (>= 6.3)
- System.Security.Cryptography.Cng (>= 5.0)
- System.Security.Cryptography.Pkcs (>= 5.0)
- NuGet.Protocol (6.3)
- NuGet.Packaging (>= 6.3)
- NuGet.Versioning (6.3)
- Octokit (3.0)
- System.Buffers (4.5.1) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
- System.CodeDom (6.0)
- System.Collections.Immutable (6.0)
- System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.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.Formats.Asn1 (6.0)
- System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
- System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
- System.Memory (4.5.5)
- 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: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
- System.Reactive (5.0)
- System.Runtime.InteropServices.WindowsRuntime (>= 4.3) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0)
- System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net472)) (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
- System.Reflection.Emit.ILGeneration (4.7) - restriction: || (&& (== net6.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (< portable-net45+wp8)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
- System.Reflection.Emit.Lightweight (4.7)
- System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net6.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (< portable-net45+wp8)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
- System.Reflection.Metadata (6.0.1)
- System.Collections.Immutable (>= 6.0)
- System.Reflection.MetadataLoadContext (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- System.Collections.Immutable (>= 6.0)
- System.Reflection.Metadata (>= 6.0)
- System.Resources.Extensions (6.0)
- System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
- System.Runtime (4.3.1) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0)
- Microsoft.NETCore.Platforms (>= 1.1.1)
- Microsoft.NETCore.Targets (>= 1.1.3)
- System.Runtime.CompilerServices.Unsafe (6.0)
- System.Runtime.InteropServices.WindowsRuntime (4.3) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0)
- System.Runtime (>= 4.3)
- System.Security.AccessControl (6.0)
- System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0)
- System.Security.Cryptography.Cng (5.0)
- System.Formats.Asn1 (>= 5.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.0))
- System.Security.Cryptography.Pkcs (6.0.1)
- System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
- System.Formats.Asn1 (>= 6.0)
- System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
- System.Security.Cryptography.Cng (>= 5.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
- System.Security.Cryptography.ProtectedData (6.0)
- System.Security.Cryptography.Xml (6.0.1)
- System.Memory (>= 4.5.4) - restriction: == netstandard2.0
- System.Security.AccessControl (>= 6.0)
- System.Security.Cryptography.Pkcs (>= 6.0.1)
- 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)
- System.Text.Encoding.CodePages (6.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.0)
- System.Text.Encodings.Web (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- System.Runtime.CompilerServices.Unsafe (>= 6.0)
- System.Text.Json (6.0.6) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0))
- System.Runtime.CompilerServices.Unsafe (>= 6.0)
- System.Text.Encodings.Web (>= 6.0)
- System.Threading.Tasks.Dataflow (6.0)
- System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (== net6.0) (>= net472)) (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (>= uap10.1)) (== netstandard2.0)
- System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.0)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= wp8)) (== 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))
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..37ee0b7
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+set -eu
+set -o pipefail
+
+echo "Restoring dotnet tools..."
+dotnet tool restore
+dotnet paket restore
+
+FAKE_DETAILED_ERRORS=true dotnet run --project ./build/Build.fsproj -- "$@"
\ No newline at end of file
diff --git a/build/Build.fs b/build/Build.fs
new file mode 100644
index 0000000..6cc2660
--- /dev/null
+++ b/build/Build.fs
@@ -0,0 +1,411 @@
+open Fake.Api
+open Fake.Core
+open Fake.DotNet
+open Fake.IO
+open Fake.IO.FileSystemOperators
+open Fake.IO.Globbing.Operators
+open Fake.Core.TargetOperators
+open FSharpx.Option
+
+// Target names - avoid using strings
+let targetCodeCheck = "CodeCheck"
+let targetCheck = "Check"
+let targetBuild = "Build"
+let targetClean = "Clean"
+let targetFullClean = "FullClean"
+let targetRelease = "Release"
+let targetScoop = "Scoop"
+let targetLint = "Lint"
+let targetPublish = "Publish"
+let targetFormatCheck = "FormatCheck"
+let targetFormat = "Format"
+let targetTest = "Test"
+let targetHelp = "Help"
+
+// Paths etc
+let repoRoot = System.IO.Directory.GetParent(__SOURCE_DIRECTORY__).FullName
+let outputDir = repoRoot @@ "output"
+let buildDir = outputDir @@ "build"
+let distDir = outputDir @@ "dist"
+let srcDir = repoRoot @@ "src"
+let mainSln = repoRoot @@ "RoonTagger.sln"
+let cliProj = srcDir @@ "RoonTagger.Cli" @@ "RoonTagger.Cli.fsproj"
+
+[]
+module Helpers =
+ open System.Text.RegularExpressions
+
+ let log msg = Trace.log $"===> {msg}"
+
+ let parseVersion =
+ function
+ | Some version -> version
+ | None -> failwith "No Version - either HEAD should be a tag or version override must be specified"
+
+ // Normalizes versions to be valid dotnet version (e.g. v1.2.3 -> 1.2.3).
+ let normalizeVersion (version: string) =
+ let rgx = Regex "^[a-z,A-Z]+"
+ rgx.Replace(version, "")
+
+[]
+module Outputs =
+
+ type Archive =
+ | TarGz
+ | Zip
+
+ type Target =
+ | NoArch
+ | WinX64
+ | LinuxX64
+ | OsxX64
+
+ type OutputFormat = OutputFormat of Target * Archive
+
+ let toRID target =
+ match target with
+ | NoArch -> "noarch"
+ | WinX64 -> "win-x64"
+ | LinuxX64 -> "linux-x64"
+ | OsxX64 -> "osx-x64"
+
+[]
+module GitHelpers =
+ open Fake.Tools.Git
+
+ let extractVersionFromTag () =
+ let describe = Information.describe repoRoot
+ let lastTag = Information.getLastTag ()
+ if (describe = lastTag) then Some lastTag else None
+
+ let promptGithubToken () =
+ let tokenEnv = "GITHUB_TOKEN"
+
+ let prompt () =
+ UserInput.getUserPassword "Github token: "
+
+ Environment.environVarOrNone tokenEnv |> Option.defaultWith prompt
+
+[]
+module Archives =
+ open SharpCompress.Archives
+ open SharpCompress.Common
+ open SharpCompress.Writers
+ open System.IO
+
+ let compressZip dirName =
+ log $"Creating ZIP archive from '{dirName}'"
+ let source = buildDir @@ dirName
+ let zipFile = distDir @@ $"{dirName}.zip"
+ !! $"{source}/**/*" |> Zip.zip buildDir zipFile
+
+ let compressTarGzip dirName =
+ log $"Creating TAR archive from '{dirName}'"
+ let tarFile = distDir @@ $"{dirName}.tar.gz"
+ // fsharplint:disable-next-line
+ let writerOptions = WriterOptions(CompressionType.GZip, LeaveStreamOpen = true)
+ use stream: Stream = File.OpenWrite tarFile
+ use writer = WriterFactory.Open(stream, ArchiveType.Tar, writerOptions)
+ writer.WriteAll(buildDir, $"{dirName}/*", SearchOption.AllDirectories)
+
+let outputCombinations =
+ [ OutputFormat(NoArch, Zip)
+ OutputFormat(NoArch, TarGz)
+ OutputFormat(WinX64, Zip)
+ OutputFormat(OsxX64, Zip)
+ OutputFormat(LinuxX64, TarGz) ]
+
+let buildConfig ctx =
+ let args = ctx.Context.Arguments
+
+ lazy
+ if Seq.contains "--release" args then
+ Some DotNet.BuildConfiguration.Release
+ else if Seq.contains "--debug" args then
+ Some DotNet.BuildConfiguration.Debug
+ else
+ None
+
+let version ctx =
+ let versionOverride =
+ maybe {
+ let args = ctx.Context.Arguments
+ let! idx = Seq.tryFindIndex (fun s -> s = "--version") args
+ let! version = Seq.tryItem (idx + 1) args
+
+ if System.String.IsNullOrEmpty version then
+ return! None
+ else
+ return version
+ }
+
+ lazy Option.orElse versionOverride (extractVersionFromTag ())
+
+let publishArch dir rid version ctx =
+ let buildConfig =
+ Option.defaultValue DotNet.BuildConfiguration.Release (buildConfig ctx).Value
+
+ log $"Publishing RoonTagger to runtime {rid}"
+
+ DotNet.publish
+ (fun p ->
+ { p with
+ Runtime = Some rid
+ Configuration = buildConfig
+ SelfContained = Some true
+ OutputPath = Some(buildDir @@ dir)
+ MSBuildParams =
+ { p.MSBuildParams with
+ DisableInternalBinLog = true // TODO: see https://github.com/fsprojects/FAKE/issues/2722
+ Properties =
+ ("PublishSingleFile", "true")
+ :: ("PublishTrimmed", "true")
+ :: ("PublishReadyToRun", "true")
+ :: ("Version", version)
+ :: p.MSBuildParams.Properties } })
+ cliProj
+
+let publishNoArch dir version ctx =
+ let buildConfig =
+ Option.defaultValue DotNet.BuildConfiguration.Release (buildConfig ctx).Value
+
+ log "Publishing RoonTagger to NoArch"
+
+ DotNet.publish
+ (fun p ->
+ { p with
+ Configuration = buildConfig
+ OutputPath = Some(buildDir @@ dir)
+ MSBuildParams =
+ { p.MSBuildParams with
+ DisableInternalBinLog = true // TODO: see https://github.com/fsprojects/FAKE/issues/2722
+ Properties =
+ // Explicit because specified as true in the project file.
+ ("PublishTrimmed", "false")
+ :: ("Version", version)
+ :: p.MSBuildParams.Properties } })
+ cliProj
+
+let runBuild ctx =
+ let buildConfig =
+ Option.defaultValue DotNet.BuildConfiguration.Release (buildConfig ctx).Value
+
+ let version = parseVersion (version ctx).Value
+ let dotNetVersion = normalizeVersion version
+ Trace.traceHeader $"Building with '{buildConfig}' profile"
+
+ DotNet.build
+ (fun p ->
+ { p with
+ Configuration = buildConfig
+ MSBuildParams =
+ { p.MSBuildParams with
+ DisableInternalBinLog = true // TODO: see https://github.com/fsprojects/FAKE/issues/2722
+ Properties = ("Version", dotNetVersion) :: p.MSBuildParams.Properties } })
+ mainSln
+
+let runClean _ =
+ Trace.traceHeader "Running dotnet clean"
+ let result = DotNet.exec id "clean" mainSln
+
+ if not result.OK then
+ failwith $"Error running 'Clean' - check above for errors"
+
+let runFullClean _ =
+ Trace.traceHeader "Performing Full Clean"
+
+ !! "src/*/obj" ++ "src/*/bin" ++ "output" |> File.deleteAll
+
+let runLint _ =
+ Trace.traceHeader "Linting the project"
+
+ let result =
+ [ "lint"; mainSln ]
+ |> String.concat " "
+ |> DotNet.exec id "fsharplint"
+
+ if not result.OK then
+ failwith "Linting errors found. See output above"
+
+let runFormat check =
+ Trace.traceHeader "Check project formatting"
+ let defaultArgs = if check then [ "--check" ] else []
+
+ let result =
+ !! "**/*.fs"
+ -- "packages/**/*.fs"
+ -- "**/obj/**/*.fs"
+ -- "**/bin/**/*.fs"
+ |> Seq.toList
+ |> List.append defaultArgs
+ |> String.concat " "
+ |> DotNet.exec id "fantomas"
+
+ if not result.OK then
+ failwith "Formatting errors found. See output above"
+
+let runTest ctx =
+ let buildConfig =
+ Option.defaultValue DotNet.BuildConfiguration.Debug (buildConfig ctx).Value
+
+ Trace.traceHeader $"Testing with '{buildConfig}' profile"
+
+ DotNet.test
+ (fun s ->
+ { s with
+ Configuration = buildConfig
+ // TODO: see https://github.com/fsprojects/FAKE/issues/2722
+ MSBuildParams =
+ { s.MSBuildParams with
+ DisableInternalBinLog = true } })
+ mainSln
+
+let runScoop ctx =
+ let version = parseVersion (version ctx).Value
+ let scoopFile = distDir @@ "roon-tagger.json"
+
+ let final =
+ $"""{{
+ "version": "{version}",
+ "description": "A utility to set Roon specific tags in flac files.",
+ "homepage": "https://babysnakes.github.io/roon-tagger/",
+ "architecture": {{
+ "64bit": {{
+ "url": "https://github.com/babysnakes/roon-tagger/releases/download/{version}/roon-tagger_{version}_win-x64.tar.gz"
+ }}
+ }},
+ "bin": "roon-tagger.exe"
+}}
+"""
+
+ File.writeString false scoopFile final
+
+let runPublish ctx =
+ let version = parseVersion (version ctx).Value
+ let dotNetVersion = normalizeVersion version
+ Shell.cleanDir outputDir
+ Shell.mkdir buildDir
+ Shell.mkdir distDir
+
+ for OutputFormat(target, archive) in outputCombinations do
+ let rid = toRID target
+ let dir = $"roon-tagger_{version}_{rid}"
+
+ match target with
+ | NoArch -> publishNoArch dir dotNetVersion ctx
+ | WinX64
+ | LinuxX64
+ | OsxX64 -> publishArch dir rid dotNetVersion ctx
+
+ match archive with
+ | Zip -> compressZip dir
+ | TarGz -> compressTarGzip dir
+
+let runRelease ctx =
+ Trace.traceHeader "Creating draft release"
+ let version = version ctx
+
+ if version.Value.IsNone then
+ // fsharplint:disable-next-line FailwithBadUsage
+ failwith "No Version - either HEAD should be a tag or version override must be specified"
+
+ let version = Option.get version.Value
+
+ let files =
+ !! "output/dist/*.zip"
+ ++ "output/dist/*.tar.gz"
+ ++ "output/dist/*.json"
+
+ let contents =
+ repoRoot @@ "Resources" @@ "ReleaseTemplate.md"
+ |> System.IO.File.ReadLines
+
+ promptGithubToken ()
+ |> GitHub.createClientWithToken
+ |> GitHub.draftNewRelease "babysnakes" "roon-tagger" version false contents
+ |> GitHub.uploadFiles files
+ |> Async.RunSynchronously
+ |> ignore
+
+let runHelp _ =
+ let msg =
+ """
+Fake build for RoonTagger.
+
+Usage ($BUILD = ./build.sh or .\build.cmd - depending on your OS):
+ Show this help:
+ $BUILD
+ Run task:
+ $BUILD -t [ options ]
+ Get all available targets:
+ $BUILD --list
+
+tasks:
+ * Help - show help (default task if no task is specified)
+ * Format - Perform in-place formatting on all F# files in project
+ * Test - run project tests
+ * CodeCheck - check linting and formatting
+ * Check - run all project checks
+ * Build - Build the project (by default in Release mode)
+ * Publish - Create archives of roon-tagger for all supported platforms
+ * Release - Create github draft release (with the published files)
+
+options:
+ --version VERSION Override git tag as version.
+ --release Force 'Release' mode on tests.
+ --debug Force 'Debug' mode on Build / Publish / Release.
+"""
+
+ Trace.traceHeader "Building Project Help"
+ Trace.log msg
+
+
+let initTargets () =
+
+ /// Defines a dependency - y is dependent on x. Finishes the chain.
+ let (==>!) x y = x ==> y |> ignore
+
+ /// Defines a soft dependency. x must run before y, if it is present, but y does not require x to be run. Finishes the chain.
+ let (?=>!) x y = x ?=> y |> ignore
+
+ Target.create targetCodeCheck ignore
+ Target.create targetCheck ignore
+ Target.create targetBuild runBuild
+ Target.create targetClean runClean
+ Target.create targetFullClean runFullClean
+ Target.create targetLint runLint
+ Target.create targetFormatCheck <| fun _ -> runFormat true
+ Target.create targetFormat <| fun _ -> runFormat false
+ Target.create targetTest runTest
+ Target.create targetScoop runScoop
+ Target.create targetPublish runPublish
+ Target.create targetRelease runRelease
+ Target.create targetHelp runHelp
+
+ // Tasks dependencies
+ targetClean ?=>! targetBuild
+ targetClean ?=> targetPublish ==>! targetRelease
+ targetClean ==>! targetRelease
+ targetScoop ==>! targetRelease
+ targetFormatCheck ?=> targetLint ==>! targetCodeCheck
+ targetFormatCheck ==>! targetCodeCheck
+ targetTest ==>! targetCheck
+ targetCodeCheck ==>! targetCheck
+ targetClean ==>! targetCheck
+
+[]
+let main argv =
+ argv
+ |> Array.toList
+ |> Context.FakeExecutionContext.Create false "build.fsx"
+ |> Context.RuntimeContext.Fake
+ |> Context.setExecutionContext
+
+ initTargets ()
+
+ try
+ Target.runOrDefaultWithArguments targetHelp
+ 0 // return an integer exit code
+ with ex ->
+ Trace.traceError ex.Message
+ 1
diff --git a/build/Build.fsproj b/build/Build.fsproj
new file mode 100644
index 0000000..e6e891a
--- /dev/null
+++ b/build/Build.fsproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net6.0
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/paket.references b/build/paket.references
new file mode 100644
index 0000000..9ceef8e
--- /dev/null
+++ b/build/paket.references
@@ -0,0 +1,11 @@
+group Build
+Fake.Api.GitHub
+Fake.Core.UserInput
+Fake.DotNet.Cli
+Fake.IO.FileSystem
+Fake.IO.Zip
+Fake.Core.Process
+Fake.Core.Target
+Fake.Tools.Git
+FSharpx.Extras
+SharpCompress
\ No newline at end of file
diff --git a/docs/commands/set-tags.md b/docs/commands/set-tags.md
index b94d1f4..8fa6d67 100644
--- a/docs/commands/set-tags.md
+++ b/docs/commands/set-tags.md
@@ -1,7 +1,7 @@
## Set Roon Specific Tags - _set-tags_
-Sets roon specific tags. Unless specifically indicated (run with `-h`), all provided tags *
-overwrite* existing tags.
+ets roon specific tags. Unless specifically indicated (run with `-h`), all provided tags *overwrite*
+existing tags.
One spacial case is **composer** (`--composer`). While it's not *Roon* specific in any way, it both
sets the *composer* tag **and** adds *composer* credits.
diff --git a/paket.dependencies b/paket.dependencies
index 91cea06..54e544a 100644
--- a/paket.dependencies
+++ b/paket.dependencies
@@ -4,7 +4,7 @@ nuget FSharp.Core
nuget Argu ~> 6.1
nuget FlacLibSharp ~> 3.2.1
nuget FParsec ~> 1.1.1
-nuget FSharp.Data.LiteralProviders 0.3.5
+nuget FSharp.Data.LiteralProviders ~> 1.0.0
nuget FSharp.Json ~> 0.4.0
nuget FsToolkit.ErrorHandling ~> 2.1
nuget FsUnit ~> 4.0
@@ -15,4 +15,19 @@ nuget Pluralize.NET ~> 1.0
nuget Roman-Numerals ~> 1.0
nuget Serilog ~> 2.10
nuget Serilog.Sinks.File ~> 4.1
-nuget Spectre.Console ~> 0.39
\ No newline at end of file
+nuget Spectre.Console ~> 0.39
+
+// FAKE build dependencies
+group Build
+ source https://www.nuget.org/api/v2
+
+ nuget Fake.Api.GitHub ~> 6.0.0
+ nuget Fake.Core.UserInput ~> 6.0.0
+ nuget Fake.DotNet.Cli ~> 6.0.0
+ nuget Fake.IO.FileSystem ~> 6.0.0
+ nuget Fake.IO.Zip ~> 6.0.0
+ nuget Fake.Core.Process ~> 6.0.0
+ nuget Fake.Core.Target ~> 6.0.0
+ nuget Fake.Tools.Git ~> 6.0.0
+ nuget FSharpx.Extras 3.1.0
+ nuget SharpCompress
\ No newline at end of file
diff --git a/paket.lock b/paket.lock
index db139e7..11f25f7 100644
--- a/paket.lock
+++ b/paket.lock
@@ -8,8 +8,8 @@ NUGET
FParsec (1.1.1)
FSharp.Core (>= 4.3.4) - restriction: || (>= net45) (>= netstandard2.0)
System.ValueTuple (>= 4.4) - restriction: >= net45
- FSharp.Core (6.0.3)
- FSharp.Data.LiteralProviders (0.3.5)
+ FSharp.Core (7.0.300)
+ FSharp.Data.LiteralProviders (1.0.3)
FSharp.Core (>= 4.5)
FSharp.Json (0.4.1)
FSharp.Core (>= 4.6.2) - restriction: >= netstandard2.0
@@ -19,63 +19,31 @@ NUGET
FSharp.Core (>= 5.0.2) - restriction: >= netstandard2.0
NETStandard.Library (>= 2.0.3) - restriction: >= netstandard2.0
NUnit (>= 3.13.2 < 3.14) - restriction: >= netstandard2.0
- Microsoft.CodeCoverage (17.1) - restriction: || (>= net45) (>= netcoreapp1.0)
- Microsoft.CSharp (4.7) - restriction: || (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0))
- Microsoft.NET.Test.Sdk (17.1)
- Microsoft.CodeCoverage (>= 17.1) - restriction: || (>= net45) (>= netcoreapp1.0)
- Microsoft.TestPlatform.TestHost (>= 17.1) - restriction: >= netcoreapp1.0
- Newtonsoft.Json (>= 9.0.1) - restriction: >= uap10.0
- System.ComponentModel.Primitives (>= 4.1) - restriction: >= uap10.0
- System.ComponentModel.TypeConverter (>= 4.1) - restriction: >= uap10.0
- System.Runtime.InteropServices.RuntimeInformation (>= 4.0) - restriction: >= uap10.0
- Microsoft.NETCore.Platforms (5.0.2) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.1) (< netstandard1.3)) (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= net45) (< netstandard1.3) (>= netstandard2.0)) (&& (< net45) (>= netstandard2.0)) (&& (>= net46) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= net461) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netcoreapp2.1) (>= uap10.1)) (&& (>= netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp3.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard1.0) (>= netstandard2.0) (< portable-net45+win8)) (&& (< netstandard1.0) (>= netstandard2.0) (>= win8)) (&& (< netstandard1.0) (>= netstandard2.0) (< win8)) (&& (< netstandard1.3) (>= netstandard2.0) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= netstandard2.0) (>= uap10.0)) (&& (>= netstandard2.0) (< portable-net45+win8+wpa81)) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= wp8))
- Microsoft.NETCore.Targets (5.0) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos))
- Microsoft.TestPlatform.ObjectModel (17.1) - restriction: >= netcoreapp1.0
- NuGet.Frameworks (>= 4.6.4) - restriction: && (>= netcoreapp1.0) (< netstandard2.0)
- NuGet.Frameworks (>= 5.11) - restriction: || (&& (>= net45) (< netstandard1.3)) (&& (< net45) (< netcoreapp1.0) (>= netstandard2.0) (< uap10.0)) (>= net451) (>= netcoreapp2.1)
- System.Reflection.Metadata (>= 1.6) - restriction: || (&& (>= net45) (< netstandard1.3)) (&& (< net45) (< netcoreapp1.0) (>= netstandard1.3) (< netstandard2.0) (< uap10.0)) (&& (< net45) (< netcoreapp1.0) (>= netstandard2.0) (< uap10.0)) (>= net451) (&& (>= netcoreapp1.0) (< netstandard2.0)) (>= netcoreapp2.1)
- Microsoft.TestPlatform.TestHost (17.1) - restriction: >= netcoreapp1.0
- Microsoft.TestPlatform.ObjectModel (>= 17.1) - restriction: || (>= netcoreapp1.0) (>= uap10.0)
- Newtonsoft.Json (>= 9.0.1) - restriction: || (>= netcoreapp1.0) (>= uap10.0)
- System.Diagnostics.Process (>= 4.1) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.Diagnostics.StackTrace (>= 4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.Diagnostics.TextWriterTraceListener (>= 4.0) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.Diagnostics.TraceSource (>= 4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.Runtime.InteropServices.RuntimeInformation (>= 4.0) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.Runtime.Loader (>= 4.0) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.Threading.Thread (>= 4.0) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- Microsoft.Win32.Primitives (4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- Microsoft.Win32.Registry (5.0) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- NETStandard.Library (>= 1.6.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< netstandard2.0) (< uap10.1) (< xamarintvos) (< xamarinwatchos)
- System.Memory (>= 4.5.4) - restriction: || (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net46) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= uap10.1)
- System.Security.AccessControl (>= 5.0) - restriction: || (&& (>= monoandroid) (< netstandard1.3)) (&& (< monoandroid) (>= netcoreapp2.0)) (>= monotouch) (&& (< net46) (< netcoreapp2.0) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.1) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
- System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (>= monoandroid) (< netstandard1.3)) (&& (< monoandroid) (>= netcoreapp2.0)) (>= monotouch) (&& (< net46) (< netcoreapp2.0) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.1) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
- Microsoft.Win32.SystemEvents (5.0) - restriction: && (>= netcoreapp3.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- Microsoft.NETCore.Platforms (>= 5.0) - restriction: >= netcoreapp2.0
- NETStandard.Library (2.0.3) - restriction: || (&& (< monoandroid) (>= netcoreapp1.0) (< xamarintvos) (< xamarinwatchos)) (&& (< net20) (>= netstandard1.3)) (&& (< net40) (>= netstandard1.0)) (&& (< net40) (>= netstandard1.1)) (&& (< net45) (>= netstandard1.0) (< netstandard1.3)) (&& (< net45) (>= netstandard1.3)) (>= netstandard2.0) (>= uap10.0)
+ Microsoft.CodeCoverage (17.6.3) - restriction: || (>= net462) (>= netcoreapp3.1)
+ Microsoft.NET.Test.Sdk (17.6.3)
+ Microsoft.CodeCoverage (>= 17.6.3) - restriction: || (>= net462) (>= netcoreapp3.1)
+ Microsoft.TestPlatform.TestHost (>= 17.6.3) - restriction: >= netcoreapp3.1
+ Microsoft.NETCore.Platforms (7.0) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= net45) (< netstandard1.3) (>= netstandard2.0)) (&& (< net45) (>= netstandard2.0)) (&& (>= net46) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= net461) (>= netstandard2.0)) (&& (>= net462) (>= netcoreapp2.1)) (>= netcoreapp2.0) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) (&& (< netstandard1.0) (>= netstandard2.0) (< portable-net45+win8)) (&& (< netstandard1.0) (>= netstandard2.0) (>= win8)) (&& (< netstandard1.0) (>= netstandard2.0) (< win8)) (&& (< netstandard1.3) (>= netstandard2.0) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= netstandard2.0) (>= uap10.0)) (&& (>= netstandard2.0) (< portable-net45+win8+wpa81)) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= wp8))
+ Microsoft.NETCore.Targets (5.0) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos))
+ Microsoft.TestPlatform.ObjectModel (17.6.3) - restriction: >= netcoreapp3.1
+ NuGet.Frameworks (>= 6.5) - restriction: || (>= net462) (>= netstandard2.0)
+ System.Reflection.Metadata (>= 1.6) - restriction: || (>= net462) (>= netstandard2.0)
+ Microsoft.TestPlatform.TestHost (17.6.3) - restriction: >= netcoreapp3.1
+ Microsoft.TestPlatform.ObjectModel (>= 17.6.3) - restriction: >= netcoreapp3.1
+ Newtonsoft.Json (>= 13.0.1) - restriction: >= netcoreapp3.1
+ Microsoft.Win32.SystemEvents (7.0) - restriction: >= net6.0
+ NETStandard.Library (2.0.3) - restriction: || (&& (< net20) (>= netstandard1.3)) (&& (< net40) (>= netstandard1.0)) (&& (< net40) (>= netstandard1.1)) (&& (< net45) (>= netstandard1.0) (< netstandard1.3)) (&& (< net45) (>= netstandard1.3)) (>= netstandard2.0)
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (>= net45) (< netstandard1.3)) (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net45) (>= netstandard2.0)) (&& (>= net46) (< netstandard1.4)) (>= net461) (>= netcoreapp2.0) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= portable-net45+win8) (< win8)) (&& (< netstandard1.0) (< portable-net45+win8) (>= portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= portable-net45+win8+wp8+wpa81) (< portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= win8)) (&& (< netstandard1.3) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= uap10.0)) (>= uap10.1) (>= wp8)
- Newtonsoft.Json (13.0.1) - restriction: || (>= netcoreapp1.0) (>= uap10.0)
- Microsoft.CSharp (>= 4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0))
- NETStandard.Library (>= 1.6.1) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0))
- System.ComponentModel.TypeConverter (>= 4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0))
- System.Runtime.Serialization.Formatters (>= 4.3) - restriction: && (< net20) (>= netstandard1.3) (< netstandard2.0)
- System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< net20) (>= netstandard1.0) (< netstandard1.3)) (&& (< net20) (>= netstandard1.3) (< netstandard2.0))
- System.Xml.XmlDocument (>= 4.3) - restriction: && (< net20) (>= netstandard1.3) (< netstandard2.0)
- NuGet.Frameworks (5.11) - restriction: || (&& (>= net45) (>= netcoreapp1.0) (< netstandard1.3)) (&& (>= net451) (>= netcoreapp1.0)) (&& (>= netcoreapp1.0) (< netstandard2.0)) (>= netcoreapp2.1)
- NUnit (3.13.2)
+ Newtonsoft.Json (13.0.2) - restriction: >= netcoreapp3.1
+ NuGet.Frameworks (6.6.1) - restriction: >= netcoreapp3.1
+ NUnit (3.13.3)
NETStandard.Library (>= 2.0) - restriction: && (< net35) (>= netstandard2.0)
NUnit3TestAdapter (4.2.1)
Pluralize.NET (1.0.2)
NETStandard.Library (>= 1.6.1) - restriction: && (< net40) (>= netstandard1.1) (< netstandard2.0)
Roman-Numerals (1.0.3)
NETStandard.Library (>= 1.6.1) - restriction: && (< net40) (>= netstandard1.0)
- runtime.native.System (4.3.1) - restriction: && (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- Microsoft.NETCore.Platforms (>= 1.1.1)
- Microsoft.NETCore.Targets (>= 1.1.3)
- Serilog (2.10)
+ Serilog (2.12)
NETStandard.Library (>= 1.6.1) - restriction: || (&& (< net45) (>= netstandard1.0) (< netstandard1.3)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0))
System.Collections.NonGeneric (>= 4.3) - restriction: && (< net45) (>= netstandard1.3) (< netstandard2.0)
Serilog.Sinks.File (4.1)
@@ -87,16 +55,12 @@ NUGET
System.Text.Encoding.Extensions (>= 4.0.11) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (< net45) (>= netstandard2.0))
System.Threading (>= 4.0.11) - restriction: && (< net45) (>= netstandard1.3) (< netstandard2.0)
System.Threading.Timer (>= 4.0.1) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (< net45) (>= netstandard2.0))
- Spectre.Console (0.43)
- System.Memory (>= 4.5) - restriction: && (< net5.0) (>= netstandard2.0)
- System.Buffers (4.5.1) - restriction: || (&& (>= monoandroid) (< netstandard1.1) (>= netstandard2.0)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net461) (>= netstandard2.0)) (&& (< net5.0) (>= netstandard2.0) (>= xamarintvos)) (&& (< net5.0) (>= netstandard2.0) (>= xamarinwatchos)) (&& (< net5.0) (>= xamarinios)) (&& (< net5.0) (>= xamarinmac)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8))
- System.Collections (4.3) - restriction: || (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= uap10.0))
- Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- System.Collections.Immutable (5.0) - restriction: || (&& (>= net45) (>= netcoreapp1.0) (< netstandard1.3)) (&& (>= net451) (>= netcoreapp1.0) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp1.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (< net5.0) (>= netcoreapp2.1)) (&& (>= netcoreapp1.0) (< netstandard1.1)) (&& (>= netcoreapp1.0) (< netstandard2.0)) (&& (>= netcoreapp2.1) (< netstandard1.1)) (&& (>= netcoreapp2.1) (< netstandard2.0))
- NETStandard.Library (>= 1.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (>= net46) (< net461) (< netstandard2.0))
- System.Memory (>= 4.5.4) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= net46) (< netstandard2.0)) (>= net461) (>= uap10.1)
+ Spectre.Console (0.47)
+ System.Memory (>= 4.5.5) - restriction: >= netstandard2.0
+ System.Buffers (4.5.1) - restriction: || (&& (>= monoandroid) (< netstandard1.1) (>= netstandard2.0)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net461) (>= netstandard2.0)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac)
+ System.Collections.Immutable (7.0) - restriction: >= netcoreapp3.1
+ System.Memory (>= 4.5.5) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.0))
+ System.Runtime.CompilerServices.Unsafe (>= 6.0) - restriction: || (>= net462) (&& (>= net6.0) (< net7.0)) (&& (< net6.0) (>= netstandard2.0))
System.Collections.NonGeneric (4.3) - restriction: && (< net45) (>= netstandard1.3) (< netstandard2.0)
System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
@@ -104,73 +68,28 @@ NUGET
System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.ComponentModel.Primitives (4.3) - restriction: >= uap10.0
- System.ComponentModel.TypeConverter (4.3) - restriction: >= uap10.0
- System.ComponentModel.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.5) (< win8)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= net45) (< netstandard1.5)) (>= net462) (&& (< netstandard1.0) (>= win8)) (>= wp8) (>= wpa81)
- System.Configuration.ConfigurationManager (5.0) - restriction: >= netstandard2.0
- System.Security.Cryptography.ProtectedData (>= 5.0) - restriction: && (< net461) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Security.Permissions (>= 5.0) - restriction: || (>= monoandroid) (>= monotouch) (>= net461) (>= netstandard2.0) (>= xamarintvos) (>= xamarinwatchos)
- System.Diagnostics.Debug (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= uap10.0))
+ System.Configuration.ConfigurationManager (7.0) - restriction: >= netstandard2.0
+ System.Diagnostics.EventLog (>= 7.0) - restriction: >= net7.0
+ System.Security.Cryptography.ProtectedData (>= 7.0) - restriction: || (&& (< net462) (>= netstandard2.0)) (>= net6.0)
+ System.Security.Permissions (>= 7.0) - restriction: || (>= net462) (>= netstandard2.0)
+ System.Diagnostics.Debug (4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- System.Diagnostics.Process (4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- Microsoft.Win32.Primitives (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- Microsoft.Win32.Registry (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- runtime.native.System (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Collections (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Diagnostics.Debug (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Globalization (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.IO.FileSystem (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.IO.FileSystem.Primitives (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Resources.ResourceManager (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Runtime.Extensions (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Runtime.InteropServices (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Text.Encoding.Extensions (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Threading (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Threading.Tasks (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Threading.Thread (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Threading.ThreadPool (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Diagnostics.StackTrace (4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.IO.FileSystem (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Reflection.Metadata (>= 1.4.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Diagnostics.TextWriterTraceListener (4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.Diagnostics.TraceSource (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46)
- System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Resources.ResourceManager (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Diagnostics.TraceSource (4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Resources.ResourceManager (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Drawing.Common (5.0.2) - restriction: >= netcoreapp3.0
- Microsoft.Win32.SystemEvents (>= 5.0) - restriction: || (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp3.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp3.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Globalization (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= uap10.0))
+ System.Diagnostics.EventLog (7.0) - restriction: >= net7.0
+ System.Drawing.Common (7.0) - restriction: >= net6.0
+ Microsoft.Win32.SystemEvents (>= 7.0) - restriction: >= net6.0
+ System.Globalization (4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- System.IO (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netstandard1.4)) (&& (< monoandroid) (>= netcoreapp1.1) (< netstandard1.3)) (&& (< monoandroid) (>= netcoreapp1.1) (< netstandard1.5)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= uap10.0))
+ System.IO (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.1) (< netstandard1.3)) (&& (< monoandroid) (>= netcoreapp1.1) (< netstandard1.5)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (>= netcoreapp1.1) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.IO.FileSystem (4.3) - restriction: || (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (< net45) (>= netstandard2.0))
+ System.IO.FileSystem (4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (< net45) (>= netstandard2.0))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
@@ -179,111 +98,333 @@ NUGET
System.Runtime.Handles (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Threading.Tasks (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.IO.FileSystem.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (>= netstandard2.0)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
+ System.IO.FileSystem.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (>= netstandard2.0)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0))
System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Memory (4.5.4) - restriction: || (&& (< monoandroid) (>= netcoreapp1.0) (< netstandard1.1)) (&& (< monoandroid) (>= netcoreapp1.0) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= net45) (>= netcoreapp1.0) (< netstandard1.3)) (&& (>= net451) (>= netcoreapp1.0) (>= netstandard2.0)) (&& (>= net46) (>= netcoreapp1.0) (< netstandard1.1)) (&& (>= net46) (>= netcoreapp1.0) (< netstandard1.3)) (&& (>= net46) (>= netcoreapp1.0) (< netstandard2.0)) (&& (>= net46) (>= netcoreapp2.1) (< netstandard2.0)) (&& (< net46) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= net461) (>= netcoreapp1.0)) (&& (>= net461) (>= netcoreapp2.1)) (&& (< net5.0) (>= netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.0) (< netstandard1.1) (>= netstandard2.0)) (&& (>= netcoreapp1.0) (>= uap10.1)) (&& (>= netcoreapp2.1) (< netstandard1.1)) (&& (>= netcoreapp2.1) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp2.1) (>= uap10.1))
+ System.Memory (4.5.5) - restriction: || (&& (>= net462) (>= netcoreapp3.1)) (&& (< net6.0) (>= netcoreapp3.1)) (>= netstandard2.0)
System.Buffers (>= 4.5.1) - restriction: || (&& (>= monoandroid) (< netstandard1.1)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (>= monotouch) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (>= net461) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (< uap10.1) (>= wpa81)) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
System.Numerics.Vectors (>= 4.4) - restriction: && (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Numerics.Vectors (>= 4.5) - restriction: >= net461
System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (>= monoandroid) (< netstandard1.1)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< monoandroid) (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (>= monotouch) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (>= net461) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
System.Numerics.Vectors (4.5) - restriction: || (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= net461) (>= netstandard2.0))
- System.Reflection (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= uap10.0))
+ System.Reflection (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Reflection.Metadata (5.0) - restriction: || (&& (< monoandroid) (>= netcoreapp1.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= net45) (>= netcoreapp1.0) (< netstandard1.3)) (&& (>= net451) (>= netcoreapp1.0)) (&& (>= netcoreapp1.0) (< netstandard2.0)) (>= netcoreapp2.1)
- NETStandard.Library (>= 1.6.1) - restriction: && (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)
- System.Collections.Immutable (>= 5.0) - restriction: || (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< net5.0) (>= netstandard2.0)) (&& (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (>= net461) (&& (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (>= wpa81))
+ System.Reflection.Metadata (7.0) - restriction: >= netcoreapp3.1
+ System.Collections.Immutable (>= 7.0) - restriction: || (>= net462) (>= netstandard2.0)
+ System.Memory (>= 4.5.5) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.0))
System.Reflection.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.3) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Resources.ResourceManager (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= uap10.0))
+ System.Resources.ResourceManager (4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard1.4) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0))
+ System.Runtime (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.2) (< win8) (< wp8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Targets (>= 1.1.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.2) (< win8) (< wp8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Runtime.CompilerServices.Unsafe (5.0) - restriction: || (&& (>= monoandroid) (< netstandard1.1) (>= netstandard2.0)) (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net461) (>= netstandard2.0)) (&& (< net5.0) (>= netstandard2.0) (>= xamarintvos)) (&& (< net5.0) (>= netstandard2.0) (>= xamarinwatchos)) (&& (< net5.0) (>= xamarinios)) (&& (< net5.0) (>= xamarinmac)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (>= uap10.1))
- System.Runtime.Extensions (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= uap10.0))
+ System.Runtime.CompilerServices.Unsafe (6.0) - restriction: || (&& (>= monoandroid) (< netstandard1.1) (>= netstandard2.0)) (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net461) (>= netstandard2.0)) (&& (>= net462) (>= netcoreapp3.1)) (&& (>= net6.0) (< net7.0)) (&& (< net6.0) (>= netcoreapp3.1)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac)
+ System.Runtime.Extensions (4.3.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Targets (>= 1.1.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Runtime (>= 4.3.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Runtime.Handles (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netstandard1.4)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos))
+ System.Runtime.Handles (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime.InteropServices (4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
+ System.Runtime.InteropServices (4.3) - restriction: && (< net45) (>= netstandard1.3) (< netstandard2.0)
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net462) (&& (>= netcoreapp1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Runtime.InteropServices.RuntimeInformation (4.3) - restriction: || (&& (>= netcoreapp1.0) (< netcoreapp2.1)) (>= uap10.0)
- System.Runtime.Loader (4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1)
- System.IO (>= 4.3) - restriction: && (< monotouch) (< net462) (>= netstandard1.5) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Reflection (>= 4.3) - restriction: && (< monotouch) (< net462) (>= netstandard1.5) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: && (< monotouch) (< net462) (>= netstandard1.5) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime.Serialization.Formatters (4.3) - restriction: && (< netstandard2.0) (>= uap10.0)
- System.Collections (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Reflection (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Resources.ResourceManager (>= 4.3) - restriction: && (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
- System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (>= netstandard1.3) (< netstandard1.4)) (&& (< monotouch) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46)
- System.Runtime.Serialization.Primitives (4.3) - restriction: || (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0))
- System.Security.AccessControl (5.0) - restriction: || (&& (>= monoandroid) (>= netcoreapp1.0) (< netstandard1.3)) (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= monotouch) (>= netcoreapp1.0)) (&& (>= net461) (>= netcoreapp1.0)) (&& (>= netcoreapp1.0) (>= uap10.1)) (>= netstandard2.0)
- Microsoft.NETCore.Platforms (>= 5.0) - restriction: >= netcoreapp2.0
- System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (>= net46) (< netstandard2.0)) (&& (< net46) (>= netstandard1.3) (< netstandard2.0) (< uap10.1)) (&& (< net46) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.0)
- System.Security.Cryptography.ProtectedData (5.0) - restriction: && (< net461) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Memory (>= 4.5.4) - restriction: && (< net46) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Security.Permissions (5.0) - restriction: >= netstandard2.0
- System.Security.AccessControl (>= 5.0) - restriction: || (>= net461) (>= netstandard2.0)
- System.Windows.Extensions (>= 5.0) - restriction: >= netcoreapp3.0
- System.Security.Principal.Windows (5.0) - restriction: || (&& (>= monoandroid) (>= netcoreapp1.0) (< netstandard1.3)) (&& (>= monotouch) (>= netcoreapp1.0)) (&& (< net46) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp1.0)) (&& (>= net461) (>= netstandard2.0)) (&& (>= netcoreapp1.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.0) (>= uap10.1)) (>= netcoreapp2.0)
+ System.Security.AccessControl (6.0) - restriction: || (&& (>= net462) (>= netstandard2.0)) (&& (< net6.0) (>= netstandard2.0))
+ System.Security.Principal.Windows (>= 5.0) - restriction: || (>= net461) (&& (< net6.0) (>= netstandard2.0))
+ System.Security.Cryptography.ProtectedData (7.0) - restriction: || (&& (< net462) (>= netstandard2.0)) (>= net6.0)
+ System.Security.Permissions (7.0) - restriction: >= netstandard2.0
+ System.Security.AccessControl (>= 6.0) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.0))
+ System.Windows.Extensions (>= 7.0) - restriction: >= net6.0
+ System.Security.Principal.Windows (5.0) - restriction: || (&& (>= net461) (>= netstandard2.0)) (&& (>= net462) (>= netstandard2.0)) (&& (< net6.0) (>= netstandard2.0))
Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0))
- System.Text.Encoding (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netcoreapp1.0) (< netstandard1.4)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= uap10.0))
+ System.Text.Encoding (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- System.Text.Encoding.Extensions (4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (< net45) (>= netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
+ System.Text.Encoding.Extensions (4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (< net45) (>= netstandard2.0))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- System.Threading (4.3) - restriction: || (&& (< monoandroid) (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (< netstandard2.0) (>= uap10.0))
+ System.Threading (4.3) - restriction: && (< net45) (>= netstandard1.3) (< netstandard2.0)
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- System.Threading.Tasks (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
+ System.Threading.Tasks (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81))
- System.Threading.Thread (4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Threading.ThreadPool (4.3) - restriction: && (>= netcoreapp1.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime.Handles (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Threading.Timer (4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard2.0)) (&& (< net45) (>= netstandard2.0))
Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
System.ValueTuple (4.5) - restriction: >= net45
- System.Windows.Extensions (5.0) - restriction: >= netcoreapp3.0
- System.Drawing.Common (>= 5.0) - restriction: >= netcoreapp3.0
- System.Xml.ReaderWriter (4.3.1) - restriction: && (< netstandard2.0) (>= uap10.0)
- System.Xml.XmlDocument (4.3) - restriction: && (< netstandard2.0) (>= uap10.0)
- System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Resources.ResourceManager (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
- System.Xml.ReaderWriter (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
+ System.Windows.Extensions (7.0) - restriction: >= net6.0
+ System.Drawing.Common (>= 7.0) - restriction: >= net6.0
+
+GROUP Build
+NUGET
+ remote: https://www.nuget.org/api/v2
+ BlackFox.VsWhere (1.1) - restriction: >= netstandard2.0
+ FSharp.Core (>= 4.0.0.1) - restriction: >= net45
+ FSharp.Core (>= 4.2.3) - restriction: && (< net45) (>= netstandard2.0)
+ Microsoft.Win32.Registry (>= 4.7) - restriction: && (< net45) (>= netstandard2.0)
+ Fake.Api.GitHub (6.0)
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Octokit (>= 0.50) - restriction: >= netstandard2.0
+ Fake.Core.CommandLineParsing (6.0) - restriction: >= netstandard2.0
+ FParsec (>= 1.1.1) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.Context (6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.Environment (6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.FakeVar (6.0) - restriction: >= netstandard2.0
+ Fake.Core.Context (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.Process (6.0)
+ Fake.Core.Environment (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.FakeVar (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ Fake.IO.FileSystem (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ System.Collections.Immutable (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.SemVer (6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.String (6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.Target (6.0)
+ Fake.Core.CommandLineParsing (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Context (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Environment (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.FakeVar (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Process (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Control.Reactive (>= 5.0.2) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.Tasks (6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.Trace (6.0) - restriction: >= netstandard2.0
+ Fake.Core.Environment (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.FakeVar (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.UserInput (6.0)
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Core.Xml (6.0) - restriction: >= netstandard2.0
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.DotNet.Cli (6.0)
+ Fake.Core.Environment (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Process (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ Fake.DotNet.MSBuild (>= 6.0) - restriction: >= netstandard2.0
+ Fake.DotNet.NuGet (>= 6.0) - restriction: >= netstandard2.0
+ Fake.IO.FileSystem (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Mono.Posix.NETStandard (>= 1.0) - restriction: >= netstandard2.0
+ Newtonsoft.Json (>= 13.0.1) - restriction: >= netstandard2.0
+ Fake.DotNet.MSBuild (6.0) - restriction: >= netstandard2.0
+ BlackFox.VsWhere (>= 1.1) - restriction: >= netstandard2.0
+ Fake.Core.Environment (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Process (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ Fake.IO.FileSystem (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ MSBuild.StructuredLogger (>= 2.1.545) - restriction: >= netstandard2.0
+ Fake.DotNet.NuGet (6.0) - restriction: >= netstandard2.0
+ Fake.Core.Environment (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Process (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.SemVer (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Tasks (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Xml (>= 6.0) - restriction: >= netstandard2.0
+ Fake.IO.FileSystem (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Net.Http (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Newtonsoft.Json (>= 13.0.1) - restriction: >= netstandard2.0
+ NuGet.Protocol (>= 6.0) - restriction: >= netstandard2.0
+ Fake.IO.FileSystem (6.0)
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.IO.Zip (6.0)
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ Fake.IO.FileSystem (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Net.Http (6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ Fake.Tools.Git (6.0)
+ Fake.Core.Environment (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Process (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.SemVer (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.String (>= 6.0) - restriction: >= netstandard2.0
+ Fake.Core.Trace (>= 6.0) - restriction: >= netstandard2.0
+ Fake.IO.FileSystem (>= 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (>= 6.0.3) - restriction: >= netstandard2.0
+ FParsec (1.1.1) - restriction: >= netstandard2.0
+ FSharp.Core (>= 4.3.4) - restriction: || (>= net45) (>= netstandard2.0)
+ System.ValueTuple (>= 4.4) - restriction: >= net45
+ FSharp.Control.AsyncSeq (3.2.1) - restriction: || (>= net452) (>= netstandard2.0)
+ FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0
+ Microsoft.Bcl.AsyncInterfaces (>= 5.0) - restriction: >= netstandard2.0
+ FSharp.Control.Reactive (5.0.5) - restriction: >= netstandard2.0
+ FSharp.Core (>= 4.7.2) - restriction: >= netstandard2.0
+ System.Reactive (>= 5.0 < 6.0) - restriction: >= netstandard2.0
+ FSharp.Core (7.0.300) - restriction: || (>= net452) (>= netstandard2.0)
+ FSharpx.Async (1.14.1) - restriction: || (>= net452) (>= netstandard2.0)
+ FSharp.Control.AsyncSeq (>= 2.0.21) - restriction: || (>= net452) (>= netstandard2.0)
+ FSharp.Core (>= 4.6.2) - restriction: || (>= net452) (>= netstandard2.0)
+ FSharpx.Collections (3.1) - restriction: || (>= net452) (>= netstandard2.0)
+ FSharp.Core (>= 4.3.4) - restriction: >= netstandard2.0
+ FSharpx.Extras (3.1)
+ FSharp.Core (>= 4.6.2) - restriction: || (>= net452) (>= netstandard2.0)
+ FSharpx.Async (>= 1.14.1) - restriction: || (>= net452) (>= netstandard2.0)
+ FSharpx.Collections (>= 2.1.2) - restriction: || (>= net452) (>= netstandard2.0)
+ System.Reflection.Emit.Lightweight (>= 4.7) - restriction: || (>= net452) (>= netstandard2.0)
+ Microsoft.Bcl.AsyncInterfaces (7.0) - restriction: >= netstandard2.0
+ System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (>= net462) (&& (>= netstandard2.0) (< netstandard2.1))
+ Microsoft.Build.Framework (17.6.3) - restriction: >= netstandard2.0
+ Microsoft.VisualStudio.Setup.Configuration.Interop (>= 3.2.2146) - restriction: >= net472
+ Microsoft.Win32.Registry (>= 5.0) - restriction: && (< net472) (< net7.0) (>= netstandard2.0)
+ System.Runtime.CompilerServices.Unsafe (>= 6.0) - restriction: >= net472
+ System.Security.Permissions (>= 7.0) - restriction: || (&& (< net472) (>= netstandard2.0)) (>= net7.0)
+ System.Security.Principal.Windows (>= 5.0) - restriction: && (< net472) (< net7.0) (>= netstandard2.0)
+ Microsoft.Build.Utilities.Core (17.6.3) - restriction: >= netstandard2.0
+ Microsoft.Build.Framework (>= 17.6.3) - restriction: >= netstandard2.0
+ Microsoft.IO.Redist (>= 6.0) - restriction: >= net472
+ Microsoft.NET.StringTools (>= 17.6.3) - restriction: >= netstandard2.0
+ Microsoft.VisualStudio.Setup.Configuration.Interop (>= 3.2.2146) - restriction: || (>= net472) (>= net7.0)
+ Microsoft.Win32.Registry (>= 5.0) - restriction: && (< net472) (< net7.0) (>= netstandard2.0)
+ System.Collections.Immutable (>= 7.0) - restriction: >= netstandard2.0
+ System.Configuration.ConfigurationManager (>= 7.0) - restriction: >= netstandard2.0
+ System.Memory (>= 4.5.5) - restriction: || (>= net472) (&& (< net7.0) (>= netstandard2.0))
+ System.Runtime.CompilerServices.Unsafe (>= 6.0) - restriction: || (>= net472) (&& (< net7.0) (>= netstandard2.0))
+ System.Security.Permissions (>= 7.0) - restriction: >= netstandard2.0
+ System.Security.Principal.Windows (>= 5.0) - restriction: || (>= net472) (&& (< net7.0) (>= netstandard2.0))
+ System.Text.Encoding.CodePages (>= 7.0) - restriction: && (< net472) (< net7.0) (>= netstandard2.0)
+ Microsoft.IO.Redist (6.0) - restriction: >= net472
+ System.Buffers (>= 4.5.1) - restriction: >= net472
+ System.Memory (>= 4.5.4) - restriction: >= net472
+ Microsoft.NET.StringTools (17.6.3) - restriction: >= netstandard2.0
+ System.Memory (>= 4.5.5) - restriction: || (>= net472) (&& (< net7.0) (>= netstandard2.0))
+ System.Runtime.CompilerServices.Unsafe (>= 6.0) - restriction: || (>= net472) (&& (< net7.0) (>= netstandard2.0))
+ Microsoft.NETCore.Platforms (7.0.4) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp3.1) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard2.0) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (>= net5.0) (< netcoreapp2.1) (< netstandard2.1) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0))
+ Microsoft.NETCore.Targets (5.0) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp3.1) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard2.0) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard2.0) (< win8) (< wpa81))
+ Microsoft.VisualStudio.Setup.Configuration.Interop (3.6.2115) - restriction: || (>= net472) (>= net7.0)
+ Microsoft.Win32.Registry (5.0) - restriction: || (&& (< net45) (>= netstandard2.0)) (&& (< net472) (< net7.0) (>= netstandard2.0))
+ System.Buffers (>= 4.5.1) - restriction: || (&& (>= monoandroid) (< netstandard1.3)) (>= monotouch) (&& (< net46) (< netcoreapp2.0) (>= netstandard2.0)) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
+ System.Memory (>= 4.5.4) - restriction: || (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net46) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= uap10.1)
+ System.Security.AccessControl (>= 5.0) - restriction: || (&& (>= monoandroid) (< netstandard1.3)) (&& (< monoandroid) (>= netcoreapp2.0)) (>= monotouch) (&& (< net46) (< netcoreapp2.0) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.1) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
+ System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (>= monoandroid) (< netstandard1.3)) (&& (< monoandroid) (>= netcoreapp2.0)) (>= monotouch) (&& (< net46) (< netcoreapp2.0) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.1) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
+ Microsoft.Win32.SystemEvents (7.0) - restriction: >= net6.0
+ Mono.Posix.NETStandard (1.0) - restriction: >= netstandard2.0
+ MSBuild.StructuredLogger (2.1.820) - restriction: >= netstandard2.0
+ Microsoft.Build.Framework (>= 17.5) - restriction: >= netstandard2.0
+ Microsoft.Build.Utilities.Core (>= 17.5) - restriction: >= netstandard2.0
+ Newtonsoft.Json (13.0.3) - restriction: >= netstandard2.0
+ NuGet.Common (6.6.1) - restriction: >= netstandard2.0
+ NuGet.Frameworks (>= 6.6.1) - restriction: >= netstandard2.0
+ NuGet.Configuration (6.6.1) - restriction: >= netstandard2.0
+ NuGet.Common (>= 6.6.1) - restriction: >= netstandard2.0
+ System.Security.Cryptography.ProtectedData (>= 4.4) - restriction: && (< net472) (>= netstandard2.0)
+ NuGet.Frameworks (6.6.1) - restriction: >= netstandard2.0
+ NuGet.Packaging (6.6.1) - restriction: >= netstandard2.0
+ Newtonsoft.Json (>= 13.0.1) - restriction: >= netstandard2.0
+ NuGet.Configuration (>= 6.6.1) - restriction: >= netstandard2.0
+ NuGet.Versioning (>= 6.6.1) - restriction: >= netstandard2.0
+ System.Security.Cryptography.Cng (>= 5.0) - restriction: || (&& (< net472) (>= netstandard2.0)) (>= net5.0)
+ System.Security.Cryptography.Pkcs (>= 5.0) - restriction: || (&& (< net472) (>= netstandard2.0)) (>= net5.0)
+ NuGet.Protocol (6.6.1) - restriction: >= netstandard2.0
+ NuGet.Packaging (>= 6.6.1) - restriction: >= netstandard2.0
+ NuGet.Versioning (6.6.1) - restriction: >= netstandard2.0
+ Octokit (7.0.1) - restriction: >= netstandard2.0
+ SharpCompress (0.33)
+ System.Memory (>= 4.5.5) - restriction: || (>= net462) (&& (>= netstandard2.0) (< netstandard2.1))
+ System.Text.Encoding.CodePages (>= 7.0) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.1)) (&& (>= netstandard2.0) (< netstandard2.1))
+ System.Buffers (4.5.1) - restriction: || (&& (>= monoandroid) (< netstandard1.1) (>= netstandard2.0)) (&& (>= monoandroid) (< netstandard1.3) (>= netstandard2.0)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net461) (>= netstandard2.0)) (>= net462) (&& (>= net5.0) (< netstandard2.1)) (&& (< net6.0) (>= netstandard2.0)) (&& (< net6.0) (>= netstandard2.1)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (< netstandard2.1)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac)
+ System.Collections.Immutable (7.0) - restriction: >= netstandard2.0
+ System.Memory (>= 4.5.5) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.0))
+ System.Runtime.CompilerServices.Unsafe (>= 6.0) - restriction: || (>= net462) (&& (>= net6.0) (< net7.0)) (&& (< net6.0) (>= netstandard2.0))
+ System.Configuration.ConfigurationManager (7.0) - restriction: >= netstandard2.0
+ System.Diagnostics.EventLog (>= 7.0) - restriction: >= net7.0
+ System.Security.Cryptography.ProtectedData (>= 7.0) - restriction: || (&& (< net462) (>= netstandard2.0)) (>= net6.0)
+ System.Security.Permissions (>= 7.0) - restriction: || (>= net462) (>= netstandard2.0)
+ System.Diagnostics.EventLog (7.0) - restriction: >= net7.0
+ System.Drawing.Common (7.0) - restriction: >= net6.0
+ Microsoft.Win32.SystemEvents (>= 7.0) - restriction: >= net6.0
+ System.Formats.Asn1 (7.0) - restriction: || (&& (< net462) (>= netstandard2.0)) (&& (>= net5.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp3.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netstandard2.1)
+ System.Buffers (>= 4.5.1) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.0))
+ System.Memory (>= 4.5.5) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.0))
+ System.IO (4.3) - restriction: || (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (< netstandard1.6) (>= netstandard2.0)) (&& (< monoandroid) (>= net5.0) (< netstandard1.4)) (&& (< monoandroid) (>= net5.0) (< netstandard1.6)) (&& (< monoandroid) (>= net5.0) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (>= net46) (>= net5.0) (< netstandard1.4)) (&& (< net46) (>= net461) (< netstandard1.4) (>= netstandard2.0)) (&& (< net46) (>= net461) (< netstandard1.6) (>= netstandard2.0)) (&& (< net46) (>= net462) (< netstandard1.4) (>= netstandard2.0)) (&& (< net46) (>= net462) (< netstandard1.6) (>= netstandard2.0)) (&& (< net46) (>= net47) (>= netstandard2.0)) (&& (>= net461) (>= net5.0) (< netstandard1.4)) (&& (>= net461) (>= net5.0) (< netstandard1.6)) (&& (>= net462) (>= net5.0) (< netstandard1.4)) (&& (>= net462) (>= net5.0) (< netstandard1.6)) (&& (>= net463) (>= net5.0) (< netstandard1.4)) (&& (>= net463) (>= net5.0) (< netstandard1.6)) (&& (>= net463) (>= net5.0) (< netstandard2.0)) (&& (>= net463) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net463) (< netstandard1.6) (>= netstandard2.0)) (&& (>= net47) (< net472) (>= netstandard2.0)) (&& (>= net47) (>= net5.0))
+ System.Memory (4.5.5) - restriction: || (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net462) (&& (>= net5.0) (< netstandard2.1)) (&& (< net6.0) (>= netstandard2.0)) (&& (< net6.0) (>= netstandard2.1)) (&& (< net7.0) (>= netstandard2.0)) (&& (>= netstandard2.0) (< netstandard2.1)) (&& (>= netstandard2.0) (>= uap10.1))
+ System.Buffers (>= 4.5.1) - restriction: || (&& (>= monoandroid) (< netstandard1.1)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (>= monotouch) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (>= net461) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (< uap10.1) (>= wpa81)) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
+ System.Numerics.Vectors (>= 4.4) - restriction: && (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
+ System.Numerics.Vectors (>= 4.5) - restriction: >= net461
+ System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (>= monoandroid) (< netstandard1.1)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< monoandroid) (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (>= monotouch) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (>= net461) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos)
+ System.Numerics.Vectors (4.5) - restriction: || (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< netstandard2.1) (< xamarintvos) (< xamarinwatchos)) (&& (>= net461) (>= netstandard2.0)) (>= net462)
+ System.Reactive (5.0) - restriction: >= netstandard2.0
+ System.Runtime.InteropServices.WindowsRuntime (>= 4.3) - restriction: && (< net472) (< netcoreapp3.1) (>= netstandard2.0)
+ System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (>= net472) (&& (< netcoreapp3.1) (>= netstandard2.0)) (>= uap10.1)
+ System.Reflection.Emit.ILGeneration (4.7) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< netstandard2.1) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net452) (>= netstandard2.0)) (&& (< net45) (>= net452) (< netstandard2.0)) (&& (>= net452) (< netstandard2.0) (>= wpa81)) (&& (>= net452) (< portable-net45+wp8)) (&& (>= net452) (>= uap10.1)) (&& (>= netstandard2.0) (< portable-net45+wp8) (>= win8)) (&& (>= netstandard2.0) (< portable-net45+wp8) (< win8)) (&& (>= netstandard2.0) (>= uap10.1))
+ System.Reflection.Emit.Lightweight (4.7) - restriction: || (>= net452) (>= netstandard2.0)
+ System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< netstandard2.1) (< xamarintvos) (< xamarinwatchos)) (&& (< netstandard2.0) (>= wpa81)) (&& (>= portable-net45+win8+wp8+wpa81) (< portable-net45+wp8) (< win8)) (&& (< portable-net45+wp8) (>= win8)) (>= uap10.1)
+ System.Runtime (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp3.1) (>= netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (< netstandard1.6) (>= netstandard2.0)) (&& (< monoandroid) (>= net5.0) (< netstandard1.4)) (&& (< monoandroid) (>= net5.0) (< netstandard1.6)) (&& (< monoandroid) (>= net5.0) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (>= net46) (>= net5.0) (< netstandard1.4)) (&& (< net46) (>= net461) (< netstandard1.4) (>= netstandard2.0)) (&& (< net46) (>= net461) (< netstandard1.6) (>= netstandard2.0)) (&& (< net46) (>= net462) (< netstandard1.4) (>= netstandard2.0)) (&& (< net46) (>= net462) (< netstandard1.6) (>= netstandard2.0)) (&& (< net46) (>= net47) (>= netstandard2.0)) (&& (>= net461) (>= net5.0) (< netstandard1.4)) (&& (>= net461) (>= net5.0) (< netstandard1.6)) (&& (>= net462) (>= net5.0) (< netstandard1.4)) (&& (>= net462) (>= net5.0) (< netstandard1.6)) (&& (>= net463) (>= net5.0) (< netstandard1.4)) (&& (>= net463) (>= net5.0) (< netstandard1.6)) (&& (>= net463) (>= net5.0) (< netstandard2.0)) (&& (>= net463) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net463) (< netstandard1.6) (>= netstandard2.0)) (&& (>= net47) (< net472) (>= netstandard2.0)) (&& (>= net47) (>= net5.0))
+ Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.2) (< win8) (< wp8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
+ Microsoft.NETCore.Targets (>= 1.1.3) - restriction: || (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.2) (< win8) (< wp8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos))
+ System.Runtime.CompilerServices.Unsafe (6.0) - restriction: || (&& (>= monoandroid) (< netstandard1.1) (>= netstandard2.0)) (&& (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1) (< netstandard2.1)) (&& (< monoandroid) (< netstandard1.0) (>= netstandard2.0) (< win8)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard2.0) (< win8)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= net461) (>= netstandard2.0)) (>= net462) (&& (>= net6.0) (< net7.0)) (&& (>= net6.0) (< netstandard2.1)) (&& (< net6.0) (>= netstandard2.0)) (&& (< net6.0) (>= netstandard2.1)) (&& (< netstandard1.0) (>= netstandard2.0) (>= win8)) (&& (< netstandard1.1) (>= netstandard2.0) (>= win8)) (&& (>= netstandard2.0) (< netstandard2.1)) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= wp8)) (&& (< netstandard2.1) (>= xamarinios)) (&& (< netstandard2.1) (>= xamarinmac))
+ System.Runtime.InteropServices.WindowsRuntime (4.3) - restriction: && (< net472) (< netcoreapp3.1) (>= netstandard2.0)
+ System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
+ System.Security.AccessControl (6.0) - restriction: || (&& (>= monoandroid) (< netstandard1.3) (>= netstandard2.0)) (&& (< monoandroid) (>= netcoreapp2.0)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (>= net461) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net462) (< net472) (>= netstandard2.0)) (&& (>= net462) (>= net7.0)) (&& (< net472) (< net6.0) (>= netstandard2.0)) (&& (< net6.0) (>= net7.0)) (>= netcoreapp2.1) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac)
+ System.Security.Principal.Windows (>= 5.0) - restriction: || (>= net461) (&& (< net6.0) (>= netstandard2.0))
+ System.Security.Cryptography.Algorithms (4.3.1) - restriction: || (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (< netstandard1.6) (>= netstandard2.0)) (&& (< monoandroid) (>= net5.0) (< netstandard1.4)) (&& (< monoandroid) (>= net5.0) (< netstandard1.6)) (&& (< monoandroid) (>= net5.0) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (>= net46) (>= net5.0) (< netstandard1.4)) (&& (>= net46) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net461) (< net462) (< netstandard1.6) (>= netstandard2.0)) (&& (>= net461) (>= net5.0) (< netstandard1.6)) (&& (>= net462) (>= net5.0) (< netstandard1.6)) (&& (>= net462) (< netstandard1.6) (>= netstandard2.0)) (&& (>= net47) (< net472) (>= netstandard2.0)) (&& (>= net47) (>= net5.0))
+ System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net463)
+ System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net463)
+ System.Security.Cryptography.Encoding (>= 4.3) - restriction: || (&& (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net463)
+ System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (>= net46) (< netstandard1.4)) (&& (>= net461) (< netstandard1.6)) (>= net463)
+ System.Security.Cryptography.Cng (5.0) - restriction: || (&& (< net462) (>= netstandard2.0) (< netstandard2.1)) (&& (< net472) (>= netstandard2.0)) (>= net5.0) (&& (< net6.0) (>= netstandard2.1))
+ Microsoft.NETCore.Platforms (>= 5.0) - restriction: && (< monoandroid) (>= netcoreapp2.0) (< netcoreapp2.1) (< netstandard2.1) (< xamarintvos) (< xamarinwatchos)
+ System.Formats.Asn1 (>= 5.0) - restriction: && (>= netcoreapp3.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)
+ System.Security.Cryptography.Algorithms (>= 4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) (&& (>= net46) (< netstandard1.4)) (&& (>= net461) (< net462) (< netstandard1.6)) (&& (>= net462) (< netstandard1.6)) (>= net47)
+ System.Security.Cryptography.Encoding (4.3) - restriction: || (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (< netstandard1.6) (>= netstandard2.0)) (&& (< monoandroid) (>= net5.0) (< netstandard1.4)) (&& (< monoandroid) (>= net5.0) (< netstandard1.6)) (&& (< monoandroid) (>= net5.0) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (>= net46) (>= net5.0) (< netstandard1.4)) (&& (< net46) (>= net461) (< netstandard1.6) (>= netstandard2.0)) (&& (< net46) (>= net462) (< netstandard1.6) (>= netstandard2.0)) (&& (< net46) (>= net47) (>= netstandard2.0)) (&& (>= net461) (>= net5.0) (< netstandard1.6)) (&& (>= net462) (>= net5.0) (< netstandard1.6)) (&& (>= net463) (>= net5.0) (< netstandard1.4)) (&& (>= net463) (>= net5.0) (< netstandard1.6)) (&& (>= net463) (>= net5.0) (< netstandard2.0)) (&& (>= net463) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net463) (< netstandard1.6) (>= netstandard2.0)) (&& (>= net47) (< net472) (>= netstandard2.0)) (&& (>= net47) (>= net5.0))
+ System.Security.Cryptography.Pkcs (7.0.3) - restriction: || (&& (< net472) (>= netstandard2.0)) (>= net5.0)
+ System.Buffers (>= 4.5.1) - restriction: && (< net462) (>= netstandard2.0) (< netstandard2.1)
+ System.Formats.Asn1 (>= 7.0) - restriction: || (&& (< net462) (>= netstandard2.0)) (>= netstandard2.1)
+ System.Memory (>= 4.5.5) - restriction: && (< net462) (>= netstandard2.0) (< netstandard2.1)
+ System.Security.Cryptography.Cng (>= 5.0) - restriction: || (&& (< net462) (>= netstandard2.0) (< netstandard2.1)) (&& (< net6.0) (>= netstandard2.1))
+ System.Security.Cryptography.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< monoandroid) (< net46) (< netstandard1.6) (>= netstandard2.0)) (&& (< monoandroid) (>= net5.0) (< netstandard1.4)) (&& (< monoandroid) (>= net5.0) (< netstandard1.6)) (&& (< monoandroid) (>= net5.0) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (>= net46) (>= net5.0) (< netstandard1.4)) (&& (>= net46) (< netstandard1.4) (>= netstandard2.0)) (&& (< net46) (>= net461) (< netstandard1.6) (>= netstandard2.0)) (&& (< net46) (>= net47) (>= netstandard2.0)) (&& (>= net461) (< net462) (< netstandard1.6) (>= netstandard2.0)) (&& (>= net461) (>= net5.0) (< netstandard1.4)) (&& (>= net461) (>= net5.0) (< netstandard1.6)) (&& (>= net461) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net462) (>= net5.0) (< netstandard1.4)) (&& (>= net462) (>= net5.0) (< netstandard1.6)) (&& (>= net462) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net462) (< netstandard1.6) (>= netstandard2.0)) (&& (>= net463) (>= net5.0) (< netstandard1.4)) (&& (>= net463) (>= net5.0) (< netstandard1.6)) (&& (>= net463) (>= net5.0) (< netstandard2.0)) (&& (>= net463) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net463) (< netstandard1.6) (>= netstandard2.0)) (&& (>= net47) (< net472) (>= netstandard2.0)) (&& (>= net47) (>= net5.0)) (&& (>= net47) (< netstandard1.4) (>= netstandard2.0)) (&& (>= net47) (< netstandard1.6) (>= netstandard2.0))
+ System.Security.Cryptography.ProtectedData (7.0.1) - restriction: || (&& (< net462) (>= netstandard2.0)) (&& (< net472) (>= netstandard2.0)) (>= net6.0)
+ System.Memory (>= 4.5.5) - restriction: && (< net462) (< net6.0) (>= netstandard2.0)
+ System.Security.Permissions (7.0) - restriction: >= netstandard2.0
+ System.Security.AccessControl (>= 6.0) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.0))
+ System.Windows.Extensions (>= 7.0) - restriction: >= net6.0
+ System.Security.Principal.Windows (5.0) - restriction: || (&& (>= monoandroid) (< netstandard1.3) (>= netstandard2.0)) (&& (< monoandroid) (>= netcoreapp2.0)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net45) (>= net461) (>= netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (>= net461) (>= netcoreapp2.0)) (>= net472) (&& (< net7.0) (>= netstandard2.0)) (>= netcoreapp2.1) (&& (>= netstandard2.0) (>= uap10.1)) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac)
+ Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0))
+ System.Text.Encoding.CodePages (7.0) - restriction: || (>= net462) (&& (< net472) (< net7.0) (>= netstandard2.0)) (&& (< net6.0) (>= netstandard2.1)) (&& (>= netstandard2.0) (< netstandard2.1))
+ System.Memory (>= 4.5.5) - restriction: || (>= net462) (&& (< net6.0) (>= netstandard2.0))
+ System.Runtime.CompilerServices.Unsafe (>= 6.0) - restriction: || (>= net462) (&& (>= net6.0) (< net7.0)) (&& (< net6.0) (>= netstandard2.0))
+ System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (>= net462) (>= netstandard2.0)) (>= net472) (&& (< netcoreapp3.1) (>= netstandard2.0)) (&& (>= netstandard2.0) (< netstandard2.1)) (&& (>= netstandard2.0) (>= uap10.1))
+ System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.0) (>= portable-net45+win8+wp8+wpa81) (< win8)) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net461) (&& (< netstandard1.0) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) (>= wp8)
+ System.ValueTuple (4.5) - restriction: && (>= net45) (>= netstandard2.0)
+ System.Windows.Extensions (7.0) - restriction: >= net6.0
+ System.Drawing.Common (>= 7.0) - restriction: >= net6.0
diff --git a/src/Metadata.Lib/Metadata.Lib.fsproj b/src/Metadata.Lib/Metadata.Lib.fsproj
index 447e082..73f0c5a 100644
--- a/src/Metadata.Lib/Metadata.Lib.fsproj
+++ b/src/Metadata.Lib/Metadata.Lib.fsproj
@@ -5,7 +5,7 @@
true
-
+
@@ -15,4 +15,4 @@
-
\ No newline at end of file
+
diff --git a/src/Metadata.Lib/RoleValidator.fs b/src/Metadata.Lib/RoleValidator.fs
index dd4a25f..2424c2e 100644
--- a/src/Metadata.Lib/RoleValidator.fs
+++ b/src/Metadata.Lib/RoleValidator.fs
@@ -11,7 +11,7 @@ type RoleValidator =
member rv.Validate(role: string) : Result =
match rv with
| Roles None -> Ok()
- | Roles (Some roles) ->
+ | Roles(Some roles) ->
if roles |> List.contains role then
Ok()
else
diff --git a/src/Metadata.Lib/Track.fs b/src/Metadata.Lib/Track.fs
index 115a0b2..225952f 100644
--- a/src/Metadata.Lib/Track.fs
+++ b/src/Metadata.Lib/Track.fs
@@ -12,6 +12,7 @@ module Track =
let load (fileName: string) : Result =
try
+ // fsharplint:disable-next-line redundantNewKeyword // it's IDisposable
let track = new FlacFile(fileName)
Ok { Path = fileName; Track = Flac track }
with
@@ -20,7 +21,7 @@ module Track =
Error(FileDoesNotExist err.Message)
| :? Exceptions.FlacLibSharpInvalidFormatException as err ->
log.Error("Loading track '{FileName}': {Err}", fileName, err)
- Error(sprintf "Not a valid FLAC file: '%s'" fileName |> InvalidFileFormat)
+ Error($"Not a valid FLAC file: '%s{fileName}'" |> InvalidFileFormat)
| err ->
log.Error("Loading track '{FileName}': {Err}", fileName, err)
Error(UnexpectedError err.Message)
diff --git a/src/Metadata.Lib/TrackHelpers.fs b/src/Metadata.Lib/TrackHelpers.fs
index aa5b3ec..dab5aa2 100644
--- a/src/Metadata.Lib/TrackHelpers.fs
+++ b/src/Metadata.Lib/TrackHelpers.fs
@@ -12,8 +12,8 @@ let extractTrackNumber (track: AudioTrack) : Result =
|> List.head
|> int
|> Ok
- with
- | :? System.FormatException -> MissingOrInvalidTag TrackNumberTag |> Error
+ with :? System.FormatException ->
+ MissingOrInvalidTag TrackNumberTag |> Error
let extractDiscNumberWithDefault (track: AudioTrack) : Result =
try
@@ -22,8 +22,8 @@ let extractDiscNumberWithDefault (track: AudioTrack) : Result 0 |> Ok
| "" :: _tail -> 0 |> Ok
| head :: _tail -> head |> int |> Ok
- with
- | :? System.FormatException -> MissingOrInvalidTag DiscNumberTag |> Error
+ with :? System.FormatException ->
+ MissingOrInvalidTag DiscNumberTag |> Error
let private extractDiscAndTrackNumbers (track: AudioTrack) =
result {
diff --git a/src/Metadata.Lib/Utils.fs b/src/Metadata.Lib/Utils.fs
index 1b5dee4..7dd8fc1 100644
--- a/src/Metadata.Lib/Utils.fs
+++ b/src/Metadata.Lib/Utils.fs
@@ -18,10 +18,7 @@ module List =
/// Remove all occurrences of every item in values from the list.
let removeByValues (values: 'T list) (lst: 'T list) : 'T list =
let folder (item: 'T) (acc: 'T list) =
- if List.contains item values then
- acc
- else
- item :: acc
+ if List.contains item values then acc else item :: acc
List.foldBack folder lst []
@@ -36,8 +33,8 @@ module List =
lst |> List.map fn
- let groupByConsecutively (fKey: 'T -> 'key) (lst: 'T list) : ('key * 'T list) list =
- let loop (item: 'T) (state: ('key * 'T list) list) : ('key * 'T list) list =
+ let groupByConsecutively (fKey: 'T -> 'Key) (lst: 'T list) : ('Key * 'T list) list =
+ let loop (item: 'T) (state: ('Key * 'T list) list) : ('Key * 'T list) list =
let key = fKey item
match state with
diff --git a/src/Metadata.Lib/WorkMovement.fs b/src/Metadata.Lib/WorkMovement.fs
index 22d8fa3..5e7e01d 100644
--- a/src/Metadata.Lib/WorkMovement.fs
+++ b/src/Metadata.Lib/WorkMovement.fs
@@ -22,11 +22,7 @@ let splitTitle2WorkMovement (track: AudioTrack) =
/// Extract work name from track's title. Return None if can not split to work/movement
let workFromTitle =
splitTitle2WorkMovement
- >> fun (work, movement) ->
- if Option.isSome movement then
- Some work
- else
- None
+ >> fun (work, movement) -> if Option.isSome movement then Some work else None
/// Parsing movement part of the title. Should be able to parse the following as
/// indexed:
@@ -82,20 +78,20 @@ module MovementParser =
let parseLayout movement =
run titleLayout movement
|> function
- | Success (r, _, _) ->
+ | Success(r, _, _) ->
log.Verbose("Parsing layout of '{Movement}' returned: {R}", movement, r)
r
- | Failure (msg, _, _) ->
+ | Failure(msg, _, _) ->
failwith $"[BUG]: Error parsing movement! this should not have happened. Error was: {msg}"
/// Extract the movement name (remove prefixes)
let parseMovement movement =
run title movement
|> function
- | Success (s, _, _) ->
+ | Success(s, _, _) ->
log.Verbose("Parsing title of '{Movement}' returned: {S}", movement, s)
s
- | Failure (msg, _, _) ->
+ | Failure(msg, _, _) ->
failwith $"[BUG]: Error parsing movement! this should not have happened. Error was: {msg}"
/// An already parsed work (not applied). Only use `Create` to initialize
@@ -160,7 +156,7 @@ let extractWorks (ConsecutiveTracks tracks) addRomans =
|> Result.bind (Work.Create (titleOpt |> Option.get) addRomans))
/// Applies (saves) the work data
-let applyWork (Work (name, ConsecutiveTracks tracks)) =
+let applyWork (Work(name, ConsecutiveTracks tracks)) =
let saveTrack t =
result {
do!
diff --git a/src/Metadata.Lib/formats/Flac.fs b/src/Metadata.Lib/formats/Flac.fs
index ca462b1..270e877 100644
--- a/src/Metadata.Lib/formats/Flac.fs
+++ b/src/Metadata.Lib/formats/Flac.fs
@@ -63,7 +63,6 @@ let getTagStringValue (track: FlacFile) (tag: TagName) =
let applyChanges (track: FlacFile) =
try
track.Save() |> Ok
- with
- | ex ->
+ with ex ->
log.Error("Saving track: {Ex}", ex)
Error [ FileSaveError ex.Message ]
diff --git a/src/Metadata.Test/MovementParserTests.fs b/src/Metadata.Test/MovementParserTests.fs
index 9937e6b..51a1514 100644
--- a/src/Metadata.Test/MovementParserTests.fs
+++ b/src/Metadata.Test/MovementParserTests.fs
@@ -41,7 +41,7 @@ type MovementParserTests() =
member this.``Simple parsing should apply``((testParser, data, expected)) =
run testParser data
|> function
- | Success (res, _, _) when res = expected -> ()
+ | Success(res, _, _) when res = expected -> ()
| x -> Assert.Fail($"Unexpected result '%A{x}', expected '{expected}'")
[]
diff --git a/src/Metadata.Test/Tests.fs b/src/Metadata.Test/Tests.fs
index 6bb9219..c1dad7f 100644
--- a/src/Metadata.Test/Tests.fs
+++ b/src/Metadata.Test/Tests.fs
@@ -68,8 +68,7 @@ module ``Track operations`` =
[]
let ``mkPersonnel should correctly convert Personnel to strings`` () =
let testData =
- [ ("Musician A", [ "Guitar"; "Voice" ])
- ("Musician B", [ "Violin" ]) ]
+ [ ("Musician A", [ "Guitar"; "Voice" ]); ("Musician B", [ "Violin" ]) ]
let emptyValidator = None |> Roles
let res = Track.mkPersonnel emptyValidator testData |> Result.unwrap
@@ -83,8 +82,7 @@ module ``Track operations`` =
let validator = Some [ "Guitar"; "Cello" ] |> Roles
let testData =
- [ ("Musician A", [ "Guitar"; "NOSUCH1" ])
- ("Musician B", [ "NOSUCH2" ]) ]
+ [ ("Musician A", [ "Guitar"; "NOSUCH1" ]); ("Musician B", [ "NOSUCH2" ]) ]
let errors = Track.mkPersonnel validator testData |> Result.unwrapError
errors |> should haveLength 2
@@ -94,8 +92,7 @@ module ``Track operations`` =
let validator = None |> Roles
let testData =
- [ ("Musician A", [ "Guitar"; "NOSUCH1" ])
- ("Musician B", [ "NOSUCH2" ]) ]
+ [ ("Musician A", [ "Guitar"; "NOSUCH1" ]); ("Musician B", [ "NOSUCH2" ]) ]
let res = Track.mkPersonnel validator testData |> Result.unwrap
res |> should contain (Personnel "Musician A - NOSUCH1")
@@ -107,10 +104,7 @@ module ``Track operations`` =
// sample track contains 3 credit entries.
let track = "with-credits.flac" |> loadTrackSuccess
- Track.addCredits
- track
- [ Personnel "First Last - Cello"
- Personnel "The Orchestra - Orchestra" ]
+ Track.addCredits track [ Personnel "First Last - Cello"; Personnel "The Orchestra - Orchestra" ]
let p = Track.getTagStringValue track CreditTag
p |> should contain "First Last - Cello"
@@ -122,10 +116,7 @@ module ``Track operations`` =
let track = "with-credits.flac" |> loadTrackSuccess
let duplicate = Personnel "Musician A - Guitar"
- Track.addCredits
- track
- [ duplicate
- Personnel "Musician C - Double Bass" ]
+ Track.addCredits track [ duplicate; Personnel "Musician C - Double Bass" ]
let p = Track.getTagStringValue track CreditTag
p |> should haveLength 4
@@ -138,10 +129,7 @@ module ``Track operations`` =
let existingValue1 = "Musician A - Guitar"
let existingValue2 = "Musician B - Vocals"
- Track.deleteCredits
- track
- [ Personnel existingValue1
- Personnel existingValue2 ]
+ Track.deleteCredits track [ Personnel existingValue1; Personnel existingValue2 ]
|> ignore
Track.getTagStringValue track CreditTag
diff --git a/src/Metadata.Test/TrackHelpersTests.fs b/src/Metadata.Test/TrackHelpersTests.fs
index db63218..48f9b80 100644
--- a/src/Metadata.Test/TrackHelpersTests.fs
+++ b/src/Metadata.Test/TrackHelpersTests.fs
@@ -38,15 +38,10 @@ module MetadataHelpersTests =
[]
let ``sort tracks by tracks and cd number if cd is empty`` () =
- let before =
- [ "track3.flac"
- "track1.flac"
- "track2.flac" ]
+ let before = [ "track3.flac"; "track1.flac"; "track2.flac" ]
let expected =
- [ "track1.flac"
- "track2.flac"
- "track3.flac" ]
+ [ "track1.flac"; "track2.flac"; "track3.flac" ]
|> List.map loadTracksPath
before
@@ -58,10 +53,7 @@ module MetadataHelpersTests =
[]
let ``sort tracks fails if there are duplicate track and disc numbers`` () =
- let tracks =
- [ "track2.flac"
- "another-track1.flac"
- "track1.flac" ]
+ let tracks = [ "track2.flac"; "another-track1.flac"; "track1.flac" ]
tracks
|> List.map loadTrackSuccess
@@ -101,9 +93,7 @@ module MetadataHelpersTests =
[]
let ``Consecutive tracks sorts the provided tracks`` () =
let result =
- [ "disc1track2.flac"
- "disc1track1.flac"
- "disc1track3.flac" ]
+ [ "disc1track2.flac"; "disc1track1.flac"; "disc1track3.flac" ]
|> createConsecutiveTracks
|> Result.unwrap
diff --git a/src/Metadata.Test/Utils.fs b/src/Metadata.Test/Utils.fs
index e8b84dc..1c7ed5f 100644
--- a/src/Metadata.Test/Utils.fs
+++ b/src/Metadata.Test/Utils.fs
@@ -7,9 +7,7 @@ open RoonTagger.Metadata
/// Get the path for a file in the project 'Resources' directory.
let getResourcePath fileName =
- [| Environment.CurrentDirectory
- "Resources"
- fileName |]
+ [| Environment.CurrentDirectory; "Resources"; fileName |]
|> Path.Combine
/// Force extract flac file from `AudioTrack`. Throw exception if not flac.
@@ -20,8 +18,8 @@ let extractFlac (file: AudioTrack) =
/// Extract the match value of ParserResult
let inline unwrapParserResult (pr: ParserResult<_, _>) =
match pr with
- | Success (result, _, _) -> result
- | Failure (msg, _, _) -> failwith $"Trying to unwrap failure: {msg}"
+ | Success(result, _, _) -> result
+ | Failure(msg, _, _) -> failwith $"Trying to unwrap failure: {msg}"
/// A "use"able temporary flac file copier from the provided flac file name in the tests _Resource_ directory.
type CopiedFile(fileName: string) =
@@ -37,7 +35,8 @@ type CopiedFile(fileName: string) =
File.Delete(targetPath)
with
// Dispose should be idempotent
- | _ -> ()
+ | _ ->
+ ()
[]
module Result =
diff --git a/src/Metadata.Test/UtilsTests.fs b/src/Metadata.Test/UtilsTests.fs
index 26886a3..cca03a6 100644
--- a/src/Metadata.Test/UtilsTests.fs
+++ b/src/Metadata.Test/UtilsTests.fs
@@ -8,29 +8,18 @@ module ListTests =
[]
let ``groupByConsecutively should group things in order`` () =
- let data =
- [ (1, "one")
- (1, "two")
- (1, "three")
- (2, "one") ]
+ let data = [ (1, "one"); (1, "two"); (1, "three"); (2, "one") ]
let expected =
- [ (1, [ (1, "one"); (1, "two"); (1, "three") ])
- (2, [ (2, "one") ]) ]
+ [ (1, [ (1, "one"); (1, "two"); (1, "three") ]); (2, [ (2, "one") ]) ]
List.groupByConsecutively fst data |> should equal expected
[]
let ``groupByConsecutively should separate items with same key if not consecutive`` () =
- let data =
- [ (1, "one")
- (1, "two")
- (2, "one")
- (1, "three") ]
+ let data = [ (1, "one"); (1, "two"); (2, "one"); (1, "three") ]
let expected =
- [ (1, [ (1, "one"); (1, "two") ])
- (2, [ (2, "one") ])
- (1, [ (1, "three") ]) ]
+ [ (1, [ (1, "one"); (1, "two") ]); (2, [ (2, "one") ]); (1, [ (1, "three") ]) ]
List.groupByConsecutively fst data |> should equal expected
diff --git a/src/Metadata.Test/WorkMovementTests.fs b/src/Metadata.Test/WorkMovementTests.fs
index 3c12ad4..6599fe3 100644
--- a/src/Metadata.Test/WorkMovementTests.fs
+++ b/src/Metadata.Test/WorkMovementTests.fs
@@ -50,7 +50,7 @@ module ``Work and Movements Tests`` =
|> Result.unwrap
rslt |> should haveLength 1
- let (Work (w, ConsecutiveTracks ts)) = rslt |> List.head
+ let (Work(w, ConsecutiveTracks ts)) = rslt |> List.head
w |> should equal "My work name"
ts |> should haveLength 3
ts |> List.head |> extractMovement |> should equal "First movement"
@@ -72,7 +72,7 @@ module ``Work and Movements Tests`` =
|> Result.unwrap
rslt |> should haveLength 1
- let (Work (w, ConsecutiveTracks ts)) = rslt |> List.head
+ let (Work(w, ConsecutiveTracks ts)) = rslt |> List.head
w |> should equal workTitle
ts |> should haveLength 4
@@ -93,8 +93,8 @@ module ``Work and Movements Tests`` =
|> Result.unwrap
rslt |> should haveLength 2
- let (Work (w1, ConsecutiveTracks ts1)) = rslt[0]
- let (Work (w2, ConsecutiveTracks ts2)) = rslt[1]
+ let (Work(w1, ConsecutiveTracks ts1)) = rslt[0]
+ let (Work(w2, ConsecutiveTracks ts2)) = rslt[1]
w1 |> should equal workTitle
w2 |> should equal workTitle
ts1 |> should haveLength 2
@@ -114,7 +114,7 @@ module ``Work and Movements Tests`` =
|> Result.unwrap
rslt |> should haveLength 1
- let (Work (w, ConsecutiveTracks ts)) = rslt[0]
+ let (Work(w, ConsecutiveTracks ts)) = rslt[0]
w |> should equal workTitle
ts[0] |> extractMovement |> should equal "I. First movement"
@@ -128,7 +128,7 @@ module ``Work and Movements Tests`` =
[ mkTrackWithTitle "disc1track1.flac" $"{workTitle}: I. First movement"
mkTrackWithTitle "disc1track2.flac" $"{workTitle}: II. Second movement" ]
- let (Work (w, ConsecutiveTracks ts)) =
+ let (Work(w, ConsecutiveTracks ts)) =
ConsecutiveTracks.Create data
|> Result.bind (Work.Create workTitle false)
|> Result.unwrap
@@ -145,7 +145,7 @@ module ``Work and Movements Tests`` =
[ mkTrackWithTitle "disc1track1.flac" $"{workTitle}: First movement"
mkTrackWithTitle "disc1track2.flac" $"{workTitle}: Second movement" ]
- let (Work (w, ConsecutiveTracks ts)) =
+ let (Work(w, ConsecutiveTracks ts)) =
ConsecutiveTracks.Create data
|> Result.bind (Work.Create workTitle true)
|> Result.unwrap
@@ -162,7 +162,7 @@ module ``Work and Movements Tests`` =
[ mkTrackWithTitle "disc1track1.flac" $"{workTitle}: 1. First movement"
mkTrackWithTitle "disc1track2.flac" $"{workTitle}: Second movement" ]
- let (Work (w, ConsecutiveTracks ts)) =
+ let (Work(w, ConsecutiveTracks ts)) =
ConsecutiveTracks.Create data
|> Result.bind (Work.Create workTitle true)
|> Result.unwrap
@@ -179,7 +179,7 @@ module ``Work and Movements Tests`` =
[ mkTrackWithTitle "disc1track1.flac" $"{workTitle}: No 1. First movement"
mkTrackWithTitle "disc1track2.flac" $"{workTitle}: Second movement" ]
- let (Work (w, ConsecutiveTracks ts)) =
+ let (Work(w, ConsecutiveTracks ts)) =
ConsecutiveTracks.Create data
|> Result.bind (Work.Create workTitle false)
|> Result.unwrap
diff --git a/src/RoonTagger.Cli.Test/LoggingTests.fs b/src/RoonTagger.Cli.Test/LoggingTests.fs
index 8c1e715..9d1ddb8 100644
--- a/src/RoonTagger.Cli.Test/LoggingTests.fs
+++ b/src/RoonTagger.Cli.Test/LoggingTests.fs
@@ -14,25 +14,18 @@ type LoggingTests() =
{ File = "file.log"
Level = LogLevel.None }
- (defaultLC,
- 1,
- [ (LogEventLevel.Information, true)
- (LogEventLevel.Debug, false) ])
+ (defaultLC, 1, [ (LogEventLevel.Information, true); (LogEventLevel.Debug, false) ])
({ defaultLC with Level = LogLevel.Info },
0,
- [ (LogEventLevel.Information, true)
- (LogEventLevel.Debug, false) ])
+ [ (LogEventLevel.Information, true); (LogEventLevel.Debug, false) ])
- (defaultLC,
- 2,
- [ (LogEventLevel.Debug, true)
- (LogEventLevel.Verbose, false) ])
+ (defaultLC, 2, [ (LogEventLevel.Debug, true); (LogEventLevel.Verbose, false) ])
- ({ defaultLC with Level = LogLevel.Debug },
+ ({ defaultLC with
+ Level = LogLevel.Debug },
0,
- [ (LogEventLevel.Debug, true)
- (LogEventLevel.Verbose, false) ])
+ [ (LogEventLevel.Debug, true); (LogEventLevel.Verbose, false) ])
(defaultLC, 3, [ (LogEventLevel.Verbose, true) ])
(defaultLC, 5, [ (LogEventLevel.Verbose, true) ]) ]
diff --git a/src/RoonTagger.Cli.Test/SetTagsTests.fs b/src/RoonTagger.Cli.Test/SetTagsTests.fs
index 9775f10..9d8f5c1 100644
--- a/src/RoonTagger.Cli.Test/SetTagsTests.fs
+++ b/src/RoonTagger.Cli.Test/SetTagsTests.fs
@@ -26,13 +26,10 @@ module SetArgsIntegrationTests =
[]
let ``--composer sets both composer tag and credits`` () =
+ // fsharplint:disable-next-line redundantNewKeyword // it's disposable
use tmp = new CopiedFile("empty.flac")
let path = tmp.Path
-
- let args =
- parser.Parse [| "--composer"
- "Composer A,Composer B"
- path |]
+ let args = parser.Parse [| "--composer"; "Composer A,Composer B"; path |]
handleCmd args
|> function
diff --git a/src/RoonTagger.Cli/Arguments.fs b/src/RoonTagger.Cli/Arguments.fs
index 3bde570..6c6cd69 100644
--- a/src/RoonTagger.Cli/Arguments.fs
+++ b/src/RoonTagger.Cli/Arguments.fs
@@ -137,8 +137,8 @@ type MainArgs =
let parseDate dateString =
try
DateTime.Parse dateString
- with
- | _ -> failwith "Not a valid date format"
+ with _ ->
+ failwith "Not a valid date format"
let parseTodayOrDate =
function
diff --git a/src/RoonTagger.Cli/Commands/ExtractWorkCmd.fs b/src/RoonTagger.Cli/Commands/ExtractWorkCmd.fs
index 440ae15..6a72ede 100644
--- a/src/RoonTagger.Cli/Commands/ExtractWorkCmd.fs
+++ b/src/RoonTagger.Cli/Commands/ExtractWorkCmd.fs
@@ -42,7 +42,7 @@ type WorkPromptResponse =
| EditWorkName -> "Edit work name"
| EditMovements -> "Edit movements in a file"
-let printWork (Work (name, ConsecutiveTracks tracks)) =
+let printWork (Work(name, ConsecutiveTracks tracks)) =
log.Debug("Printing work '{Name}' with tracks: {Tracks}", name, tracks)
let grid = Grid()
let firstColumn = GridColumn()
@@ -105,24 +105,18 @@ type WorkProcessor =
}
|> Result.teeError (fun _ -> cleanup movementsFilePath |> ignore)
- member _.PromptWorkOperation(Work (workName, _)) =
+ member _.PromptWorkOperation(Work(workName, _)) =
let prompt = SelectionPrompt()
prompt.Title <- $"[yellow]{workName.EscapeMarkup()}:[/]"
- prompt.AddChoices(
- [ ViewWork
- SaveWork
- EditWorkName
- EditMovements
- DeleteWork ]
- )
+ prompt.AddChoices([ ViewWork; SaveWork; EditWorkName; EditMovements; DeleteWork ])
|> ignore
AnsiConsole.Prompt(prompt)
member this.HandleSingleWork(work: Work) : Result =
- let rec loop (Work (name, cTracks) as work) =
+ let rec loop (Work(name, cTracks) as work) =
match (this.PromptWorkOperation work) with
| SaveWork ->
log.Debug("Applying work: {Name}", name)
diff --git a/src/RoonTagger.Cli/Commands/SetTagsCmd.fs b/src/RoonTagger.Cli/Commands/SetTagsCmd.fs
index dc7374a..c11b907 100644
--- a/src/RoonTagger.Cli/Commands/SetTagsCmd.fs
+++ b/src/RoonTagger.Cli/Commands/SetTagsCmd.fs
@@ -48,11 +48,7 @@ let extractTags (opts: ParseResults) =
let yearTag = opts.TryGetResult Year |> Option.map Metadata.Year
- [ titleTag
- composerTag
- importDateTag
- ordTag
- yearTag ]
+ [ titleTag; composerTag; importDateTag; ordTag; yearTag ]
|> List.filter Option.isSome
|> List.map Option.get // safe as we filtered out the None tags.
diff --git a/src/RoonTagger.Cli/Configuration.fs b/src/RoonTagger.Cli/Configuration.fs
index 349c60c..2d5ebcd 100644
--- a/src/RoonTagger.Cli/Configuration.fs
+++ b/src/RoonTagger.Cli/Configuration.fs
@@ -40,11 +40,7 @@ let getConfigFilePath (dir: string) (baseName: string) (version: ConfigurationVe
/// Loads the configuration files if exists.
let loadConfig (path: string) : Result =
- let configFile =
- if File.Exists path then
- Some path
- else
- None
+ let configFile = if File.Exists path then Some path else None
try
configFile
@@ -78,8 +74,7 @@ let saveConfig (config: ConfigurationV1) (path: string) : Result ignore |> Ok
- with
- | ex ->
+ with ex ->
log.Error("Create configuration directory: {Ex}", ex)
Error(CliIOError $"Error creating config directory: {ex.Message}")
@@ -89,16 +84,14 @@ let saveConfig (config: ConfigurationV1) (path: string) : Result Ok
else
Ok()
- with
- | ex ->
+ with ex ->
log.Error("Backing up configuration: {Ex}", ex)
Error(CliIOError $"Error backing up old config: {ex.Message}")
do!
try
File.WriteAllText(path, contents) |> Ok
- with
- | ex ->
+ with ex ->
log.Error("Saving configuration: {Ex}", ex)
Error(CliIOError $"Error saving configuration: {ex.Message}")
}
diff --git a/src/RoonTagger.Cli/Output.fs b/src/RoonTagger.Cli/Output.fs
index 58e3616..8a75412 100644
--- a/src/RoonTagger.Cli/Output.fs
+++ b/src/RoonTagger.Cli/Output.fs
@@ -9,7 +9,7 @@ let error2String (err: MetadataErrors) : string =
| FileDoesNotExist err -> err
| InvalidFileFormat err -> err
| UnexpectedError err -> sprintf "Unexpected error: %s" err
- | DeletingNonExistingPersonnel (track, err) -> $"'{track.Path}': Trying to delete non existing credit: {err}"
+ | DeletingNonExistingPersonnel(track, err) -> $"'{track.Path}': Trying to delete non existing credit: {err}"
| FileSaveError err -> $"Error saving file: {err}"
| MissingOrInvalidTag tag -> $"Missing or invalid tag: {tag.ToString()}"
| UnsupportedRole role -> $"Role '{role}' is not a valid role according to Roon's wiki."
diff --git a/src/RoonTagger.Cli/Program.fs b/src/RoonTagger.Cli/Program.fs
index 9437b7c..addbe09 100644
--- a/src/RoonTagger.Cli/Program.fs
+++ b/src/RoonTagger.Cli/Program.fs
@@ -28,7 +28,6 @@ let main argv =
|> function
| Ok _ -> 0
| _ -> 1
- with
- | ex ->
+ with ex ->
AnsiConsole.WriteException(ex)
1
diff --git a/src/RoonTagger.Cli/Resources/Completions/roon-tagger-completion.ps1 b/src/RoonTagger.Cli/Resources/Completions/roon-tagger-completion.ps1
index 21d99f2..6d908a7 100644
--- a/src/RoonTagger.Cli/Resources/Completions/roon-tagger-completion.ps1
+++ b/src/RoonTagger.Cli/Resources/Completions/roon-tagger-completion.ps1
@@ -51,7 +51,7 @@ Register-ArgumentCompleter -Native -CommandName 'roon-tagger' -ScriptBlock {
[CompletionResult]::new('--title', 'title', [CompletionResultType]::ParameterName, 'The title to set')
[CompletionResult]::new('--import-date', 'import-date', [CompletionResultType]::ParameterName, 'The date the track was imported to roon')
[CompletionResult]::new('--release-date', 'release-date', [CompletionResultType]::ParameterName, 'The release date of the track/album')
- [CompletionResult]::new('--compser', 'compser', [CompletionResultType]::ParameterName, 'The composer to set (also as credits)')
+ [CompletionResult]::new('--composer', 'composer', [CompletionResultType]::ParameterName, 'The composer to set (also as credits)')
[CompletionResult]::new('--year', 'year', [CompletionResultType]::ParameterName, 'Album release date')
[CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose output')
[CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information')
diff --git a/src/RoonTagger.Cli/TagsInFile.fs b/src/RoonTagger.Cli/TagsInFile.fs
index ee97618..bf95aa5 100644
--- a/src/RoonTagger.Cli/TagsInFile.fs
+++ b/src/RoonTagger.Cli/TagsInFile.fs
@@ -38,8 +38,7 @@ let writeValues (lines: string list) path =
try
File.WriteAllLines(path, lines)
Ok path
- with
- | ex ->
+ with ex ->
log.Error("Writing tags edit file: {Ex}", ex)
[ CliIOError $"Error writing tags edit file: {ex.Message}" ] |> Error
@@ -47,8 +46,7 @@ let writeValues (lines: string list) path =
let readValues path =
try
File.ReadAllLines(path) |> List.ofArray |> Ok
- with
- | ex ->
+ with ex ->
log.Error("Reading tags edit file: {Ex}", ex)
[ CliIOError $"Error reading tags edit file: {ex.Message}" ] |> Error
@@ -60,12 +58,9 @@ let editTagsWithEditor editorCommand path =
let cleanup path =
try
- if File.Exists path then
- File.Delete path
-
+ if File.Exists path then File.Delete path
Ok()
- with
- | ex ->
+ with ex ->
log.Error("Cleanup tags edit file: {Ex}", ex)
Error [ CliIOError $"Error deleting tags edit file: {ex.Message}" ]
@@ -75,8 +70,8 @@ let applyValues (mkTag: string -> RoonTag) (ConsecutiveTracks tracks) (values: s
try
List.zip tracks values |> Ok
- with
- | :? System.ArgumentException -> [ TagsCountError ] |> Error
+ with :? System.ArgumentException ->
+ [ TagsCountError ] |> Error
|> Result.bind (
List.traverseResultM applyTrack
>> Result.mapError (fun err -> [ err ])