diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 68b85fe..38060e1 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -9,7 +9,7 @@ ] }, "paket": { - "version": "7.1.5", + "version": "8.0.3", "commands": [ "paket" ] diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f85d678 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,27 @@ +# top-most EditorConfig file +root = true + +[*] +end_of_line = lf + +[*.{fs,fsi,fsx}] +charset = utf-8 +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true +max_line_length = 120 +insert_final_newline = true + +[*.{proto,props,targets,fsproj,csproj}] +indent_size = 2 +indent_style = space +trim_trailing_whitespace = true +insert_final_newline = true + +[*.{yml,json,md,sh,ps1}] +trim_trailing_whitespace = true +insert_final_newline = true + +[{Dockerfile,.editorconfig,.gitignore}] +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77c1967..8328915 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,21 +6,22 @@ jobs: build-windows: name: CI (Windows) runs-on: windows-latest + timeout-minutes: 25 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-dotnet@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-dotnet@v3 with: - dotnet-version: '6.0.400' + dotnet-version: 8.0.x - name: Restore run: | dotnet tool restore dotnet paket restore - name: Build - run: dotnet fake build + run: .\build.cmd -t Build - name: Pack run: | - dotnet fake build -t PackAll + .\build.cmd -t PackAll - name: Upload artifacts uses: actions/upload-artifact@v2 with: @@ -28,29 +29,28 @@ jobs: path: artifacts - name: Test run: | - dotnet fake build -t Test -- Release + .\build.cmd -t Test -- Release build-macos: name: CI (macOS) runs-on: macos-latest + timeout-minutes: 25 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-dotnet@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-dotnet@v3 with: - dotnet-version: '6.0.400' - - name: Install workloads - run: | - dotnet tool restore - sudo dotnet workload install macos + dotnet-version: 8.0.x - name: Restore run: | + sudo dotnet workload install macos dotnet tool restore dotnet paket restore + dotnet restore Interstellar.MacOS.sln - name: Build - run: dotnet fake build -- Release + run: ./build.sh -t Build - name: Pack - run: dotnet fake build -t PackAll -- Release + run: ./build.sh -t PackAll - name: Upload artifacts uses: actions/upload-artifact@v2 with: @@ -58,4 +58,4 @@ jobs: path: artifacts/ - name: Test run: | - dotnet fake build -t Test -- Release + ./build.sh -t Test diff --git a/.gitignore b/.gitignore index e67a654..311f7a6 100644 --- a/.gitignore +++ b/.gitignore @@ -415,4 +415,4 @@ output/ temp/ # CEF -GPUCache/ \ No newline at end of file +GPUCache/ diff --git a/AssemblyAndPackageInfo.props b/AssemblyAndPackageInfo.props index e30f659..90dd9de 100644 --- a/AssemblyAndPackageInfo.props +++ b/AssemblyAndPackageInfo.props @@ -16,4 +16,4 @@ - \ No newline at end of file + diff --git a/Examples/Examples.macOS.WebKit/Examples.macOS.WebKit.fsproj b/Examples/Examples.macOS.WebKit/Examples.macOS.WebKit.fsproj index 9b08cf8..0cba5ea 100644 --- a/Examples/Examples.macOS.WebKit/Examples.macOS.WebKit.fsproj +++ b/Examples/Examples.macOS.WebKit/Examples.macOS.WebKit.fsproj @@ -1,11 +1,11 @@  - net6.0-macos + net8.0-macos Exe Example.macOS.WebKit InterstellarExample - 10.14 + 10.15 false @@ -29,4 +29,4 @@ - \ No newline at end of file + diff --git a/Examples/Examples.macOS.WebKit/Info.plist b/Examples/Examples.macOS.WebKit/Info.plist index 5ea8ca0..bba532f 100644 --- a/Examples/Examples.macOS.WebKit/Info.plist +++ b/Examples/Examples.macOS.WebKit/Info.plist @@ -11,7 +11,7 @@ CFBundleVersion 1 LSMinimumSystemVersion - 10.14 + 10.15 CFBundleDevelopmentRegion en CFBundleInfoDictionaryVersion diff --git a/Interstellar.MacOS.sln b/Interstellar.MacOS.sln index d6adadc..4324ed7 100644 --- a/Interstellar.MacOS.sln +++ b/Interstellar.MacOS.sln @@ -7,7 +7,6 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Examples.SharedCode", "Exam EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BE6ABDEA-53B5-4D1C-9E46-6B783CD97234}" ProjectSection(SolutionItems) = preProject - global.json = global.json AssemblyAndPackageInfo.props = AssemblyAndPackageInfo.props paket.dependencies = paket.dependencies EndProjectSection @@ -16,6 +15,10 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Examples.macOS.WebKit", "Ex EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Interstellar.MacOS.WebKit", "src\Interstellar.MacOS.WebKit\Interstellar.MacOS.WebKit.fsproj", "{77FAE56F-23ED-4B30-B961-BBC7B492AAFE}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{2B1A37B9-3FA4-4FA3-A26F-32F2B5C2CF91}" +EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "build", "build\build.fsproj", "{684CD76F-3338-42D4-8D53-0DA6F5F03C69}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -42,5 +45,12 @@ Global {77FAE56F-23ED-4B30-B961-BBC7B492AAFE}.Debug|Any CPU.Build.0 = Debug|Any CPU {77FAE56F-23ED-4B30-B961-BBC7B492AAFE}.Release|Any CPU.ActiveCfg = Release|Any CPU {77FAE56F-23ED-4B30-B961-BBC7B492AAFE}.Release|Any CPU.Build.0 = Release|Any CPU + {684CD76F-3338-42D4-8D53-0DA6F5F03C69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {684CD76F-3338-42D4-8D53-0DA6F5F03C69}.Debug|Any CPU.Build.0 = Debug|Any CPU + {684CD76F-3338-42D4-8D53-0DA6F5F03C69}.Release|Any CPU.ActiveCfg = Release|Any CPU + {684CD76F-3338-42D4-8D53-0DA6F5F03C69}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {684CD76F-3338-42D4-8D53-0DA6F5F03C69} = {2B1A37B9-3FA4-4FA3-A26F-32F2B5C2CF91} EndGlobalSection EndGlobal diff --git a/build.cmd b/build.cmd new file mode 100644 index 0000000..e814f8e --- /dev/null +++ b/build.cmd @@ -0,0 +1 @@ +dotnet run --project ./build/build.fsproj -- %* diff --git a/build.fsx.lock b/build.fsx.lock deleted file mode 100644 index 0ae5802..0000000 --- a/build.fsx.lock +++ /dev/null @@ -1,681 +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.Core.CommandLineParsing (5.19.1) - FParsec (>= 1.0.3) - FSharp.Core (>= 4.7) - Fake.Core.Context (5.19.1) - FSharp.Core (>= 4.7) - Fake.Core.Environment (5.19.1) - FSharp.Core (>= 4.7) - Fake.Core.FakeVar (5.19.1) - Fake.Core.Context (>= 5.19.1) - FSharp.Core (>= 4.7) - Fake.Core.Process (5.19.1) - Fake.Core.Environment (>= 5.19.1) - Fake.Core.FakeVar (>= 5.19.1) - Fake.Core.String (>= 5.19.1) - Fake.Core.Trace (>= 5.19.1) - Fake.IO.FileSystem (>= 5.19.1) - FSharp.Core (>= 4.7) - System.Diagnostics.Process (>= 4.3) - Fake.Core.SemVer (5.19.1) - FSharp.Core (>= 4.7) - System.Runtime.Numerics (>= 4.3) - Fake.Core.String (5.19.1) - FSharp.Core (>= 4.7) - Fake.Core.Target (5.19.1) - Fake.Core.CommandLineParsing (>= 5.19.1) - Fake.Core.Context (>= 5.19.1) - Fake.Core.Environment (>= 5.19.1) - Fake.Core.FakeVar (>= 5.19.1) - Fake.Core.Process (>= 5.19.1) - Fake.Core.String (>= 5.19.1) - Fake.Core.Trace (>= 5.19.1) - FSharp.Control.Reactive (>= 4.2) - FSharp.Core (>= 4.7) - System.Reactive.Compatibility (>= 4.3.1) - Fake.Core.Tasks (5.19.1) - Fake.Core.Trace (>= 5.19.1) - FSharp.Core (>= 4.7) - Fake.Core.Trace (5.19.1) - Fake.Core.Environment (>= 5.19.1) - Fake.Core.FakeVar (>= 5.19.1) - FSharp.Core (>= 4.7) - Fake.Core.Xml (5.19.1) - Fake.Core.String (>= 5.19.1) - FSharp.Core (>= 4.7) - System.Xml.ReaderWriter (>= 4.3.1) - System.Xml.XDocument (>= 4.3) - System.Xml.XPath (>= 4.3) - System.Xml.XPath.XDocument (>= 4.3) - System.Xml.XPath.XmlDocument (>= 4.3) - Fake.DotNet.Cli (5.19.1) - Fake.Core.Environment (>= 5.19.1) - Fake.Core.Process (>= 5.19.1) - Fake.Core.String (>= 5.19.1) - Fake.Core.Trace (>= 5.19.1) - Fake.DotNet.MSBuild (>= 5.19.1) - Fake.DotNet.NuGet (>= 5.19.1) - Fake.IO.FileSystem (>= 5.19.1) - FSharp.Core (>= 4.7) - Mono.Posix.NETStandard (>= 1.0) - Newtonsoft.Json (>= 12.0.3) - Fake.DotNet.MSBuild (5.19.1) - BlackFox.VsWhere (>= 1.0) - Fake.Core.Environment (>= 5.19.1) - Fake.Core.Process (>= 5.19.1) - Fake.Core.String (>= 5.19.1) - Fake.Core.Trace (>= 5.19.1) - Fake.IO.FileSystem (>= 5.19.1) - FSharp.Core (>= 4.7) - MSBuild.StructuredLogger (>= 2.0.152) - Fake.DotNet.NuGet (5.19.1) - Fake.Core.Environment (>= 5.19.1) - Fake.Core.Process (>= 5.19.1) - Fake.Core.SemVer (>= 5.19.1) - Fake.Core.String (>= 5.19.1) - Fake.Core.Tasks (>= 5.19.1) - Fake.Core.Trace (>= 5.19.1) - Fake.Core.Xml (>= 5.19.1) - Fake.IO.FileSystem (>= 5.19.1) - Fake.Net.Http (>= 5.19.1) - FSharp.Core (>= 4.7) - Newtonsoft.Json (>= 12.0.3) - NuGet.Protocol (>= 4.9.4) - System.Net.Http (>= 4.3.4) - Fake.DotNet.Paket (5.19.1) - Fake.Core.Process (>= 5.19.1) - Fake.Core.String (>= 5.19.1) - Fake.Core.Trace (>= 5.19.1) - Fake.DotNet.Cli (>= 5.19.1) - Fake.IO.FileSystem (>= 5.19.1) - FSharp.Core (>= 4.7) - Fake.IO.FileSystem (5.19.1) - Fake.Core.String (>= 5.19.1) - FSharp.Core (>= 4.7) - System.Diagnostics.FileVersionInfo (>= 4.3) - System.IO.FileSystem.Watcher (>= 4.3) - Fake.Net.Http (5.19.1) - Fake.Core.Trace (>= 5.19.1) - FSharp.Core (>= 4.7) - System.Net.Http (>= 4.3.4) - Fake.Tools.Git (5.19.1) - Fake.Core.Environment (>= 5.19.1) - Fake.Core.Process (>= 5.19.1) - Fake.Core.SemVer (>= 5.19.1) - Fake.Core.String (>= 5.19.1) - Fake.Core.Trace (>= 5.19.1) - Fake.IO.FileSystem (>= 5.19.1) - FSharp.Core (>= 4.7) - FParsec (1.1.1) - FSharp.Core (>= 4.3.4) - FSharp.Control.Reactive (4.4) - FSharp.Core (>= 4.7) - System.Reactive (>= 4.3.2) - FSharp.Core (4.7) - FSharp.Data (3.3.3) - FSharp.Core (>= 4.3.4) - Microsoft.Build (17.2) - Microsoft.Build.Framework (>= 17.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) - Microsoft.NET.StringTools (>= 1.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) - Microsoft.Win32.Registry (>= 4.3) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) - System.Collections.Immutable (>= 5.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) - System.Configuration.ConfigurationManager (>= 4.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) - System.Reflection.Metadata (>= 1.6) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) - System.Security.Principal.Windows (>= 4.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) - System.Text.Encoding.CodePages (>= 4.0.1) - 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.2) - Microsoft.Win32.Registry (>= 4.3) - System.Security.Permissions (>= 4.7) - Microsoft.Build.Tasks.Core (17.2) - Microsoft.Build.Framework (>= 17.2) - Microsoft.Build.Utilities.Core (>= 17.2) - Microsoft.NET.StringTools (>= 1.0) - Microsoft.Win32.Registry (>= 4.3) - System.CodeDom (>= 4.4) - System.Collections.Immutable (>= 5.0) - System.Reflection.Metadata (>= 1.6) - System.Resources.Extensions (>= 4.6) - System.Security.Cryptography.Pkcs (>= 4.7) - System.Security.Cryptography.Xml (>= 4.7) - System.Security.Permissions (>= 4.7) - System.Threading.Tasks.Dataflow (>= 6.0) - Microsoft.Build.Utilities.Core (17.2) - Microsoft.Build.Framework (>= 17.2) - Microsoft.NET.StringTools (>= 1.0) - Microsoft.Win32.Registry (>= 4.3) - System.Collections.Immutable (>= 5.0) - System.Configuration.ConfigurationManager (>= 4.7) - System.Security.Permissions (>= 4.7) - restriction: == netstandard2.0 - System.Text.Encoding.CodePages (>= 4.0.1) - restriction: == netstandard2.0 - Microsoft.NET.StringTools (1.0) - System.Memory (>= 4.5.4) - System.Runtime.CompilerServices.Unsafe (>= 5.0) - Microsoft.NETCore.Platforms (6.0.3) - Microsoft.NETCore.Targets (5.0) - Microsoft.Win32.Primitives (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - 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.2) - NuGet.Frameworks (>= 6.2) - NuGet.Configuration (6.2) - NuGet.Common (>= 6.2) - System.Security.Cryptography.ProtectedData (>= 4.4) - NuGet.Frameworks (6.2) - NuGet.Packaging (6.2) - Newtonsoft.Json (>= 13.0.1) - NuGet.Configuration (>= 6.2) - NuGet.Versioning (>= 6.2) - System.Security.Cryptography.Cng (>= 5.0) - System.Security.Cryptography.Pkcs (>= 5.0) - NuGet.Protocol (6.2) - NuGet.Packaging (>= 6.2) - NuGet.Versioning (6.2) - runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.native.System (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.Net.Http (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.Security.Cryptography.Apple (4.3.1) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) - runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3.1) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - 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.CodeDom (6.0) - System.Collections (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Collections.Concurrent (4.3) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Diagnostics.Tracing (>= 4.3) - System.Globalization (>= 4.3) - System.Reflection (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Collections.Immutable (6.0) - System.Runtime.CompilerServices.Unsafe (>= 6.0) - System.Configuration.ConfigurationManager (6.0) - System.Security.Cryptography.ProtectedData (>= 6.0) - System.Security.Permissions (>= 6.0) - System.Diagnostics.Debug (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Diagnostics.DiagnosticSource (6.0) - System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< net5.0)) (== netstandard2.0) - System.Runtime.CompilerServices.Unsafe (>= 6.0) - System.Diagnostics.FileVersionInfo (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.IO.FileSystem (>= 4.3) - System.IO.FileSystem.Primitives (>= 4.3) - System.Reflection.Metadata (>= 1.4.1) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Diagnostics.Process (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.Win32.Primitives (>= 4.3) - Microsoft.Win32.Registry (>= 4.3) - runtime.native.System (>= 4.3) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.IO.FileSystem (>= 4.3) - System.IO.FileSystem.Primitives (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Text.Encoding.Extensions (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Threading.Thread (>= 4.3) - System.Threading.ThreadPool (>= 4.3) - System.Diagnostics.Tools (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Diagnostics.Tracing (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - 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.Globalization (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Globalization.Calendars (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Globalization (>= 4.3) - System.Runtime (>= 4.3) - System.Globalization.Extensions (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - System.Globalization (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.IO (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.IO.FileSystem (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.IO (>= 4.3) - System.IO.FileSystem.Primitives (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.IO.FileSystem.Primitives (4.3) - System.Runtime (>= 4.3) - System.IO.FileSystem.Watcher (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.Win32.Primitives (>= 4.3) - runtime.native.System (>= 4.3) - System.Collections (>= 4.3) - System.IO.FileSystem (>= 4.3) - System.IO.FileSystem.Primitives (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Overlapped (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Threading.Thread (>= 4.3) - System.Linq (4.3) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - 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.Net.Http (4.3.4) - Microsoft.NETCore.Platforms (>= 1.1.1) - runtime.native.System (>= 4.3) - runtime.native.System.Net.Http (>= 4.3) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Diagnostics.DiagnosticSource (>= 4.3) - System.Diagnostics.Tracing (>= 4.3) - System.Globalization (>= 4.3) - System.Globalization.Extensions (>= 4.3) - System.IO (>= 4.3) - System.IO.FileSystem (>= 4.3) - System.Net.Primitives (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Security.Cryptography.Algorithms (>= 4.3) - System.Security.Cryptography.Encoding (>= 4.3) - System.Security.Cryptography.OpenSsl (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Security.Cryptography.X509Certificates (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Net.Primitives (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - System.Runtime (>= 4.3.1) - System.Runtime.Handles (>= 4.3) - System.Numerics.Vectors (4.5) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (>= uap10.1)) (== 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.Reactive.Compatibility (5.0) - System.Reactive.Core (>= 5.0) - System.Reactive.Interfaces (>= 5.0) - System.Reactive.Linq (>= 5.0) - System.Reactive.PlatformServices (>= 5.0) - System.Reactive.Providers (>= 5.0) - System.Reactive.Core (5.0) - System.Reactive (>= 5.0) - System.Threading.Tasks.Extensions (>= 4.5.4) - System.Reactive.Interfaces (5.0) - System.Reactive (>= 5.0) - System.Threading.Tasks.Extensions (>= 4.5.4) - System.Reactive.Linq (5.0) - System.Reactive (>= 5.0) - System.Threading.Tasks.Extensions (>= 4.5.4) - System.Reactive.PlatformServices (5.0) - System.Reactive (>= 5.0) - System.Threading.Tasks.Extensions (>= 4.5.4) - System.Reactive.Providers (5.0) - System.Reactive (>= 5.0) - System.Threading.Tasks.Extensions (>= 4.5.4) - System.Reflection (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.IO (>= 4.3) - System.Reflection.Primitives (>= 4.3) - System.Runtime (>= 4.3) - System.Reflection.Metadata (6.0.1) - System.Collections.Immutable (>= 6.0) - System.Reflection.Primitives (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Resources.Extensions (6.0) - System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) - System.Resources.ResourceManager (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Globalization (>= 4.3) - System.Reflection (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - System.Runtime.CompilerServices.Unsafe (6.0) - System.Runtime.Extensions (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1.1) - Microsoft.NETCore.Targets (>= 1.1.3) - System.Runtime (>= 4.3.1) - System.Runtime.Handles (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Runtime.InteropServices (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Reflection (>= 4.3) - System.Reflection.Primitives (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices.WindowsRuntime (4.3) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (== netstandard2.0) - System.Runtime (>= 4.3) - System.Runtime.Numerics (4.3) - System.Globalization (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Security.AccessControl (6.0) - System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (== net6.0) (>= net461)) (== netstandard2.0) - System.Security.Cryptography.Algorithms (4.3.1) - Microsoft.NETCore.Platforms (>= 1.1) - runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - System.Collections (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Runtime.Numerics (>= 4.3) - System.Security.Cryptography.Encoding (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Security.Cryptography.Cng (5.0) - System.Formats.Asn1 (>= 5.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.0)) - System.Security.Cryptography.Csp (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - System.IO (>= 4.3) - System.Reflection (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Security.Cryptography.Algorithms (>= 4.3) - System.Security.Cryptography.Encoding (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Security.Cryptography.Encoding (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - System.Collections (>= 4.3) - System.Collections.Concurrent (>= 4.3) - System.Linq (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Security.Cryptography.OpenSsl (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.Primitives (4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Threading (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Security.Cryptography.ProtectedData (6.0) - System.Security.Cryptography.X509Certificates (4.3.2) - Microsoft.NETCore.Platforms (>= 1.1) - runtime.native.System (>= 4.3) - runtime.native.System.Net.Http (>= 4.3) - runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.Globalization.Calendars (>= 4.3) - System.IO (>= 4.3) - System.IO.FileSystem (>= 4.3) - System.IO.FileSystem.Primitives (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Runtime.Numerics (>= 4.3) - System.Security.Cryptography.Algorithms (>= 4.3) - System.Security.Cryptography.Cng (>= 4.3) - System.Security.Cryptography.Csp (>= 4.3) - System.Security.Cryptography.Encoding (>= 4.3) - System.Security.Cryptography.OpenSsl (>= 4.3) - System.Security.Cryptography.Primitives (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Security.Cryptography.Xml (6.0) - System.Memory (>= 4.5.4) - restriction: == netstandard2.0 - System.Security.AccessControl (>= 6.0) - System.Security.Cryptography.Pkcs (>= 6.0) - System.Security.Permissions (6.0) - System.Security.AccessControl (>= 6.0) - System.Windows.Extensions (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) - System.Security.Principal.Windows (5.0) - System.Text.Encoding (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Text.Encoding.CodePages (6.0) - System.Runtime.CompilerServices.Unsafe (>= 6.0) - System.Text.Encoding.Extensions (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Text.Encoding (>= 4.3) - 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.4) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net472)) (&& (== netstandard2.0) (>= net6.0)) - System.Runtime.CompilerServices.Unsafe (>= 6.0) - System.Text.Encodings.Web (>= 6.0) - System.Text.RegularExpressions (4.3.1) - System.Collections (>= 4.3) - restriction: || (&& (== net6.0) (< netcoreapp1.1)) (== netstandard2.0) - System.Globalization (>= 4.3) - restriction: || (&& (== net6.0) (< netcoreapp1.1)) (== netstandard2.0) - System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (== net6.0) (< netcoreapp1.1)) (== netstandard2.0) - System.Runtime (>= 4.3.1) - System.Runtime.Extensions (>= 4.3.1) - restriction: || (&& (== net6.0) (< netcoreapp1.1)) (== netstandard2.0) - System.Threading (>= 4.3) - restriction: || (&& (== net6.0) (< netcoreapp1.1)) (== netstandard2.0) - System.Threading (4.3) - System.Runtime (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Threading.Overlapped (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Threading.Tasks (4.3) - Microsoft.NETCore.Platforms (>= 1.1) - Microsoft.NETCore.Targets (>= 1.1) - System.Runtime (>= 4.3) - System.Threading.Tasks.Dataflow (6.0) - System.Threading.Tasks.Extensions (4.5.4) - 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.Threading.Thread (4.3) - System.Runtime (>= 4.3) - System.Threading.ThreadPool (4.3) - System.Runtime (>= 4.3) - System.Runtime.Handles (>= 4.3) - System.Windows.Extensions (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) - System.Drawing.Common (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= netcoreapp3.1)) - System.Xml.ReaderWriter (4.3.1) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.IO.FileSystem (>= 4.3) - System.IO.FileSystem.Primitives (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Runtime.InteropServices (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Text.Encoding.Extensions (>= 4.3) - System.Text.RegularExpressions (>= 4.3) - System.Threading.Tasks (>= 4.3) - System.Threading.Tasks.Extensions (>= 4.3) - System.Xml.XDocument (4.3) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Diagnostics.Tools (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Reflection (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Xml.ReaderWriter (>= 4.3) - System.Xml.XmlDocument (4.3) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Text.Encoding (>= 4.3) - System.Threading (>= 4.3) - System.Xml.ReaderWriter (>= 4.3) - System.Xml.XPath (4.3) - System.Collections (>= 4.3) - System.Diagnostics.Debug (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Threading (>= 4.3) - System.Xml.ReaderWriter (>= 4.3) - System.Xml.XPath.XDocument (4.3) - System.Diagnostics.Debug (>= 4.3) - System.Linq (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Threading (>= 4.3) - System.Xml.ReaderWriter (>= 4.3) - System.Xml.XDocument (>= 4.3) - System.Xml.XPath (>= 4.3) - System.Xml.XPath.XmlDocument (4.3) - System.Collections (>= 4.3) - System.Globalization (>= 4.3) - System.IO (>= 4.3) - System.Resources.ResourceManager (>= 4.3) - System.Runtime (>= 4.3) - System.Runtime.Extensions (>= 4.3) - System.Threading (>= 4.3) - System.Xml.ReaderWriter (>= 4.3) - System.Xml.XmlDocument (>= 4.3) - System.Xml.XPath (>= 4.3) diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..559f3a0 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +dotnet run --project build/build.fsproj -- "$@" diff --git a/nupkg-hack.fsx b/build/NupkgHack.fs similarity index 95% rename from nupkg-hack.fsx rename to build/NupkgHack.fs index 7c4a09d..3d12d0f 100644 --- a/nupkg-hack.fsx +++ b/build/NupkgHack.fs @@ -1,4 +1,5 @@ -#r "System.IO.Compression" +module build.NupkgHack + open System open System.IO open System.IO.Compression @@ -7,8 +8,6 @@ open System.Text.RegularExpressions open Fake.Core open Fake.IO -Environment.CurrentDirectory <- __SOURCE_DIRECTORY__ - let changeVersionConstraints text = Regex("(?<=id=\"Interstellar.+?\"\\s+version=\")[^[\\]]*?(?=\")") .Replace (text, MatchEvaluator(fun m -> sprintf "[%s]" m.Value)) @@ -42,4 +41,4 @@ let hackNupkgAtPath (path: string) = use file = File.Open (path, FileMode.Open, FileAccess.ReadWrite, FileShare.None) hackNupkgFromStream path file -//hackNupkgAtPath (Path.Combine ("artifacts", "Interstellar.Wpf.Chromium.nupkg")) \ No newline at end of file +//hackNupkgAtPath (Path.Combine ("artifacts", "Interstellar.Wpf.Chromium.nupkg")) diff --git a/build.fsx b/build/build.fs similarity index 59% rename from build.fsx rename to build/build.fs index 3405cbc..4396ffe 100644 --- a/build.fsx +++ b/build/build.fs @@ -1,25 +1,4 @@ -#load ".fake/build.fsx/intellisense.fsx" - -#if FAKE -#r "paket: -nuget FSharp.Core 4.7.0 -nuget FSharp.Data -nuget Fake.Core.Target -nuget Fake.DotNet.Cli -nuget Fake.DotNet.MSBuild -nuget Fake.DotNet.Paket -nuget Fake.Tools.Git //" -#endif -#load ".fake/build.fsx/intellisense.fsx" - -//#r "nuget: FSharp.Data" - -#if !FAKE -#r "netstandard" -// #r "Facades/netstandard" // https://github.com/ionide/ionide-vscode-fsharp/issues/839#issuecomment-396296095 -#endif - -#load "nupkg-hack.fsx" +module build.Main open System open System.Text.RegularExpressions @@ -32,9 +11,19 @@ open Fake.IO open Fake.IO.FileSystemOperators open Fake.IO.Globbing.Operators open Fake.Tools +open build -let srcDir = Path.Combine (__SOURCE_DIRECTORY__, "src") -let examplesDir = Path.Combine (__SOURCE_DIRECTORY__, "Examples") +let [] pathSep = + #if OS_WINDOWS + "\\" + #else + "/" + #endif +let [] repoDir = __SOURCE_DIRECTORY__ + pathSep + ".." + pathSep +let [] asmAndPackageInfoFilePath = "AssemblyAndPackageInfo.props" + +let srcDir = Path.Combine (repoDir, "src") +let examplesDir = Path.Combine (repoDir, "Examples") module Projects = let coreLib = Path.Combine (srcDir, "Interstellar.Core", "Interstellar.Core.fsproj") @@ -42,17 +31,18 @@ module Projects = let winFormsLib = Path.Combine (srcDir, "Interstellar.WinForms.Chromium", "Interstellar.WinForms.Chromium.fsproj") let wpfLib = Path.Combine (srcDir, "Interstellar.Wpf.Chromium", "Interstellar.Wpf.Chromium.fsproj") let macosWkLib = Path.Combine (srcDir, "Interstellar.macOS.WebKit", "Interstellar.macOS.WebKit.fsproj") - let wpfExampleApp = Path.Combine (examplesDir, "Examples.wpf.Chromium", "Examples.wpf.Chromium.fsproj") + let winFormsExampleApp = Path.Combine (examplesDir, "Examples.winForms.Chromium", "Examples.WinForms.Chromium.fsproj") + let wpfExampleApp = Path.Combine (examplesDir, "Examples.Wpf.Chromium", "Examples.Wpf.Chromium.fsproj") let macosExampleApp = Path.Combine (examplesDir, "Examples.macOS.WebKit", "Examples.macOS.WebKit.fsproj") module Solutions = - let windows = "Interstellar.Windows.sln" - let macos = "Interstellar.MacOS.sln" + let windows = Path.Combine (repoDir, "Interstellar.Windows.sln") + let macos = Path.Combine (repoDir, "Interstellar.MacOS.sln") -let artifactsPath = Path.Combine (__SOURCE_DIRECTORY__, "artifacts") +let artifactsPath = Path.Combine (repoDir, "artifacts") module Templates = - let path = Path.Combine (__SOURCE_DIRECTORY__, "templates") + let path = Path.Combine (repoDir, "templates") let nuspecPaths = !! (Path.Combine (path, "*.nuspec")) let allProjects = @@ -65,10 +55,9 @@ module Templates = !! (Path.Combine (path, "**/*macos*.fsproj")) |> Seq.map (fun p -> p) -let [] _srcDir = __SOURCE_DIRECTORY__ -type PackageInfo = XmlProvider<"AssemblyAndPackageInfo.props", ResolutionFolder=_srcDir> -let packageInfo = PackageInfo.Load(Path.Combine(__SOURCE_DIRECTORY__, "AssemblyAndPackageInfo.props")) -let packageProps = packageInfo.PropertyGroup +type PackageInfo = XmlProvider +let packageInfo = lazy(PackageInfo.Load(Path.Combine(repoDir, asmAndPackageInfoFilePath))) +let packageProps = lazy(packageInfo.Force().PropertyGroup) let projAsTarget (projFileName: string) = projFileName.Split('/').[0].Replace(".", "_") @@ -85,7 +74,7 @@ let quiet (defaults: DotNet.BuildOptions) = { defaults with MSBuildParams = { de type PackageVersionInfo = { versionName: string; versionChanges: string } let scrapeChangelog () = - let changelog = System.IO.File.ReadAllText "CHANGELOG.md" + let changelog = System.IO.File.ReadAllText (Path.Combine (repoDir, "CHANGELOG.md")) let regex = Regex("""## (?.*)\n+(?(.|\n)*?)##""") let result = seq { for m in regex.Matches changelog -> @@ -98,18 +87,18 @@ let scrapeChangelog () = } result -let changelog = scrapeChangelog () |> Seq.toList -let currentVersionInfo = changelog.[0] +let changelog = lazy (scrapeChangelog () |> Seq.toList) +let currentVersionInfo = lazy (changelog.Force()[0]) /// Indicates the extra version number that's added to the template package. When releasing a new version of Interstellar, reset this to 0. Whenever making a /// change to just the template, increment this. let currentTemplateMinorVersion = 1 -let asmPkgInfo = System.IO.File.ReadAllText "AssemblyAndPackageInfo.props" +let asmPkgInfo = lazy (System.IO.File.ReadAllText "AssemblyAndPackageInfo.props") // Extract assembly info property value let extractAsmPkgInfoProp propName = - let r = new Regex(sprintf "(<%s>)(?'value'.*)()" propName propName) - r.Match(asmPkgInfo).Groups.["value"].Value + let r = Regex(sprintf "(<%s>)(?'value'.*)()" propName propName) + r.Match(asmPkgInfo.Force()).Groups.["value"].Value let addProperties props (defaults: DotNet.BuildOptions) = { defaults with MSBuildParams = { defaults.MSBuildParams with Properties = [yield! defaults.MSBuildParams.Properties; yield! props]} } @@ -123,7 +112,7 @@ let addVersionInfo (versionInfo: PackageVersionInfo) = "VersionPrefix", versionPrefix match versionSuffix with Some versionSuffix -> "VersionSuffix", versionSuffix | _ -> () "PackageReleaseNotes", versionInfo.versionChanges - ] + ] let projects = [ yield Projects.coreLib @@ -131,37 +120,41 @@ let projects = [ if Environment.isMacOS then yield! [Projects.macosWkLib] ] -let buildOptions setParams = - let buildMode = Environment.environVarOrDefault "buildMode" "Release" - let commit = Git.Information.getCurrentSHA1 __SOURCE_DIRECTORY__ +let msBuildCfg (args: TargetParameter) = + args.Context.Arguments + |> List.tryPick (fun x -> if x.ToLower () = "debug" then Some "Debug" else None) + |> Option.defaultValue "Release" + +let buildOptions args setParams = + let buildMode = msBuildCfg args + let commit = Git.Information.getCurrentSHA1 repoDir quiet << setParams << addProperties ["Configuration", buildMode; "RepositoryCommit", commit] << - addVersionInfo currentVersionInfo << setParams + addVersionInfo (currentVersionInfo.Force()) << setParams -let dotnetBuild (setParams: DotNet.BuildOptions -> DotNet.BuildOptions) project = project |> DotNet.build (buildOptions setParams) +let dotnetBuild args (setParams: DotNet.BuildOptions -> DotNet.BuildOptions) project = project |> DotNet.build (buildOptions args setParams) // *** Define Targets *** -Target.create "PackageDescription" (fun _ -> +let PackageDescription _ = let changelog = scrapeChangelog () let currentVersion = Seq.head changelog let str = sprintf "Changes in package version %s\n%s" currentVersion.versionName currentVersion.versionChanges Trace.log str -) let doRestore (dotnetBuildOptions: DotNet.BuildOptions) = { dotnetBuildOptions with MSBuildParams = { dotnetBuildOptions.MSBuildParams with DoRestore = true } } let getNupkgPath version (projPath: string) = let vstr = match version with Some v -> sprintf ".%s" v | None -> "" let projDir = Path.GetDirectoryName projPath - Path.Combine ([|projDir; "bin"; "Release"; - sprintf "%s%s.nupkg" (Path.GetFileNameWithoutExtension projPath) vstr|]) + Path.Combine [|projDir; "bin"; "Release"; + sprintf "%s%s.nupkg" (Path.GetFileNameWithoutExtension projPath) vstr|] -Target.create "Clean" (fun args -> +let Clean args = Trace.log " --- Cleaning --- " for proj in projects do - let vstr = currentVersionInfo.versionName + let vstr = currentVersionInfo.Force().versionName File.delete (getNupkgPath (Some vstr) proj) !! (Path.Combine (artifactsPath, "**/*.nupkg")) |> File.deleteAll let projects = @@ -169,85 +162,91 @@ Target.create "Clean" (fun args -> else if Environment.isMacOS then [ yield Solutions.macos; for p in Templates.macosProjects -> p ] else [] for proj in projects do - dotnetBuild (addTarget "Clean") proj + dotnetBuild args (addTarget "Clean") proj Shell.deleteDir ".fsdocs" Shell.deleteDir "output" Shell.deleteDir "temp" -) -Target.create "Restore" (fun _ -> +let Restore _ = DotNet.exec id "tool" "restore" |> ignore let proj = if Environment.isWindows then Solutions.windows else if Environment.isMacOS then Solutions.macos else failwithf "Platform not supported" - DotNet.restore id proj |> ignore -) - -Target.create "Build" (fun args -> + // let projects = [ + // Projects.coreLib + // if Environment.isWindows then + // Projects.winFormsLib + // Projects.wpfLib + // Projects.winFormsExampleApp + // Projects.wpfExampleApp + // elif Environment.isMacOS then + // Projects.macosWkLib + // Projects.macosExampleApp + // ] + // for proj in projects do + // Trace.logf $"Restoring: %s{proj}" + // DotNet.restore id proj + DotNet.restore id proj + +let Build args = Trace.log " --- Building --- " // if Environment.isWindows then // msbuild (addTarget "Restore") Solutions.windows // else // msbuild (addTarget "Restore") Solutions.macos if Environment.isWindows then - dotnetBuild (addTarget "Restore") Solutions.windows + dotnetBuild args (addTarget "Restore") Solutions.windows else - dotnetBuild (addTarget "Restore") Solutions.macos + dotnetBuild args (addTarget "Restore") Solutions.macos if Environment.isWindows then - dotnetBuild (doRestore << addTarget "Build") Projects.winFormsLib - dotnetBuild (doRestore << addTarget "Build") Projects.wpfLib + dotnetBuild args (doRestore << addTarget "Build") Projects.winFormsLib + dotnetBuild args (doRestore << addTarget "Build") Projects.wpfLib else if Environment.isMacOS then - dotnetBuild (doRestore << addTarget "Build") Projects.macosWkLib -) + dotnetBuild args (doRestore << addTarget "Build") Projects.macosWkLib -Target.create "Run" (fun _ -> +let Run args = Trace.log " --- Running example app --- " if Environment.isWindows then DotNet.exec id "run" ("-p " + Projects.wpfExampleApp) |> ignore else Shell.cd (Path.GetDirectoryName Projects.macosExampleApp) - dotnetBuild (addTarget "Run") Projects.macosExampleApp -) + dotnetBuild args (addTarget "Run") Projects.macosExampleApp -Target.create "Test" (fun _ -> +let Test _ = Trace.log " --- Running tests --- " // TODO: add some tests! -) -Target.create "BuildDocs" (fun _ -> +let BuildDocs _ = Trace.log " --- Building documentation --- " let result = DotNet.exec id "fsdocs" ("build --clean --projects=" + Projects.coreLib + " --property Configuration=Release") Trace.logfn "%s" (result.ToString()) -) -Target.create "ReleaseDocs" (fun _ -> +let ReleaseDocs _ = Trace.log "--- Releasing documentation --- " - Git.CommandHelper.runSimpleGitCommand "." (sprintf "clone %s temp/gh-pages --depth 1 -b gh-pages" packageProps.RepositoryUrl) |> ignore + Git.CommandHelper.runSimpleGitCommand "." (sprintf "clone %s temp/gh-pages --depth 1 -b gh-pages" (packageProps.Force().RepositoryUrl)) |> ignore Shell.copyRecursive "output" "temp/gh-pages" true |> printfn "%A" Git.CommandHelper.runSimpleGitCommand "temp/gh-pages" "add ." |> printfn "%s" let commit = Git.Information.getCurrentHash () Git.CommandHelper.runSimpleGitCommand "temp/gh-pages" - (sprintf """commit -a -m "Update generated docs for version %s from %s" """ currentVersionInfo.versionName commit) + (sprintf """commit -a -m "Update generated docs for version %s from %s" """ (currentVersionInfo.Force().versionName) commit) |> printfn "%s" Git.Branches.pushBranch "temp/gh-pages" "origin" "gh-pages" -) -Target.create "Pack" (fun args -> +let Pack args = Trace.log " --- Packing NuGet packages --- " - let props = ["SolutionDir", __SOURCE_DIRECTORY__; "RepositoryCommit", Git.Information.getCurrentSHA1 __SOURCE_DIRECTORY__] - let dotnetBuild f = dotnetBuild (doRestore << addTargets ["Pack"] << addProperties props << f) - Trace.log (sprintf "PROJECT LIST: %A" projects) + let props = ["SolutionDir", repoDir; "RepositoryCommit", Git.Information.getCurrentSHA1 repoDir] + let dotnetBuild f = dotnetBuild args (doRestore << addTargets ["Pack"] << addProperties props << f) + Trace.logf "PROJECT LIST: %A" projects for proj in projects do dotnetBuild id proj // Collect all generated package archives into a common folder - let vstr = currentVersionInfo.versionName + let vstr = currentVersionInfo.Force().versionName let oldNupkgPath = getNupkgPath (Some vstr) proj Shell.mkdir artifactsPath Shell.moveFile artifactsPath oldNupkgPath // see https://github.com/fsprojects/Interstellar/issues/3 !! (Path.Combine (artifactsPath, "**", "*.nupkg")) - |> Seq.iter (``Nupkg-hack``.hackNupkgAtPath) -) + |> Seq.iter (NupkgHack.hackNupkgAtPath) -Target.create "BuildTemplateProjects" (fun args -> +let BuildTemplateProjects args = Trace.log " --- Building template projects --- " if Environment.isWindows then let p = [ yield! Templates.winProjects ] @@ -258,12 +257,12 @@ Target.create "BuildTemplateProjects" (fun args -> else if Environment.isMacOS then let p = [ yield! Templates.macosProjects ] for proj in p do - dotnetBuild (addTarget "Restore") proj + dotnetBuild args (addTarget "Restore") proj for proj in p do - dotnetBuild (addTarget "Build") proj -) + dotnetBuild args (addTarget "Build") proj + -Target.create "PackTemplates" (fun _ -> +let PackTemplates _ = Trace.log " --- Packing template packages --- " Shell.mkdir artifactsPath for nuspecPath in Templates.nuspecPaths do @@ -272,48 +271,78 @@ Target.create "PackTemplates" (fun _ -> opt with WorkingDir = Path.GetDirectoryName nuspecPath OutputPath = artifactsPath - Version = sprintf "%s.%d" currentVersionInfo.versionName currentTemplateMinorVersion + Version = sprintf "%s.%d" (currentVersionInfo.Force().versionName) currentTemplateMinorVersion }) nuspecPath -) -Target.create "PackAll" ignore +let PackAll _ = () -Target.create "TestAll" ignore +let TestAll _ = () -Target.create "All" ignore +let All _ = () open Fake.Core.TargetOperators -// *** Define Dependencies *** -"Restore" - ==> "Build" - ==> "Pack" - ==> "PackAll" - ==> "All" - -"Restore" - ==> "Run" - -"PackTemplates" - ==> "PackAll" - ==> "All" - -"Build" - ==> "BuildDocs" - ==> "ReleaseDocs" - ==> "All" - -"BuildTemplateProjects" - ==> "TestAll" - -// "Build" - // ==> "Test" -"Test" - ==> "TestAll" - -"Build" - ==> "BuildTemplateProjects" - -// *** Start Build *** -Target.runOrDefaultWithArguments "Build" \ No newline at end of file +// FS0020: The result of this expression has type 'string' and is explicitly ignored. ... +#nowarn "0020" + +let initTargets () = + Target.create "PackageDescription" PackageDescription + Target.create "Clean" Clean + Target.create "Restore" Restore + Target.create "Build" Build + Target.create "Run" Run + Target.create "Test" Test + Target.create "BuildDocs" BuildDocs + Target.create "ReleaseDocs" ReleaseDocs + Target.create "Pack" Pack + Target.create "BuildTemplateProjects" BuildTemplateProjects + Target.create "PackTemplates" PackTemplates + Target.create "PackAll" PackAll + Target.create "TestAll" TestAll + Target.create "All" All + + // *** Define Dependencies *** + "Restore" + ==> "Build" + ==> "Pack" + ==> "PackAll" + ==> "All" + + "Restore" + ==> "Run" + + "PackTemplates" + ==> "PackAll" + ==> "All" + + "Build" + ==> "BuildDocs" + ==> "ReleaseDocs" + ==> "All" + + "BuildTemplateProjects" + ==> "TestAll" + + // "Build" + // ==> "Test" + "Test" + ==> "TestAll" + + "Build" + ==> "BuildTemplateProjects" + +[] +let main args = + Environment.CurrentDirectory <- __SOURCE_DIRECTORY__ + + args + |> Array.toList + |> Context.FakeExecutionContext.Create false "build.fs" + |> Context.RuntimeContext.Fake + |> Context.setExecutionContext + + initTargets () + Target.runOrDefaultWithArguments "Build" + + 0 diff --git a/build/build.fsproj b/build/build.fsproj new file mode 100644 index 0000000..b521f2e --- /dev/null +++ b/build/build.fsproj @@ -0,0 +1,24 @@ + + + + net8.0 + Exe + true + + + $([System.OperatingSystem]::IsWindows()) + $([System.OperatingSystem]::IsLinux()) + $([System.OperatingSystem]::IsMacOS()) + + + OS_WINDOWS + OS_LINUX + OS_MACOS + + + + + + + + diff --git a/build/paket.references b/build/paket.references new file mode 100644 index 0000000..21ec6f6 --- /dev/null +++ b/build/paket.references @@ -0,0 +1,9 @@ +group Build +FSharp.Core +FSharp.Data +FSharp.DependencyManager.Paket +Fake.Core.Target +Fake.DotNet.Cli +Fake.DotNet.MSBuild +Fake.DotNet.Paket +Fake.Tools.Git diff --git a/paket.dependencies b/paket.dependencies index f32c34e..4bfe68f 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -9,7 +9,14 @@ nuget NuGet.Build.Tasks.Pack nuget System.Text.Encodings.Web group Build - source https://api.nuget.org/v3/index.json + framework: net8.0 - nuget FSharp.DependencyManager.Paket \ No newline at end of file + nuget Fake.Tools.Git + nuget FSharp.Core ~> 8.0 + nuget FSharp.Data + nuget FSharp.DependencyManager.Paket ~> 7.0 + nuget Fake.Core.Target ~> 6.0.0 + nuget Fake.DotNet.Cli ~> 6.0.0 + nuget Fake.DotNet.MSBuild ~> 6.0.0 + nuget Fake.DotNet.Paket ~> 6.0.0 diff --git a/paket.lock b/paket.lock index 2634203..246fc9c 100644 --- a/paket.lock +++ b/paket.lock @@ -1,36 +1,218 @@ -RESTRICTION: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-macos) (== net6.0-windows7.0) (== netstandard2.0) +RESTRICTION: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-windows7.0) (== net8.0) (== net8.0-macos) (== netstandard2.0) NUGET remote: https://api.nuget.org/v3/index.json BlackFox.MasterOfFoo (1.0.6) - FSharp.Core (>= 4.0.0.1) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net45)) (&& (== net6.0-macos) (>= net45)) (&& (== net6.0-windows7.0) (>= net45)) (&& (== netstandard2.0) (>= net45)) - FSharp.Core (>= 4.2.3) - restriction: || (&& (== net472) (< net45)) (&& (== net48) (< net45)) (== net5.0-windows7.0) (== net6.0-macos) (== net6.0-windows7.0) (== netstandard2.0) - cef.redist.x64 (86.0.24) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-macos) (== net6.0-windows7.0) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) - cef.redist.x86 (86.0.24) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-macos) (== net6.0-windows7.0) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) - CefSharp.Common (86.0.241) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-macos) (== net6.0-windows7.0) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) + FSharp.Core (>= 4.0.0.1) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net45)) (&& (== net6.0-windows7.0) (>= net45)) (&& (== net8.0) (>= net45)) (&& (== net8.0-macos) (>= net45)) (&& (== netstandard2.0) (>= net45)) + FSharp.Core (>= 4.2.3) - restriction: || (&& (== net472) (< net45)) (&& (== net48) (< net45)) (== net5.0-windows7.0) (== net6.0-windows7.0) (== net8.0) (== net8.0-macos) (== netstandard2.0) + cef.redist.x64 (86.0.24) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-windows7.0) (== net8.0) (== net8.0-macos) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) + cef.redist.x86 (86.0.24) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-windows7.0) (== net8.0) (== net8.0-macos) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) + CefSharp.Common (86.0.241) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-windows7.0) (== net8.0) (== net8.0-macos) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) cef.redist.x64 (86.0.24) cef.redist.x86 (86.0.24) CefSharp.WinForms (86.0.241) - CefSharp.Common (86.0.241) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-macos) (== net6.0-windows7.0) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) + CefSharp.Common (86.0.241) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-windows7.0) (== net8.0) (== net8.0-macos) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) CefSharp.Wpf (86.0.241) - CefSharp.Common (86.0.241) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-macos) (== net6.0-windows7.0) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) + CefSharp.Common (86.0.241) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-windows7.0) (== net8.0) (== net8.0-macos) (&& (== netstandard2.0) (>= net452)) (&& (== netstandard2.0) (>= netcoreapp3.0)) FSharp.Core (6.0.5) - NuGet.Build.Tasks.Pack (6.2) - System.Buffers (4.5.1) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp3.1)) (&& (== net6.0-macos) (>= net461)) (&& (== net6.0-macos) (< netcoreapp3.1)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp3.1)) (== netstandard2.0) - System.Memory (4.5.5) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp3.1)) (&& (== net6.0-macos) (>= net461)) (&& (== net6.0-macos) (< netcoreapp3.1)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp3.1)) (== netstandard2.0) - System.Buffers (>= 4.5.1) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= monotouch)) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp2.0)) (&& (== net5.0-windows7.0) (< netstandard1.1)) (&& (== net5.0-windows7.0) (< netstandard2.0)) (&& (== net5.0-windows7.0) (>= xamarinios)) (&& (== net5.0-windows7.0) (>= xamarinmac)) (&& (== net5.0-windows7.0) (>= xamarintvos)) (&& (== net5.0-windows7.0) (>= xamarinwatchos)) (== net6.0-macos) (&& (== net6.0-windows7.0) (>= monotouch)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-windows7.0) (< netstandard1.1)) (&& (== net6.0-windows7.0) (< netstandard2.0)) (&& (== net6.0-windows7.0) (>= xamarinios)) (&& (== net6.0-windows7.0) (>= xamarinmac)) (&& (== net6.0-windows7.0) (>= xamarintvos)) (&& (== net6.0-windows7.0) (>= xamarinwatchos)) (== netstandard2.0) - System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net472) (< net45)) (&& (== net48) (< net45)) (&& (== net5.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-macos) (< netcoreapp2.0) (< xamarinmac)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (== netstandard2.0) - System.Numerics.Vectors (>= 4.5) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net6.0-macos) (>= net461)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== netstandard2.0) (>= net461)) - System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= monotouch)) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp2.0)) (&& (== net5.0-windows7.0) (< netcoreapp2.1)) (&& (== net5.0-windows7.0) (< netstandard1.1)) (&& (== net5.0-windows7.0) (< netstandard2.0)) (&& (== net5.0-windows7.0) (>= uap10.1)) (&& (== net5.0-windows7.0) (>= xamarinios)) (&& (== net5.0-windows7.0) (>= xamarinmac)) (&& (== net5.0-windows7.0) (>= xamarintvos)) (&& (== net5.0-windows7.0) (>= xamarinwatchos)) (== net6.0-macos) (&& (== net6.0-windows7.0) (>= monotouch)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-windows7.0) (< netcoreapp2.1)) (&& (== net6.0-windows7.0) (< netstandard1.1)) (&& (== net6.0-windows7.0) (< netstandard2.0)) (&& (== net6.0-windows7.0) (>= uap10.1)) (&& (== net6.0-windows7.0) (>= xamarinios)) (&& (== net6.0-windows7.0) (>= xamarinmac)) (&& (== net6.0-windows7.0) (>= xamarintvos)) (&& (== net6.0-windows7.0) (>= xamarinwatchos)) (== netstandard2.0) - System.Numerics.Vectors (4.5) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-macos) (>= net461)) (&& (== net6.0-macos) (< netcoreapp2.0) (< xamarinmac)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (== netstandard2.0) - System.Runtime.CompilerServices.Unsafe (6.0) - System.Text.Encodings.Web (6.0) - System.Buffers (>= 4.5.1) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp3.1)) (&& (== net6.0-macos) (>= net461)) (&& (== net6.0-macos) (< netcoreapp3.1)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp3.1)) (== netstandard2.0) - System.Memory (>= 4.5.4) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp3.1)) (&& (== net6.0-macos) (>= net461)) (&& (== net6.0-macos) (< netcoreapp3.1)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp3.1)) (== netstandard2.0) - System.Runtime.CompilerServices.Unsafe (>= 6.0) + NuGet.Build.Tasks.Pack (6.10.1) + System.Buffers (4.5.1) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (&& (== net6.0-windows7.0) (>= monotouch)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (>= net462)) (&& (== net6.0-windows7.0) (< net6.0)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-windows7.0) (< netstandard1.1)) (&& (== net6.0-windows7.0) (< netstandard2.0)) (&& (== net8.0) (>= monotouch)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0-macos) (>= monotouch)) (&& (== net8.0-macos) (>= net461)) (&& (== net8.0-macos) (>= net462)) (&& (== net8.0-macos) (< net6.0)) (&& (== net8.0-macos) (< netcoreapp2.0)) (&& (== net8.0-macos) (< netstandard1.1)) (&& (== net8.0-macos) (< netstandard2.0)) (== netstandard2.0) + System.Memory (4.5.5) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (&& (== net6.0-windows7.0) (>= net462)) (&& (== net6.0-windows7.0) (< net6.0)) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (&& (== net8.0-macos) (>= net462)) (&& (== net8.0-macos) (< net6.0)) (== netstandard2.0) + System.Buffers (>= 4.5.1) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= monotouch)) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp2.0)) (&& (== net5.0-windows7.0) (< netstandard1.1)) (&& (== net5.0-windows7.0) (< netstandard2.0)) (&& (== net5.0-windows7.0) (>= xamarinios)) (&& (== net5.0-windows7.0) (>= xamarinmac)) (&& (== net5.0-windows7.0) (>= xamarintvos)) (&& (== net5.0-windows7.0) (>= xamarinwatchos)) (&& (== net6.0-windows7.0) (>= monotouch)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-windows7.0) (< netstandard1.1)) (&& (== net6.0-windows7.0) (< netstandard2.0)) (&& (== net6.0-windows7.0) (>= xamarinios)) (&& (== net6.0-windows7.0) (>= xamarinmac)) (&& (== net6.0-windows7.0) (>= xamarintvos)) (&& (== net6.0-windows7.0) (>= xamarinwatchos)) (&& (== net8.0) (>= monotouch)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= xamarinios)) (&& (== net8.0) (>= xamarinmac)) (&& (== net8.0) (>= xamarintvos)) (&& (== net8.0) (>= xamarinwatchos)) (== net8.0-macos) (== netstandard2.0) + System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net472) (== net5.0-windows7.0)) (&& (== net472) (== net6.0-windows7.0)) (&& (== net472) (== net8.0)) (&& (== net472) (== net8.0-macos)) (&& (== net472) (< net45)) (&& (== net48) (== net5.0-windows7.0)) (&& (== net48) (== net6.0-windows7.0)) (&& (== net48) (== net8.0)) (&& (== net48) (== net8.0-macos)) (&& (== net48) (< net45)) (&& (== net5.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0-macos) (< netcoreapp2.0) (< xamarinmac)) (== netstandard2.0) + System.Numerics.Vectors (>= 4.5) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net8.0) (>= net461)) (&& (== net8.0-macos) (>= net461)) (&& (== netstandard2.0) (>= net461)) + System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= monotouch)) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp2.0)) (&& (== net5.0-windows7.0) (< netcoreapp2.1)) (&& (== net5.0-windows7.0) (< netstandard1.1)) (&& (== net5.0-windows7.0) (< netstandard2.0)) (&& (== net5.0-windows7.0) (>= uap10.1)) (&& (== net5.0-windows7.0) (>= xamarinios)) (&& (== net5.0-windows7.0) (>= xamarinmac)) (&& (== net5.0-windows7.0) (>= xamarintvos)) (&& (== net5.0-windows7.0) (>= xamarinwatchos)) (&& (== net6.0-windows7.0) (>= monotouch)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-windows7.0) (< netcoreapp2.1)) (&& (== net6.0-windows7.0) (< netstandard1.1)) (&& (== net6.0-windows7.0) (< netstandard2.0)) (&& (== net6.0-windows7.0) (>= uap10.1)) (&& (== net6.0-windows7.0) (>= xamarinios)) (&& (== net6.0-windows7.0) (>= xamarinmac)) (&& (== net6.0-windows7.0) (>= xamarintvos)) (&& (== net6.0-windows7.0) (>= xamarinwatchos)) (&& (== net8.0) (>= monotouch)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0) (< netcoreapp2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (&& (== net8.0) (>= xamarinios)) (&& (== net8.0) (>= xamarinmac)) (&& (== net8.0) (>= xamarintvos)) (&& (== net8.0) (>= xamarinwatchos)) (== net8.0-macos) (== netstandard2.0) + System.Numerics.Vectors (4.5) - restriction: || (== net472) (== net48) (&& (== net5.0-windows7.0) (>= net461)) (&& (== net5.0-windows7.0) (< netcoreapp2.0)) (&& (== net6.0-windows7.0) (>= net461)) (&& (== net6.0-windows7.0) (>= net462)) (&& (== net6.0-windows7.0) (< netcoreapp2.0)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0-macos) (>= net461)) (&& (== net8.0-macos) (>= net462)) (&& (== net8.0-macos) (< netcoreapp2.0) (< xamarinmac)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (6.0) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-windows7.0) (&& (== net8.0) (>= monotouch)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< net7.0)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0) (< netcoreapp2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (&& (== net8.0-macos) (>= monotouch)) (&& (== net8.0-macos) (>= net461)) (&& (== net8.0-macos) (>= net462)) (&& (== net8.0-macos) (< net6.0)) (&& (== net8.0-macos) (< net7.0)) (&& (== net8.0-macos) (< netcoreapp2.0)) (&& (== net8.0-macos) (< netcoreapp2.1)) (&& (== net8.0-macos) (< netstandard1.1)) (&& (== net8.0-macos) (< netstandard2.0)) (&& (== net8.0-macos) (>= uap10.1)) (== netstandard2.0) + System.Text.Encodings.Web (8.0) + System.Buffers (>= 4.5.1) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (&& (== net6.0-windows7.0) (>= net462)) (&& (== net6.0-windows7.0) (< net6.0)) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (&& (== net8.0-macos) (>= net462)) (&& (== net8.0-macos) (< net6.0)) (== netstandard2.0) + System.Memory (>= 4.5.5) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (&& (== net6.0-windows7.0) (>= net462)) (&& (== net6.0-windows7.0) (< net6.0)) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (&& (== net8.0-macos) (>= net462)) (&& (== net8.0-macos) (< net6.0)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) - restriction: || (== net472) (== net48) (== net5.0-windows7.0) (== net6.0-windows7.0) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< net7.0)) (&& (== net8.0-macos) (>= net462)) (&& (== net8.0-macos) (< net6.0)) (&& (== net8.0-macos) (< net7.0)) (== netstandard2.0) GROUP Build +RESTRICTION: == net8.0 NUGET remote: https://api.nuget.org/v3/index.json - FSharp.Core (5.0) - restriction: >= netstandard2.0 - FSharp.DependencyManager.Paket (7.1.5) - FSharp.Core (5.0) - restriction: >= netstandard2.0 + BlackFox.VsWhere (1.1) + FSharp.Core (>= 4.2.3) + Microsoft.Win32.Registry (>= 4.7) + Fake.Core.CommandLineParsing (6.0) + FParsec (>= 1.1.1) + FSharp.Core (>= 6.0.3) + Fake.Core.Context (6.0) + FSharp.Core (>= 6.0.3) + Fake.Core.Environment (6.0) + FSharp.Core (>= 6.0.3) + Fake.Core.FakeVar (6.0) + Fake.Core.Context (>= 6.0) + FSharp.Core (>= 6.0.3) + Fake.Core.Process (6.0) + Fake.Core.Environment (>= 6.0) + Fake.Core.FakeVar (>= 6.0) + Fake.Core.String (>= 6.0) + Fake.Core.Trace (>= 6.0) + Fake.IO.FileSystem (>= 6.0) + FSharp.Core (>= 6.0.3) + System.Collections.Immutable (>= 6.0) + Fake.Core.SemVer (6.0) + FSharp.Core (>= 6.0.3) + Fake.Core.String (6.0) + FSharp.Core (>= 6.0.3) + Fake.Core.Target (6.0) + Fake.Core.CommandLineParsing (>= 6.0) + Fake.Core.Context (>= 6.0) + Fake.Core.Environment (>= 6.0) + Fake.Core.FakeVar (>= 6.0) + Fake.Core.Process (>= 6.0) + Fake.Core.String (>= 6.0) + Fake.Core.Trace (>= 6.0) + FSharp.Control.Reactive (>= 5.0.2) + FSharp.Core (>= 6.0.3) + Fake.Core.Tasks (6.0) + Fake.Core.Trace (>= 6.0) + FSharp.Core (>= 6.0.3) + Fake.Core.Trace (6.0) + Fake.Core.Environment (>= 6.0) + Fake.Core.FakeVar (>= 6.0) + FSharp.Core (>= 6.0.3) + Fake.Core.Xml (6.0) + Fake.Core.String (>= 6.0) + FSharp.Core (>= 6.0.3) + Fake.DotNet.Cli (6.0) + Fake.Core.Environment (>= 6.0) + Fake.Core.Process (>= 6.0) + Fake.Core.String (>= 6.0) + Fake.Core.Trace (>= 6.0) + Fake.DotNet.MSBuild (>= 6.0) + Fake.DotNet.NuGet (>= 6.0) + Fake.IO.FileSystem (>= 6.0) + FSharp.Core (>= 6.0.3) + Mono.Posix.NETStandard (>= 1.0) + Newtonsoft.Json (>= 13.0.1) + Fake.DotNet.MSBuild (6.0) + BlackFox.VsWhere (>= 1.1) + Fake.Core.Environment (>= 6.0) + Fake.Core.Process (>= 6.0) + Fake.Core.String (>= 6.0) + Fake.Core.Trace (>= 6.0) + Fake.IO.FileSystem (>= 6.0) + FSharp.Core (>= 6.0.3) + MSBuild.StructuredLogger (>= 2.1.545) + Fake.DotNet.NuGet (6.0) + Fake.Core.Environment (>= 6.0) + Fake.Core.Process (>= 6.0) + Fake.Core.SemVer (>= 6.0) + Fake.Core.String (>= 6.0) + Fake.Core.Tasks (>= 6.0) + Fake.Core.Trace (>= 6.0) + Fake.Core.Xml (>= 6.0) + Fake.IO.FileSystem (>= 6.0) + Fake.Net.Http (>= 6.0) + FSharp.Core (>= 6.0.3) + Newtonsoft.Json (>= 13.0.1) + NuGet.Protocol (>= 6.0) + Fake.DotNet.Paket (6.0) + Fake.Core.Process (>= 6.0) + Fake.Core.String (>= 6.0) + Fake.Core.Trace (>= 6.0) + Fake.DotNet.Cli (>= 6.0) + Fake.IO.FileSystem (>= 6.0) + FSharp.Core (>= 6.0.3) + Fake.IO.FileSystem (6.0) + Fake.Core.String (>= 6.0) + Fake.Core.Trace (>= 6.0) + FSharp.Core (>= 6.0.3) + Fake.Net.Http (6.0) + Fake.Core.Trace (>= 6.0) + FSharp.Core (>= 6.0.3) + Fake.Tools.Git (6.0) + Fake.Core.Environment (>= 6.0) + Fake.Core.Process (>= 6.0) + Fake.Core.SemVer (>= 6.0) + Fake.Core.String (>= 6.0) + Fake.Core.Trace (>= 6.0) + Fake.IO.FileSystem (>= 6.0) + FSharp.Core (>= 6.0.3) + FParsec (1.1.1) + FSharp.Core (>= 4.3.4) + FSharp.Control.Reactive (5.0.5) + FSharp.Core (>= 4.7.2) + System.Reactive (>= 5.0 < 6.0) + FSharp.Core (6.0.5) + FSharp.Data (6.4) + FSharp.Core (>= 6.0.1) + FSharp.Data.Csv.Core (>= 6.4) + FSharp.Data.Html.Core (>= 6.4) + FSharp.Data.Http (>= 6.4) + FSharp.Data.Json.Core (>= 6.4) + FSharp.Data.Runtime.Utilities (>= 6.4) + FSharp.Data.WorldBank.Core (>= 6.4) + FSharp.Data.Xml.Core (>= 6.4) + FSharp.Data.Csv.Core (6.4) + FSharp.Core (>= 6.0.1) + FSharp.Data.Runtime.Utilities (>= 6.4) + FSharp.Data.Html.Core (6.4) + FSharp.Core (>= 6.0.1) + FSharp.Data.Csv.Core (>= 6.4) + FSharp.Data.Runtime.Utilities (>= 6.4) + FSharp.Data.Http (6.4) + FSharp.Core (>= 6.0.1) + FSharp.Data.Json.Core (6.4) + FSharp.Core (>= 6.0.1) + FSharp.Data.Http (>= 6.4) + FSharp.Data.Runtime.Utilities (>= 6.4) + FSharp.Data.Runtime.Utilities (6.4) + FSharp.Core (>= 6.0.1) + FSharp.Data.Http (>= 6.4) + FSharp.Data.WorldBank.Core (6.4) + FSharp.Core (>= 6.0.1) + FSharp.Data.Http (>= 6.4) + FSharp.Data.Json.Core (>= 6.4) + FSharp.Data.Runtime.Utilities (>= 6.4) + FSharp.Data.Xml.Core (6.4) + FSharp.Core (>= 6.0.1) + FSharp.Data.Http (>= 6.4) + FSharp.Data.Json.Core (>= 6.4) + FSharp.Data.Runtime.Utilities (>= 6.4) + FSharp.DependencyManager.Paket (7.0) + FSharp.Core (>= 5.0) + Microsoft.Build.Framework (17.10.4) + Microsoft.Build.Utilities.Core (17.10.4) + Microsoft.Build.Framework (>= 17.10.4) + Microsoft.NET.StringTools (>= 17.10.4) + System.Collections.Immutable (>= 8.0) + System.Configuration.ConfigurationManager (>= 8.0) + Microsoft.NET.StringTools (17.10.4) + Microsoft.Win32.Registry (5.0) + System.Security.AccessControl (>= 5.0) + System.Security.Principal.Windows (>= 5.0) + Mono.Posix.NETStandard (1.0) + MSBuild.StructuredLogger (2.2.291) + Microsoft.Build.Framework (>= 17.5) + Microsoft.Build.Utilities.Core (>= 17.5) + Newtonsoft.Json (13.0.3) + NuGet.Common (6.10.1) + NuGet.Frameworks (>= 6.10.1) + NuGet.Configuration (6.10.1) + NuGet.Common (>= 6.10.1) + System.Security.Cryptography.ProtectedData (>= 4.4) + NuGet.Frameworks (6.10.1) + NuGet.Packaging (6.10.1) + Newtonsoft.Json (>= 13.0.3) + NuGet.Configuration (>= 6.10.1) + NuGet.Versioning (>= 6.10.1) + System.Security.Cryptography.Pkcs (>= 6.0.4) + NuGet.Protocol (6.10.1) + NuGet.Packaging (>= 6.10.1) + NuGet.Versioning (6.10.1) + System.Collections.Immutable (8.0) + System.Configuration.ConfigurationManager (8.0) + System.Diagnostics.EventLog (>= 8.0) + System.Security.Cryptography.ProtectedData (>= 8.0) + System.Diagnostics.EventLog (8.0) + System.Formats.Asn1 (8.0.1) + System.Reactive (5.0) + System.Security.AccessControl (6.0.1) + System.Security.Cryptography.Pkcs (8.0) + System.Formats.Asn1 (>= 8.0) + System.Security.Cryptography.ProtectedData (8.0) + System.Security.Principal.Windows (5.0) diff --git a/src/Interstellar.Core/Api.fs b/src/Interstellar.Core/Api.fs index d06f34c..1687b8f 100644 --- a/src/Interstellar.Core/Api.fs +++ b/src/Interstellar.Core/Api.fs @@ -210,7 +210,7 @@ module Printf = type private TextEncoderPrintfEnv<'Result>(k: string -> 'Result, encoder: TextEncoder) = inherit PrintfEnv() - + let sb = new StringBuilder() override this.Finalize () = k (sb.ToString ()) @@ -221,7 +221,7 @@ module Printf = | _ -> s.FormatAsPrintF () sb.Append value |> ignore override this.WriteT (s: string) = sb.Append (encoder.Encode s) |> ignore - + /// Like sprintf, but escapes the format parameters for Javascript to prevent code injection, allowing you to safely deal with untrusted format parameters. Think SQL prepared statements. let javascriptf (format: StringFormat<'T, string>) = doPrintf format (fun n -> TextEncoderPrintfEnv(id, JavaScriptEncoder.Default)) @@ -234,4 +234,4 @@ module Printf = let executeJavascriptf (browser: IBrowser) (format: StringFormat<_,_>) = doPrintf format (fun n -> TextEncoderPrintfEnv(browser.ExecuteJavascript, JavaScriptEncoder.Default) :> PrintfEnv<_,_,_> - ) \ No newline at end of file + ) diff --git a/src/Interstellar.Core/IBrowserExtensions.fs b/src/Interstellar.Core/IBrowserExtensions.fs index 9d9e187..46533cb 100644 --- a/src/Interstellar.Core/IBrowserExtensions.fs +++ b/src/Interstellar.Core/IBrowserExtensions.fs @@ -17,4 +17,4 @@ module FSharpIBrowserExtensions = type IBrowser with /// printf-style method that executes some Javascript code on a browser instance, sanitizing format parameters using . It is safe to pass in untrusted format parameters from the outside world. Think SQL prepared statements. member this.ExecuteJavascriptf (format: StringFormat<'a, unit>) = - executeJavascriptf this format \ No newline at end of file + executeJavascriptf this format diff --git a/src/Interstellar.Core/Interstellar.Core.fsproj b/src/Interstellar.Core/Interstellar.Core.fsproj index b984e49..c6a6d14 100644 --- a/src/Interstellar.Core/Interstellar.Core.fsproj +++ b/src/Interstellar.Core/Interstellar.Core.fsproj @@ -13,4 +13,4 @@ - \ No newline at end of file + diff --git a/src/Interstellar.Core/Script1.fsx b/src/Interstellar.Core/Script1.fsx index e6c6eea..cf52668 100644 --- a/src/Interstellar.Core/Script1.fsx +++ b/src/Interstellar.Core/Script1.fsx @@ -42,4 +42,4 @@ Interstellar.Printf.javascriptf "console.log(\"%s\")" """ \"hello world" """ |> do executeJavascriptf mockBrowser "%d%b" 42 true let executeJavascriptf' (browser: IBrowser) format = kjavascriptf (fun result -> browser.ExecuteJavascript result) format -do executeJavascriptf' mockBrowser "console.log(\"%s\")" """ \"hello world"<%*>; """ \ No newline at end of file +do executeJavascriptf' mockBrowser "console.log(\"%s\")" """ \"hello world"<%*>; """ diff --git a/src/Interstellar.Core/paket.references b/src/Interstellar.Core/paket.references index 45ef6c6..43e9cb6 100644 --- a/src/Interstellar.Core/paket.references +++ b/src/Interstellar.Core/paket.references @@ -1,3 +1,3 @@ FSharp.Core System.Text.Encodings.Web -BlackFox.MasterOfFoo \ No newline at end of file +BlackFox.MasterOfFoo diff --git a/src/Interstellar.MacOS.WebKit/Browser.fs b/src/Interstellar.MacOS.WebKit/Browser.fs index 339520c..e2ca1d1 100644 --- a/src/Interstellar.MacOS.WebKit/Browser.fs +++ b/src/Interstellar.MacOS.WebKit/Browser.fs @@ -43,7 +43,7 @@ type Browser(config: BrowserWindowConfig) = let mutable pageTitleObserverHandle = null static let wkBridgeName = "interstellarWkBridge" - + do wkBrowser.NavigationDelegate <- { new WKNavigationDelegate() with @@ -119,4 +119,4 @@ type Browser(config: BrowserWindowConfig) = [] member val PageTitleChanged : IEvent<_> = pageTitleChanged.Publish // there's no way that I know of to programmatically open the WKWebView inspector: https://stackoverflow.com/questions/25200116/how-to-show-the-inspector-within-your-wkwebview-based-desktop-app - member this.ShowDevTools () = () \ No newline at end of file + member this.ShowDevTools () = () diff --git a/src/Interstellar.MacOS.WebKit/BrowserApp.fs b/src/Interstellar.MacOS.WebKit/BrowserApp.fs index 6bdd4bc..d156f0a 100644 --- a/src/Interstellar.MacOS.WebKit/BrowserApp.fs +++ b/src/Interstellar.MacOS.WebKit/BrowserApp.fs @@ -19,5 +19,5 @@ module BrowserApp = do! app.onStart mainCtx windowCreator do! Async.SwitchToContext mainCtx } - - let run app = Async.Start <| runAsync SynchronizationContext.Current app \ No newline at end of file + + let run app = Async.Start <| runAsync SynchronizationContext.Current app diff --git a/src/Interstellar.MacOS.WebKit/BrowserWindow.fs b/src/Interstellar.MacOS.WebKit/BrowserWindow.fs index 6dbd279..ea51da9 100644 --- a/src/Interstellar.MacOS.WebKit/BrowserWindow.fs +++ b/src/Interstellar.MacOS.WebKit/BrowserWindow.fs @@ -15,7 +15,7 @@ type NiblessViewController(view: NSView) = type BrowserWindow(config: BrowserWindowConfig) as this = inherit NSWindowController("BrowserWindow") - + let browser = new Browser(config) let closedEvt = new Event<_>() @@ -74,4 +74,4 @@ type BrowserWindow(config: BrowserWindowConfig) as this = this.Window.SetFrame (rect, true, true) member this.Title with get () = base.Window.Title - and set x = base.Window.Title <- x \ No newline at end of file + and set x = base.Window.Title <- x diff --git a/src/Interstellar.MacOS.WebKit/Interstellar.MacOS.WebKit.fsproj b/src/Interstellar.MacOS.WebKit/Interstellar.MacOS.WebKit.fsproj index 642d56d..9de7909 100644 --- a/src/Interstellar.MacOS.WebKit/Interstellar.MacOS.WebKit.fsproj +++ b/src/Interstellar.MacOS.WebKit/Interstellar.MacOS.WebKit.fsproj @@ -1,7 +1,7 @@ - net6.0-macos + net8.0-macos Library Interstellar.macOS.WebKit @@ -33,4 +33,4 @@ - \ No newline at end of file + diff --git a/src/Interstellar.MacOS.WebKit/paket.references b/src/Interstellar.MacOS.WebKit/paket.references index 640cf91..6f627f4 100644 --- a/src/Interstellar.MacOS.WebKit/paket.references +++ b/src/Interstellar.MacOS.WebKit/paket.references @@ -1 +1 @@ -FSharp.Core \ No newline at end of file +FSharp.Core diff --git a/src/Interstellar.WinForms.Chromium/BrowserApp.fs b/src/Interstellar.WinForms.Chromium/BrowserApp.fs index 6684cb8..1b15c44 100644 --- a/src/Interstellar.WinForms.Chromium/BrowserApp.fs +++ b/src/Interstellar.WinForms.Chromium/BrowserApp.fs @@ -28,4 +28,4 @@ module BrowserApp = use dummyControl = new Control() in () Debug.WriteLine (sprintf "DummyControl thread: %A" Thread.CurrentThread.ManagedThreadId) Async.Start <| runAsync SynchronizationContext.Current app - Application.Run () \ No newline at end of file + Application.Run () diff --git a/src/Interstellar.WinForms.Chromium/BrowserWindow.fs b/src/Interstellar.WinForms.Chromium/BrowserWindow.fs index d47886c..fb860c1 100644 --- a/src/Interstellar.WinForms.Chromium/BrowserWindow.fs +++ b/src/Interstellar.WinForms.Chromium/BrowserWindow.fs @@ -67,4 +67,4 @@ type BrowserWindow(config: BrowserWindowConfig
) as this = override this.Dispose disposing = if disposing then titleChangedHandle.Dispose () - base.Dispose disposing \ No newline at end of file + base.Dispose disposing diff --git a/src/Interstellar.WinForms.Chromium/Interstellar.WinForms.Chromium.fsproj b/src/Interstellar.WinForms.Chromium/Interstellar.WinForms.Chromium.fsproj index 30f6d7c..30edcec 100644 --- a/src/Interstellar.WinForms.Chromium/Interstellar.WinForms.Chromium.fsproj +++ b/src/Interstellar.WinForms.Chromium/Interstellar.WinForms.Chromium.fsproj @@ -22,4 +22,4 @@ - \ No newline at end of file + diff --git a/src/Interstellar.WinForms.Chromium/paket.references b/src/Interstellar.WinForms.Chromium/paket.references index be95f91..e52912d 100644 --- a/src/Interstellar.WinForms.Chromium/paket.references +++ b/src/Interstellar.WinForms.Chromium/paket.references @@ -1,2 +1,2 @@ FSharp.Core -CefSharp.WinForms \ No newline at end of file +CefSharp.WinForms diff --git a/src/Interstellar.WindowsCommon.Chromium/Platform.fs b/src/Interstellar.WindowsCommon.Chromium/Platform.fs index a8be22d..2814ad6 100644 --- a/src/Interstellar.WindowsCommon.Chromium/Platform.fs +++ b/src/Interstellar.WindowsCommon.Chromium/Platform.fs @@ -13,7 +13,7 @@ open CefSharp.WinForms type Platform private() = static let mutable isInitialized = false static let initLock = new Object() - + static member Initialize () = lock initLock (fun () -> if not isInitialized then @@ -32,7 +32,7 @@ type Platform private() = static member private InitAnyCpuCefSharp () = // Required to fix high DPI issue: https://github.com/fsprojects/Interstellar/issues/25 Cef.EnableHighDPISupport() - + let browserSubpath = Platform.GetPlatformAssemblyPath("CefSharp.BrowserSubprocess.exe") let settings = new CefSettings(BrowserSubprocessPath = browserSubpath) //settings.RegisterExtension Browser.bridgeExtension @@ -43,4 +43,4 @@ type Platform private() = let assemblyName = args.Name.Split([|','|], 2).[0] + ".dll" let archSpecificPath = Platform.GetPlatformAssemblyPath assemblyName if File.Exists archSpecificPath then (Assembly.LoadFile archSpecificPath) else null - else null \ No newline at end of file + else null diff --git a/src/Interstellar.Wpf.Chromium/BrowserApp.fs b/src/Interstellar.Wpf.Chromium/BrowserApp.fs index 6aaefae..1e4580b 100644 --- a/src/Interstellar.Wpf.Chromium/BrowserApp.fs +++ b/src/Interstellar.Wpf.Chromium/BrowserApp.fs @@ -18,7 +18,7 @@ module BrowserApp = do! Async.SwitchToContext mainCtx Application.Current.Shutdown () } - + /// Starts and runs a BrowserApp's lifecycle in a WPF + Chromium host, using the current thread as the UI thread /// Describes the application lifecycle - let run app = Async.Start <| runAsync SynchronizationContext.Current app \ No newline at end of file + let run app = Async.Start <| runAsync SynchronizationContext.Current app diff --git a/src/Interstellar.Wpf.Chromium/BrowserWindow.fs b/src/Interstellar.Wpf.Chromium/BrowserWindow.fs index 46292fd..099a5bd 100644 --- a/src/Interstellar.Wpf.Chromium/BrowserWindow.fs +++ b/src/Interstellar.Wpf.Chromium/BrowserWindow.fs @@ -64,9 +64,9 @@ type BrowserWindow(config: BrowserWindowConfig) as this = member this.Title with get () = (this :> Window).Title and set title = (this :> Window).Title <- title - + override this.OnContentRendered e = base.OnContentRendered e if not alreadyShown then alreadyShown <- true - shown.Trigger () \ No newline at end of file + shown.Trigger () diff --git a/src/Interstellar.Wpf.Chromium/Interstellar.Wpf.Chromium.fsproj b/src/Interstellar.Wpf.Chromium/Interstellar.Wpf.Chromium.fsproj index 1356788..b19a8e7 100644 --- a/src/Interstellar.Wpf.Chromium/Interstellar.Wpf.Chromium.fsproj +++ b/src/Interstellar.Wpf.Chromium/Interstellar.Wpf.Chromium.fsproj @@ -22,4 +22,4 @@ - \ No newline at end of file + diff --git a/src/Interstellar.Wpf.Chromium/paket.references b/src/Interstellar.Wpf.Chromium/paket.references index 8550ef3..87375dd 100644 --- a/src/Interstellar.Wpf.Chromium/paket.references +++ b/src/Interstellar.Wpf.Chromium/paket.references @@ -1,2 +1,2 @@ FSharp.Core -CefSharp.Wpf \ No newline at end of file +CefSharp.Wpf diff --git a/templates/minimal/src/.template.config/template.json b/templates/minimal/src/.template.config/template.json index ca22dc4..1c932c6 100644 --- a/templates/minimal/src/.template.config/template.json +++ b/templates/minimal/src/.template.config/template.json @@ -49,4 +49,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/templates/minimal/src/InterstellarApp.Core/InterstellarApp.Core.fsproj b/templates/minimal/src/InterstellarApp.Core/InterstellarApp.Core.fsproj index 58f3673..eb17f04 100644 --- a/templates/minimal/src/InterstellarApp.Core/InterstellarApp.Core.fsproj +++ b/templates/minimal/src/InterstellarApp.Core/InterstellarApp.Core.fsproj @@ -9,4 +9,4 @@ - \ No newline at end of file + diff --git a/templates/minimal/src/InterstellarApp.Core/Library.fs b/templates/minimal/src/InterstellarApp.Core/Library.fs index ab8c51a..0f15987 100644 --- a/templates/minimal/src/InterstellarApp.Core/Library.fs +++ b/templates/minimal/src/InterstellarApp.Core/Library.fs @@ -180,7 +180,7 @@ module BrowserApp = // For example, modify this line to use Browser.ExecuteJavascript and sprintf instead of ExecuteJavascriptf, // then paste this malicous payload into the input text box when you run the app: //;)'olleh'(trela;)'oof outputWindow.Browser.ExecuteJavascriptf "updateOutput('%s')" (String (Array.rev (msg.ToCharArray ()))) - ), null) + ), null) ) do! inputWindow.Show () @@ -238,8 +238,8 @@ module BrowserApp = }) return selectorWindow } - + let app onMainWindowCreated : BrowserApp<'TWindow> = BrowserApp.create (fun mainCtx createWindow -> async { let! mainWindow = appletSelectorWindow onMainWindowCreated mainCtx createWindow do! Async.AwaitEvent mainWindow.Closed - }) \ No newline at end of file + }) diff --git a/templates/minimal/src/InterstellarApp.Windows/InterstellarApp.Windows.fsproj b/templates/minimal/src/InterstellarApp.Windows/InterstellarApp.Windows.fsproj index 5e7f693..663b4c1 100644 --- a/templates/minimal/src/InterstellarApp.Windows/InterstellarApp.Windows.fsproj +++ b/templates/minimal/src/InterstellarApp.Windows/InterstellarApp.Windows.fsproj @@ -18,4 +18,4 @@ - \ No newline at end of file + diff --git a/templates/minimal/src/InterstellarApp.Windows/Program.fs b/templates/minimal/src/InterstellarApp.Windows/Program.fs index b97a435..a690b62 100644 --- a/templates/minimal/src/InterstellarApp.Windows/Program.fs +++ b/templates/minimal/src/InterstellarApp.Windows/Program.fs @@ -9,7 +9,7 @@ open Interstellar.Chromium.Wpf type App() = inherit Application(ShutdownMode = ShutdownMode.OnExplicitShutdown) - + override this.OnStartup (e: StartupEventArgs) = base.OnStartup e let onMainWindowCreated (w: IBrowserWindow) = @@ -26,4 +26,4 @@ module Main = let app = App() let result = app.Run () Debug.WriteLine "main() exiting" - result \ No newline at end of file + result diff --git a/templates/minimal/src/InterstellarApp.macOS/AppDelegate.fs b/templates/minimal/src/InterstellarApp.macOS/AppDelegate.fs index 2171ed7..3d82106 100644 --- a/templates/minimal/src/InterstellarApp.macOS/AppDelegate.fs +++ b/templates/minimal/src/InterstellarApp.macOS/AppDelegate.fs @@ -26,5 +26,5 @@ type AppDelegate() = do! BrowserApp.runAsync mainCtx (InterstellarApp.BrowserApp.app ignore) NSApplication.SharedApplication.Terminate null } - - () \ No newline at end of file + + () diff --git a/templates/minimal/src/InterstellarApp.macOS/InterstellarApp.macOS.fsproj b/templates/minimal/src/InterstellarApp.macOS/InterstellarApp.macOS.fsproj index bb19715..a7a408f 100644 --- a/templates/minimal/src/InterstellarApp.macOS/InterstellarApp.macOS.fsproj +++ b/templates/minimal/src/InterstellarApp.macOS/InterstellarApp.macOS.fsproj @@ -51,4 +51,4 @@ - \ No newline at end of file + diff --git a/templates/minimal/src/global.json b/templates/minimal/src/global.json index e4a582e..3cfff7a 100644 --- a/templates/minimal/src/global.json +++ b/templates/minimal/src/global.json @@ -6,4 +6,4 @@ "msbuild-sdks": { "MSBuild.Sdk.Extras": "3.0.22" } -} \ No newline at end of file +}