feat: central package management

This commit is contained in:
2024-08-13 14:46:14 +02:00
parent 6200c17249
commit ca651a413c
10 changed files with 913 additions and 14 deletions

33
Directory.Build.props Normal file
View File

@@ -0,0 +1,33 @@
<Project>
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<!--
FS0025: Incomplete pattern matches on this expression.
FS1182 Unused variables
FS1178 does not support structural equality
-->
<WarningsAsErrors>FS0025;FS1182</WarningsAsErrors>
<WarnOn>1182;3390;1178;$(WarnOn)</WarnOn>
<DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder>
<!-- https://www.gresearch.co.uk/blog/article/improve-nuget-restores-with-static-graph-evaluation/ -->
<RestoreUseStaticGraphEvaluation>true</RestoreUseStaticGraphEvaluation>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
<ServerGarbageCollection>true</ServerGarbageCollection>
<OtherFlags>$(OtherFlags) --test:GraphBasedChecking --test:ParallelOptimization --test:ParallelIlxGen --strict-indentation+</OtherFlags>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FSharp.Analyzers.Build" PrivateAssets="All">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>build</IncludeAssets>
</PackageReference>
<PackageReference Include="G-Research.FSharp.Analyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Ionide.Analyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>

10
Directory.Build.targets Normal file
View File

@@ -0,0 +1,10 @@
<Project>
<PropertyGroup>
<CodeRoot Condition="$(CodeRoot) == ''">.</CodeRoot>
<FSharpAnalyzersOtherFlags>--analyzers-path &quot;$(PkgG-Research_FSharp_Analyzers)/analyzers/dotnet/fs&quot;</FSharpAnalyzersOtherFlags>
<FSharpAnalyzersOtherFlags>$(FSharpAnalyzersOtherFlags) --analyzers-path &quot;$(PkgIonide_Analyzers)/analyzers/dotnet/fs&quot;</FSharpAnalyzersOtherFlags>
<FSharpAnalyzersOtherFlags>$(FSharpAnalyzersOtherFlags) --verbosity d</FSharpAnalyzersOtherFlags>
<FSharpAnalyzersOtherFlags>$(FSharpAnalyzersOtherFlags) --code-root $(CodeRoot)</FSharpAnalyzersOtherFlags>
<FSharpAnalyzersOtherFlags>$(FSharpAnalyzersOtherFlags) --report &quot;$(CodeRoot)/reports/$(MSBuildProjectName)-analysis.sarif&quot;</FSharpAnalyzersOtherFlags>
</PropertyGroup>
</Project>

17
Directory.Packages.props Normal file
View File

@@ -0,0 +1,17 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<!-- Common -->
<PackageVersion Include="Oceanbox.FvcomKit" Version="5.5.3" />
<PackageVersion Include="SDSLite-O" Version="2.7.2" />
<PackageVersion Include="Serilog" Version="4.0.1" />
<!-- CLI -->
<PackageVersion Include="Argu" Version="6.2.4" />
<!-- Analyzers -->
<PackageVersion Include="FSharp.Analyzers.Build" Version="0.3.0" />
<PackageVersion Include="G-Research.FSharp.Analyzers" Version="0.9.3" />
<PackageVersion Include="Ionide.Analyzers" Version="0.9.0" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,18 @@
<Project>
<ItemGroup>
<ProjectsToAnalyze Include="src/**/*.fsproj" />
</ItemGroup>
<Target Name="AnalyzeSolution">
<PropertyGroup>
<CodeRoot>$(SolutionDir)</CodeRoot>
</PropertyGroup>
<RemoveDir Directories="$(SolutionDir)/reports" />
<MSBuild
Projects="@(ProjectsToAnalyze)"
Targets="AnalyzeFSharpProject"
Properties="CodeRoot=$(CodeRoot)"
ContinueOnError="true"
/>
</Target>
</Project>

6
global.json Normal file
View File

@@ -0,0 +1,6 @@
{
"sdk": {
"version": "8.0.300",
"rollForward": "latestPatch"
}
}

16
nuget.config Normal file
View File

@@ -0,0 +1,16 @@
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="oceanbox" value="https://gitlab.com/api/v4/groups/14873744/-/packages/nuget/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="nuget.org" >
<package pattern = "*" />
</packageSource>
<packageSource key="oceanbox" >
<package pattern="Oceanbox.*" />
<package pattern="NuGet.Common" />
</packageSource>
</packageSourceMapping>
</configuration>

View File

@@ -1,21 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Oceanbox.FvcomKit" Version="5.5.3" />
<PackageReference Include="SDSLite-O" Version="2.7.2" />
<PackageReference Include="Argu" />
<PackageReference Include="Oceanbox.FvcomKit" />
<PackageReference Include="SDSLite-O" />
<PackageReference Include="Serilog" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Gridding\Gridding.fsproj" />
</ItemGroup>
</Project>
</Project>

418
src/CLI/packages.lock.json Normal file
View File

@@ -0,0 +1,418 @@
{
"version": 2,
"dependencies": {
"net8.0": {
"Argu": {
"type": "Direct",
"requested": "[6.2.4, )",
"resolved": "6.2.4",
"contentHash": "RuANu8+L1P2HWozmbRXkj6MQGYwP5DL2wdARfBPtRjsLS8TSgwYjOKxMnY5LtjmHLlMBD3u2+MfbAy8xMGg8Qg==",
"dependencies": {
"FSharp.Core": "6.0.7",
"System.Configuration.ConfigurationManager": "4.4.0"
}
},
"FSharp.Analyzers.Build": {
"type": "Direct",
"requested": "[0.3.0, )",
"resolved": "0.3.0",
"contentHash": "twj4mNJLOEjHK6OQJCAbix2d8ODG5RySASejQ/v2fLgoqyRqYsXmceFaXb17ZE1pNrfenjwv/xpR+GembufaZA=="
},
"G-Research.FSharp.Analyzers": {
"type": "Direct",
"requested": "[0.9.3, )",
"resolved": "0.9.3",
"contentHash": "V83sHl7ubgQ9HLjxto/rZbgNKGMMpHZ+E6tmWm1JAGfpNUaYWnKdAkpdKxxooHmE/804pIAPuVTpna5xLeX1dw=="
},
"Ionide.Analyzers": {
"type": "Direct",
"requested": "[0.9.0, )",
"resolved": "0.9.0",
"contentHash": "yCJHdPHJef/Yl7iPED8lRoxPjM1HXx1tielT7lp40FxOKURiLGziyhxfZqbo4WTYVKdSxOJv3+s2+ArJYuirvg=="
},
"Oceanbox.FvcomKit": {
"type": "Direct",
"requested": "[5.5.3, )",
"resolved": "5.5.3",
"contentHash": "Rt9S3BF/4wjqNLlTpqnsRUqezA1NloY+MDMVMRYXCoACuXdDMAsuyT/YCCOKx2KDc1IZD4QDgWKuTUS4r4F6bQ==",
"dependencies": {
"FSharp.Core": "8.0.100",
"FSharp.Data": "6.3.0",
"FSharpPlus": "1.5.0",
"FsPickler": "5.3.2",
"KDTree": "1.4.1",
"MathNet.Numerics.FSharp": "5.0.0",
"ProjNet.FSharp": "5.2.0",
"SDSlite.Oceanbox": "2.7.3",
"Serilog": "3.1.1",
"Serilog.Sinks.Console": "5.0.1",
"Serilog.Sinks.Seq": "6.0.0",
"Thoth.Json.Net": "11.0.0"
}
},
"SDSLite-O": {
"type": "Direct",
"requested": "[2.7.2, )",
"resolved": "2.7.2",
"contentHash": "UzRh4jECBP4Ee/6lDHRowiEMDhT0tPuJd5Fr1Y2lwvKx4Sfk3MzaZBaKuaeJliwvuUm6wEupHoGELWhQVTuwBw==",
"dependencies": {
"DynamicInterop": "0.9.1"
}
},
"Serilog": {
"type": "Direct",
"requested": "[4.0.1, )",
"resolved": "4.0.1",
"contentHash": "pzeDRXdpSLSsgBHpZcmpIDxqMy845Ab4s+dfnBg0sN9h8q/4Wo3vAoe0QCGPze1Q06EVtEPupS+UvLm8iXQmTQ=="
},
"DynamicInterop": {
"type": "Transitive",
"resolved": "0.9.1",
"contentHash": "n21+Hd+tceX8lgaOosPV+Pne+YqnZUd5RLW3OhnsVxWRzYXiAIAKmKweHIePYeY+fmcn3N5tjkJyQUccFuL3bg=="
},
"Fable.Core": {
"type": "Transitive",
"resolved": "3.1.6",
"contentHash": "w6M1F0zoLk4kTFc1Lx6x1Ft6BD3QwRe0eaLiinAqbjVkcF+iK+NiXGJO+a6q9RAF9NCg0vI48Xku7aNeqG4JVw==",
"dependencies": {
"FSharp.Core": "4.7.1"
}
},
"FSharp.Core": {
"type": "Transitive",
"resolved": "8.0.100",
"contentHash": "ZOVZ/o+jI3ormTZOa28Wh0tSRoyle1f7lKFcUN61sPiXI7eDZu8eSveFybgTeyIEyW0ujjp31cp7GOglDgsNEg=="
},
"FSharp.Data": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "nzbYXC+erJeSgBadHTbQqb3J4pTNQ3NCuKIFpuMjAFDdF+oZLYGWMrOEXK3XpfKfs9G//D6rZkK6m2MS59CWHQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Csv.Core": "6.3.0",
"FSharp.Data.Html.Core": "6.3.0",
"FSharp.Data.Http": "6.3.0",
"FSharp.Data.Json.Core": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0",
"FSharp.Data.WorldBank.Core": "6.3.0",
"FSharp.Data.Xml.Core": "6.3.0"
}
},
"FSharp.Data.Csv.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "esvZUiizgxPlzYQSKRy7VhwY1CRXRQuuwDkfP4ajCcUayHOl4Ny+Tb8HRplA4kcIVEdkAiQW2+xRIEAFP/jl/g==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharp.Data.Html.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "tvG2LYcVvRD+BCN1pnjljgYl8V6q7w7ZMZ45KtTmK6kQtYxzDA+Wmqd4ZU1qh1btPwxp/+KVLoXcVU07Ltm/FQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Csv.Core": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharp.Data.Http": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "8NcHLQpqXD0cx9SIBoNGfCroBx/gyAR3aR20Ax+TQGG7lUi+HSi3FD/Y0PBHiHIJQHBPsGKmJ9ADz3vqdXwtnw==",
"dependencies": {
"FSharp.Core": "5.0.1"
}
},
"FSharp.Data.Json.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "vKqMe/FagHZJRqyQMyg2Af3xeDldO9w4SN6awq8KoxIf963GqT4w2E7FpH9VNNbMzH6+91rz54uTwwC0huD+qQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Http": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharp.Data.Runtime.Utilities": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "9hKUvcqn/sC6SrVz1Rjeswtn62mG4OMgFh3/dAJD6bgeaMuMjj6wS9So/DtQXwgOGk44icn+QN659OoFtDKDlw==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Http": "6.3.0"
}
},
"FSharp.Data.WorldBank.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "kW52EsL4oquFohn0i7mopdWilNKmJlDmdaM2pA1QN8frrX+K731mkg44dtASG7kFQeccwfpq3uJb2Dtpo/VIaQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Http": "6.3.0",
"FSharp.Data.Json.Core": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharp.Data.Xml.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "P+ktC5XRZF+P2BgGj9J6ygviu8AQ9CSSmrNT/9Ye815+pEaPN0Vj6u+tc8TvNxLlee24VKIC0j3x4TVSBVtqAQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Http": "6.3.0",
"FSharp.Data.Json.Core": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharpPlus": {
"type": "Transitive",
"resolved": "1.5.0",
"contentHash": "s7pkW1pmUiPDhFC7VqlBpex0QbLPnPuY5gKOrVG7ewWtvJPYs3hhHAcDNzthpNkqZ5iRVPKQSMngAwYBRtKMyw==",
"dependencies": {
"FSharp.Core": "6.0.6"
}
},
"FsPickler": {
"type": "Transitive",
"resolved": "5.3.2",
"contentHash": "LFtxXpQNor8az1ez3rN9oz2cqf/06i9yTrPyJ9R83qLEpFAU7Of0WL2hoSXzLHer4lh+6mO1NV4VQFiBzNRtjw==",
"dependencies": {
"FSharp.Core": "4.3.2",
"System.Reflection.Emit.Lightweight": "4.3.0"
}
},
"KdTree": {
"type": "Transitive",
"resolved": "1.4.1",
"contentHash": "yWbb35v/V9y88SLLMUPTlAN3pQEoPhDfZf9PApFnlU4kLtwVQ75U9vW5mW4/alQnLBuLKWBKcy4W5xK95mYsuA=="
},
"MathNet.Numerics": {
"type": "Transitive",
"resolved": "5.0.0",
"contentHash": "pg1W2VwaEQMAiTpGK840hZgzavnqjlCMTVSbtVCXVyT+7AX4mc1o89SPv4TBlAjhgCOo9c1Y+jZ5m3ti2YgGgA=="
},
"MathNet.Numerics.FSharp": {
"type": "Transitive",
"resolved": "5.0.0",
"contentHash": "lKYhd68fReW5odX/q+Uzxw3357Duq3zmvkYvnZVqqcc2r/EmrYGDoOdUGuHnhfr8yj9V34js5gQH/7IWcxZJxg==",
"dependencies": {
"FSharp.Core": "6.0.2",
"MathNet.Numerics": "5.0.0"
}
},
"Microsoft.NETCore.Platforms": {
"type": "Transitive",
"resolved": "1.1.0",
"contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
},
"Microsoft.NETCore.Targets": {
"type": "Transitive",
"resolved": "1.1.0",
"contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg=="
},
"Newtonsoft.Json": {
"type": "Transitive",
"resolved": "11.0.2",
"contentHash": "IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ=="
},
"ProjNET": {
"type": "Transitive",
"resolved": "2.0.0",
"contentHash": "iMJG8qpGJ8SjFrB044O8wgo0raAWCdG1Bvly0mmVcjzsrexDHhC+dUct6Wb1YwQtupMBjSTWq7Fn00YeNErprA==",
"dependencies": {
"System.Memory": "4.5.3",
"System.Numerics.Vectors": "4.5.0"
}
},
"ProjNet.FSharp": {
"type": "Transitive",
"resolved": "5.2.0",
"contentHash": "sYSePg/0sVo16Fk3r7okVSga6i9GAN0kkjt1haEXVw25SF8A4S3Gcpf5+6lgknBGdYiZBmJ+3S6v5g1WSSCp2g==",
"dependencies": {
"FSharp.Core": "8.0.100",
"FSharp.Data": "6.3.0",
"FSharpPlus": "1.5.0",
"ProjNet": "2.0.0"
}
},
"SDSLite.Oceanbox": {
"type": "Transitive",
"resolved": "2.7.3",
"contentHash": "tmTPsEUmQhwaCzHwuSw7he2FfjcVpZ/Sy2ewfTwm1IKnwOZazKouTS5t4LNUpaGtjK1o/gdfz1b+0KxXnUl97g==",
"dependencies": {
"DynamicInterop": "0.9.1"
}
},
"Serilog.Formatting.Compact": {
"type": "Transitive",
"resolved": "2.0.0",
"contentHash": "ob6z3ikzFM3D1xalhFuBIK1IOWf+XrQq+H4KeH4VqBcPpNcmUgZlRQ2h3Q7wvthpdZBBoY86qZOI2LCXNaLlNA==",
"dependencies": {
"Serilog": "3.1.0"
}
},
"Serilog.Sinks.Console": {
"type": "Transitive",
"resolved": "5.0.1",
"contentHash": "6Jt8jl9y2ey8VV7nVEUAyjjyxjAQuvd5+qj4XYAT9CwcsvR70HHULGBeD+K2WCALFXf7CFsNQT4lON6qXcu2AA==",
"dependencies": {
"Serilog": "3.1.1"
}
},
"Serilog.Sinks.File": {
"type": "Transitive",
"resolved": "5.0.0",
"contentHash": "uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==",
"dependencies": {
"Serilog": "2.10.0"
}
},
"Serilog.Sinks.PeriodicBatching": {
"type": "Transitive",
"resolved": "3.1.0",
"contentHash": "NDWR7m3PalVlGEq3rzoktrXikjFMLmpwF0HI4sowo8YDdU+gqPlTHlDQiOGxHfB0sTfjPA9JjA7ctKG9zqjGkw==",
"dependencies": {
"Serilog": "2.0.0"
}
},
"Serilog.Sinks.Seq": {
"type": "Transitive",
"resolved": "6.0.0",
"contentHash": "LtxlH5xE3ZPxmCYL5+I8tPzytnR91xfFFIIUIcpoGq69a45eyFkrVMonApww+B08a0I++GfM7jP1oB6GBhOR1w==",
"dependencies": {
"Serilog": "3.1.1",
"Serilog.Formatting.Compact": "2.0.0",
"Serilog.Sinks.File": "5.0.0",
"Serilog.Sinks.PeriodicBatching": "3.1.0"
}
},
"System.Configuration.ConfigurationManager": {
"type": "Transitive",
"resolved": "4.4.0",
"contentHash": "gWwQv/Ug1qWJmHCmN17nAbxJYmQBM/E94QxKLksvUiiKB1Ld3Sc/eK1lgmbSjDFxkQhVuayI/cGFZhpBSodLrg==",
"dependencies": {
"System.Security.Cryptography.ProtectedData": "4.4.0"
}
},
"System.IO": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0",
"System.Text.Encoding": "4.3.0",
"System.Threading.Tasks": "4.3.0"
}
},
"System.Memory": {
"type": "Transitive",
"resolved": "4.5.3",
"contentHash": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA=="
},
"System.Numerics.Vectors": {
"type": "Transitive",
"resolved": "4.5.0",
"contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ=="
},
"System.Reflection": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.IO": "4.3.0",
"System.Reflection.Primitives": "4.3.0",
"System.Runtime": "4.3.0"
}
},
"System.Reflection.Emit.ILGeneration": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==",
"dependencies": {
"System.Reflection": "4.3.0",
"System.Reflection.Primitives": "4.3.0",
"System.Runtime": "4.3.0"
}
},
"System.Reflection.Emit.Lightweight": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==",
"dependencies": {
"System.Reflection": "4.3.0",
"System.Reflection.Emit.ILGeneration": "4.3.0",
"System.Reflection.Primitives": "4.3.0",
"System.Runtime": "4.3.0"
}
},
"System.Reflection.Primitives": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0"
}
},
"System.Runtime": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0"
}
},
"System.Security.Cryptography.ProtectedData": {
"type": "Transitive",
"resolved": "4.4.0",
"contentHash": "cJV7ScGW7EhatRsjehfvvYVBvtiSMKgN8bOVI0bQhnF5bU7vnHVIsH49Kva7i7GWaWYvmEzkYVk1TC+gZYBEog=="
},
"System.Text.Encoding": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0"
}
},
"System.Threading.Tasks": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0"
}
},
"Thoth.Json.Net": {
"type": "Transitive",
"resolved": "11.0.0",
"contentHash": "ugheFKMHRO3ReobCENha5J6uexPrp+Bn2d+WEcFbXaA77sNBWtTlx2StB+7lX8prMqdvO5uqlPeHlg+9dSpkNg==",
"dependencies": {
"FSharp.Core": "4.7.2",
"Fable.Core": "3.1.6",
"Newtonsoft.Json": "11.0.2"
}
},
"gridding": {
"type": "Project",
"dependencies": {
"Oceanbox.FvcomKit": "[5.5.3, )",
"SDSLite-O": "[2.7.2, )",
"Serilog": "[4.0.1, )"
}
}
}
}
}

View File

@@ -1,20 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net8.0</TargetFramework>
<IsPackable>true</IsPackable>
</PropertyGroup>
<ItemGroup>
<Compile Include="Polygon.fs" />
<Compile Include="Fvcom.fs" />
<Compile Include="Reduce.fs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Oceanbox.FvcomKit" Version="5.5.3" />
<PackageReference Include="SDSLite-O" Version="2.7.2" />
<PackageReference Include="Oceanbox.FvcomKit" />
<PackageReference Include="SDSLite-O" />
<PackageReference Include="Serilog" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,387 @@
{
"version": 2,
"dependencies": {
"net8.0": {
"FSharp.Analyzers.Build": {
"type": "Direct",
"requested": "[0.3.0, )",
"resolved": "0.3.0",
"contentHash": "twj4mNJLOEjHK6OQJCAbix2d8ODG5RySASejQ/v2fLgoqyRqYsXmceFaXb17ZE1pNrfenjwv/xpR+GembufaZA=="
},
"G-Research.FSharp.Analyzers": {
"type": "Direct",
"requested": "[0.9.3, )",
"resolved": "0.9.3",
"contentHash": "V83sHl7ubgQ9HLjxto/rZbgNKGMMpHZ+E6tmWm1JAGfpNUaYWnKdAkpdKxxooHmE/804pIAPuVTpna5xLeX1dw=="
},
"Ionide.Analyzers": {
"type": "Direct",
"requested": "[0.9.0, )",
"resolved": "0.9.0",
"contentHash": "yCJHdPHJef/Yl7iPED8lRoxPjM1HXx1tielT7lp40FxOKURiLGziyhxfZqbo4WTYVKdSxOJv3+s2+ArJYuirvg=="
},
"Oceanbox.FvcomKit": {
"type": "Direct",
"requested": "[5.5.3, )",
"resolved": "5.5.3",
"contentHash": "Rt9S3BF/4wjqNLlTpqnsRUqezA1NloY+MDMVMRYXCoACuXdDMAsuyT/YCCOKx2KDc1IZD4QDgWKuTUS4r4F6bQ==",
"dependencies": {
"FSharp.Core": "8.0.100",
"FSharp.Data": "6.3.0",
"FSharpPlus": "1.5.0",
"FsPickler": "5.3.2",
"KDTree": "1.4.1",
"MathNet.Numerics.FSharp": "5.0.0",
"ProjNet.FSharp": "5.2.0",
"SDSlite.Oceanbox": "2.7.3",
"Serilog": "3.1.1",
"Serilog.Sinks.Console": "5.0.1",
"Serilog.Sinks.Seq": "6.0.0",
"Thoth.Json.Net": "11.0.0"
}
},
"SDSLite-O": {
"type": "Direct",
"requested": "[2.7.2, )",
"resolved": "2.7.2",
"contentHash": "UzRh4jECBP4Ee/6lDHRowiEMDhT0tPuJd5Fr1Y2lwvKx4Sfk3MzaZBaKuaeJliwvuUm6wEupHoGELWhQVTuwBw==",
"dependencies": {
"DynamicInterop": "0.9.1"
}
},
"Serilog": {
"type": "Direct",
"requested": "[4.0.1, )",
"resolved": "4.0.1",
"contentHash": "pzeDRXdpSLSsgBHpZcmpIDxqMy845Ab4s+dfnBg0sN9h8q/4Wo3vAoe0QCGPze1Q06EVtEPupS+UvLm8iXQmTQ=="
},
"DynamicInterop": {
"type": "Transitive",
"resolved": "0.9.1",
"contentHash": "n21+Hd+tceX8lgaOosPV+Pne+YqnZUd5RLW3OhnsVxWRzYXiAIAKmKweHIePYeY+fmcn3N5tjkJyQUccFuL3bg=="
},
"Fable.Core": {
"type": "Transitive",
"resolved": "3.1.6",
"contentHash": "w6M1F0zoLk4kTFc1Lx6x1Ft6BD3QwRe0eaLiinAqbjVkcF+iK+NiXGJO+a6q9RAF9NCg0vI48Xku7aNeqG4JVw==",
"dependencies": {
"FSharp.Core": "4.7.1"
}
},
"FSharp.Core": {
"type": "Transitive",
"resolved": "8.0.100",
"contentHash": "ZOVZ/o+jI3ormTZOa28Wh0tSRoyle1f7lKFcUN61sPiXI7eDZu8eSveFybgTeyIEyW0ujjp31cp7GOglDgsNEg=="
},
"FSharp.Data": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "nzbYXC+erJeSgBadHTbQqb3J4pTNQ3NCuKIFpuMjAFDdF+oZLYGWMrOEXK3XpfKfs9G//D6rZkK6m2MS59CWHQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Csv.Core": "6.3.0",
"FSharp.Data.Html.Core": "6.3.0",
"FSharp.Data.Http": "6.3.0",
"FSharp.Data.Json.Core": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0",
"FSharp.Data.WorldBank.Core": "6.3.0",
"FSharp.Data.Xml.Core": "6.3.0"
}
},
"FSharp.Data.Csv.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "esvZUiizgxPlzYQSKRy7VhwY1CRXRQuuwDkfP4ajCcUayHOl4Ny+Tb8HRplA4kcIVEdkAiQW2+xRIEAFP/jl/g==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharp.Data.Html.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "tvG2LYcVvRD+BCN1pnjljgYl8V6q7w7ZMZ45KtTmK6kQtYxzDA+Wmqd4ZU1qh1btPwxp/+KVLoXcVU07Ltm/FQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Csv.Core": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharp.Data.Http": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "8NcHLQpqXD0cx9SIBoNGfCroBx/gyAR3aR20Ax+TQGG7lUi+HSi3FD/Y0PBHiHIJQHBPsGKmJ9ADz3vqdXwtnw==",
"dependencies": {
"FSharp.Core": "5.0.1"
}
},
"FSharp.Data.Json.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "vKqMe/FagHZJRqyQMyg2Af3xeDldO9w4SN6awq8KoxIf963GqT4w2E7FpH9VNNbMzH6+91rz54uTwwC0huD+qQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Http": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharp.Data.Runtime.Utilities": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "9hKUvcqn/sC6SrVz1Rjeswtn62mG4OMgFh3/dAJD6bgeaMuMjj6wS9So/DtQXwgOGk44icn+QN659OoFtDKDlw==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Http": "6.3.0"
}
},
"FSharp.Data.WorldBank.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "kW52EsL4oquFohn0i7mopdWilNKmJlDmdaM2pA1QN8frrX+K731mkg44dtASG7kFQeccwfpq3uJb2Dtpo/VIaQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Http": "6.3.0",
"FSharp.Data.Json.Core": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharp.Data.Xml.Core": {
"type": "Transitive",
"resolved": "6.3.0",
"contentHash": "P+ktC5XRZF+P2BgGj9J6ygviu8AQ9CSSmrNT/9Ye815+pEaPN0Vj6u+tc8TvNxLlee24VKIC0j3x4TVSBVtqAQ==",
"dependencies": {
"FSharp.Core": "5.0.1",
"FSharp.Data.Http": "6.3.0",
"FSharp.Data.Json.Core": "6.3.0",
"FSharp.Data.Runtime.Utilities": "6.3.0"
}
},
"FSharpPlus": {
"type": "Transitive",
"resolved": "1.5.0",
"contentHash": "s7pkW1pmUiPDhFC7VqlBpex0QbLPnPuY5gKOrVG7ewWtvJPYs3hhHAcDNzthpNkqZ5iRVPKQSMngAwYBRtKMyw==",
"dependencies": {
"FSharp.Core": "6.0.6"
}
},
"FsPickler": {
"type": "Transitive",
"resolved": "5.3.2",
"contentHash": "LFtxXpQNor8az1ez3rN9oz2cqf/06i9yTrPyJ9R83qLEpFAU7Of0WL2hoSXzLHer4lh+6mO1NV4VQFiBzNRtjw==",
"dependencies": {
"FSharp.Core": "4.3.2",
"System.Reflection.Emit.Lightweight": "4.3.0"
}
},
"KdTree": {
"type": "Transitive",
"resolved": "1.4.1",
"contentHash": "yWbb35v/V9y88SLLMUPTlAN3pQEoPhDfZf9PApFnlU4kLtwVQ75U9vW5mW4/alQnLBuLKWBKcy4W5xK95mYsuA=="
},
"MathNet.Numerics": {
"type": "Transitive",
"resolved": "5.0.0",
"contentHash": "pg1W2VwaEQMAiTpGK840hZgzavnqjlCMTVSbtVCXVyT+7AX4mc1o89SPv4TBlAjhgCOo9c1Y+jZ5m3ti2YgGgA=="
},
"MathNet.Numerics.FSharp": {
"type": "Transitive",
"resolved": "5.0.0",
"contentHash": "lKYhd68fReW5odX/q+Uzxw3357Duq3zmvkYvnZVqqcc2r/EmrYGDoOdUGuHnhfr8yj9V34js5gQH/7IWcxZJxg==",
"dependencies": {
"FSharp.Core": "6.0.2",
"MathNet.Numerics": "5.0.0"
}
},
"Microsoft.NETCore.Platforms": {
"type": "Transitive",
"resolved": "1.1.0",
"contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
},
"Microsoft.NETCore.Targets": {
"type": "Transitive",
"resolved": "1.1.0",
"contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg=="
},
"Newtonsoft.Json": {
"type": "Transitive",
"resolved": "11.0.2",
"contentHash": "IvJe1pj7JHEsP8B8J8DwlMEx8UInrs/x+9oVY+oCD13jpLu4JbJU2WCIsMRn5C4yW9+DgkaO8uiVE5VHKjpmdQ=="
},
"ProjNET": {
"type": "Transitive",
"resolved": "2.0.0",
"contentHash": "iMJG8qpGJ8SjFrB044O8wgo0raAWCdG1Bvly0mmVcjzsrexDHhC+dUct6Wb1YwQtupMBjSTWq7Fn00YeNErprA==",
"dependencies": {
"System.Memory": "4.5.3",
"System.Numerics.Vectors": "4.5.0"
}
},
"ProjNet.FSharp": {
"type": "Transitive",
"resolved": "5.2.0",
"contentHash": "sYSePg/0sVo16Fk3r7okVSga6i9GAN0kkjt1haEXVw25SF8A4S3Gcpf5+6lgknBGdYiZBmJ+3S6v5g1WSSCp2g==",
"dependencies": {
"FSharp.Core": "8.0.100",
"FSharp.Data": "6.3.0",
"FSharpPlus": "1.5.0",
"ProjNet": "2.0.0"
}
},
"SDSLite.Oceanbox": {
"type": "Transitive",
"resolved": "2.7.3",
"contentHash": "tmTPsEUmQhwaCzHwuSw7he2FfjcVpZ/Sy2ewfTwm1IKnwOZazKouTS5t4LNUpaGtjK1o/gdfz1b+0KxXnUl97g==",
"dependencies": {
"DynamicInterop": "0.9.1"
}
},
"Serilog.Formatting.Compact": {
"type": "Transitive",
"resolved": "2.0.0",
"contentHash": "ob6z3ikzFM3D1xalhFuBIK1IOWf+XrQq+H4KeH4VqBcPpNcmUgZlRQ2h3Q7wvthpdZBBoY86qZOI2LCXNaLlNA==",
"dependencies": {
"Serilog": "3.1.0"
}
},
"Serilog.Sinks.Console": {
"type": "Transitive",
"resolved": "5.0.1",
"contentHash": "6Jt8jl9y2ey8VV7nVEUAyjjyxjAQuvd5+qj4XYAT9CwcsvR70HHULGBeD+K2WCALFXf7CFsNQT4lON6qXcu2AA==",
"dependencies": {
"Serilog": "3.1.1"
}
},
"Serilog.Sinks.File": {
"type": "Transitive",
"resolved": "5.0.0",
"contentHash": "uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==",
"dependencies": {
"Serilog": "2.10.0"
}
},
"Serilog.Sinks.PeriodicBatching": {
"type": "Transitive",
"resolved": "3.1.0",
"contentHash": "NDWR7m3PalVlGEq3rzoktrXikjFMLmpwF0HI4sowo8YDdU+gqPlTHlDQiOGxHfB0sTfjPA9JjA7ctKG9zqjGkw==",
"dependencies": {
"Serilog": "2.0.0"
}
},
"Serilog.Sinks.Seq": {
"type": "Transitive",
"resolved": "6.0.0",
"contentHash": "LtxlH5xE3ZPxmCYL5+I8tPzytnR91xfFFIIUIcpoGq69a45eyFkrVMonApww+B08a0I++GfM7jP1oB6GBhOR1w==",
"dependencies": {
"Serilog": "3.1.1",
"Serilog.Formatting.Compact": "2.0.0",
"Serilog.Sinks.File": "5.0.0",
"Serilog.Sinks.PeriodicBatching": "3.1.0"
}
},
"System.IO": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0",
"System.Text.Encoding": "4.3.0",
"System.Threading.Tasks": "4.3.0"
}
},
"System.Memory": {
"type": "Transitive",
"resolved": "4.5.3",
"contentHash": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA=="
},
"System.Numerics.Vectors": {
"type": "Transitive",
"resolved": "4.5.0",
"contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ=="
},
"System.Reflection": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.IO": "4.3.0",
"System.Reflection.Primitives": "4.3.0",
"System.Runtime": "4.3.0"
}
},
"System.Reflection.Emit.ILGeneration": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==",
"dependencies": {
"System.Reflection": "4.3.0",
"System.Reflection.Primitives": "4.3.0",
"System.Runtime": "4.3.0"
}
},
"System.Reflection.Emit.Lightweight": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==",
"dependencies": {
"System.Reflection": "4.3.0",
"System.Reflection.Emit.ILGeneration": "4.3.0",
"System.Reflection.Primitives": "4.3.0",
"System.Runtime": "4.3.0"
}
},
"System.Reflection.Primitives": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0"
}
},
"System.Runtime": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0"
}
},
"System.Text.Encoding": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0"
}
},
"System.Threading.Tasks": {
"type": "Transitive",
"resolved": "4.3.0",
"contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0"
}
},
"Thoth.Json.Net": {
"type": "Transitive",
"resolved": "11.0.0",
"contentHash": "ugheFKMHRO3ReobCENha5J6uexPrp+Bn2d+WEcFbXaA77sNBWtTlx2StB+7lX8prMqdvO5uqlPeHlg+9dSpkNg==",
"dependencies": {
"FSharp.Core": "4.7.2",
"Fable.Core": "3.1.6",
"Newtonsoft.Json": "11.0.2"
}
}
}
}
}