Skip to content

Commit 0b5bf38

Browse files
authored
F# 9 Nullness and remove paket (#51)
* Convert to nuget CPM * Deal with F#9 and nullness * Update dotnet version in github action * fix devcontainer * remove old SRTP hacks
1 parent db0b55b commit 0b5bf38

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+380
-1428
lines changed

.config/dotnet-tools.json

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,26 @@
22
"version": 1,
33
"isRoot": true,
44
"tools": {
5-
"paket": {
6-
"version": "8.0.3",
7-
"commands": [
8-
"paket"
9-
]
10-
},
115
"fsharp-analyzers": {
126
"version": "0.11.0",
137
"commands": [
148
"fsharp-analyzers"
15-
]
9+
],
10+
"rollForward": false
1611
},
1712
"fantomas": {
18-
"version": "6.2.0",
13+
"version": "7.0.1",
1914
"commands": [
2015
"fantomas"
21-
]
16+
],
17+
"rollForward": false
2218
},
2319
"fsdocs-tool": {
2420
"version": "20.0.0-alpha-018",
2521
"commands": [
2622
"fsdocs"
27-
]
23+
],
24+
"rollForward": false
2825
}
2926
}
30-
}
27+
}

.devcontainer/devcontainer.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
"ghcr.io/devcontainers-contrib/features/starship:1": {},
2424
// https://github.com/devcontainers/features/blob/main/src/dotnet/README.md
2525
"ghcr.io/devcontainers/features/dotnet:2": {
26-
"version": "8.0",
27-
"additionalVersions": "6.0"
26+
"version": "9.0",
27+
"additionalVersions": "8.0"
2828
}
2929
},
3030
"overrideFeatureInstallOrder": [
@@ -40,7 +40,6 @@
4040
"ms-dotnettools.csharp",
4141
"Ionide.Ionide-fsharp",
4242
"tintoy.msbuild-project-tools",
43-
"ionide.ionide-paket",
4443
"usernamehw.errorlens",
4544
"alefragnani.Bookmarks",
4645
"oderwat.indent-rainbow",

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
global-json-file: global.json
3131
dotnet-version: |
3232
8.x
33-
6.x
33+
9.x
3434
# Build on mac/linux
3535
- name: Build via Bash
3636
if: runner.os != 'Windows'

.paket/Paket.Restore.targets

Lines changed: 0 additions & 560 deletions
This file was deleted.

.vscode/extensions.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"ms-dotnettools.csharp",
44
"Ionide.Ionide-fsharp",
55
"tintoy.msbuild-project-tools",
6-
"ionide.ionide-paket",
76
"usernamehw.errorlens",
87
"alefragnani.Bookmarks",
98
"oderwat.indent-rainbow",

Directory.Build.props

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,22 @@
1010
<!-- owners is not supported in MSBuild -->
1111
<OtherFlags>$(OtherFlags) --test:GraphBasedChecking --test:ParallelIlxGen --test:ParallelOptimization </OtherFlags>
1212
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
13-
<NoWarn>$(NoWarn);FS2003; NU1903; NU1904</NoWarn>
13+
<!-- <NoWarn>$(NoWarn);FS2003; NU1903; NU1904; NU1504</NoWarn> -->
14+
<NoWarn>$(NoWarn);FS0057</NoWarn> <!-- Suppress warning FS0057, Resumable code -->
15+
<NoWarn>$(NoWarn);NU5104</NoWarn> <!-- Suppress warning NU5104, A stable release of a package should not have a prerelease dependency -->
1416
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
1517
<!--
1618
* FS3517 InlineIfLambda didn't get inlined
1719
-->
1820
<!-- <WarnOn>$(WarnOn);3517</WarnOn> -->
21+
22+
23+
</PropertyGroup>
24+
<PropertyGroup Condition=" '$(MSBuildProjectExtension)' == '.fsproj'">
25+
<DisableImplicitFSharpCoreReference>True</DisableImplicitFSharpCoreReference>
26+
27+
<LangVersion>8.0</LangVersion>
28+
<LangVersion Condition="'$(TargetFramework)' == 'net9.0'">9.0</LangVersion>
29+
<Nullable Condition="'$(TargetFramework)' == 'net9.0'">enable</Nullable>
1930
</PropertyGroup>
2031
</Project>

Directory.Build.targets

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ See https://learn.microsoft.com/en-us/visualstudio/msbuild/customize-by-director
1111
<_DotnetFantomasOutputFile>$(BaseIntermediateOutputPath)dotnet-fantomas-msbuild-$(NETCoreSdkVersion)-$(OS)</_DotnetFantomasOutputFile>
1212
</PropertyGroup>
1313

14-
<!-- Make sure that dotnet tools (including paket) are restored before restoring any project -->
15-
<Target Name="ToolRestore" BeforeTargets="Restore;CollectPackageReferences;PaketRestore" Inputs="$(_DotnetToolManifestFile)" Outputs="$(_DotnetToolRestoreOutputFile)">
14+
<!-- Make sure that dotnet tools are restored before restoring any project -->
15+
<Target Name="ToolRestore" BeforeTargets="Restore;CollectPackageReferences" Inputs="$(_DotnetToolManifestFile)" Outputs="$(_DotnetToolRestoreOutputFile)">
1616
<Exec Command="dotnet tool restore" WorkingDirectory="$(MSBuildThisFileDirectory)" StandardOutputImportance="High" StandardErrorImportance="High" />
1717
<MakeDir Directories="$(_BuildProjBaseIntermediateOutputPath)"/>
1818
<Touch Files="$(_DotnetToolRestoreOutputFile)" AlwaysCreate="True" ForceTouch="True" />

Directory.Packages.props

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<Project>
2+
<PropertyGroup>
3+
<!-- Enable central package management, https://learn.microsoft.com/en-us/nuget/consume-packages/Central-Package-Management -->
4+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<!-- Main Package -->
8+
<PackageVersion Include="FSharp.Core" Version="6.0.1" NoWarn="NU1504"/>
9+
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0"/>
10+
11+
<!-- Benchmarks -->
12+
<PackageVersion Include="BenchmarkDotNet" Version="0.13.9"/>
13+
<PackageVersion Include="Ply" Version="0.3.1"/>
14+
15+
<!-- Test -->
16+
<PackageVersion Include="Expecto" Version="10.1.0" />
17+
<PackageVersion Include="Expecto.FsCheck" Version="10.1.0" />
18+
<PackageVersion Include="Microsoft.Bcl.TimeProvider" Version="8.0.0" />
19+
<PackageVersion Include="TimeProviderExtensions" Version="1.0.0" />
20+
<PackageVersion Include="YoloDev.Expecto.TestSdk" Version="0.14.2" />
21+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
22+
<PackageVersion Include="FSharp.Control.TaskSeq" Version="0.4.0" />
23+
24+
25+
<!-- Build -->
26+
<PackageVersion Include="Fake.IO.FileSystem" Version="6.0.0" />
27+
<PackageVersion Include="Fake.Core.Target" Version="6.0.0" />
28+
<PackageVersion Include="Fake.Core.ReleaseNotes" Version="6.0.0" />
29+
<PackageVersion Include="Fake.Core.Environment" Version="6.0.0" />
30+
<PackageVersion Include="Fake.DotNet.Cli" Version="6.0.0" />
31+
<PackageVersion Include="Fake.Core.Process" Version="6.0.0" />
32+
<PackageVersion Include="Fake.DotNet.AssemblyInfoFile" Version="6.0.0" />
33+
<PackageVersion Include="Fake.Tools.Git" Version="6.0.0" />
34+
<PackageVersion Include="Fake.Api.GitHub" Version="6.0.0" />
35+
<PackageVersion Include="Fake.BuildServer.GitHubActions" Version="6.0.0" />
36+
<PackageVersion Include="Argu" Version="6.2.5" />
37+
<PackageVersion Include="Octokit" Version="0.50.0" />
38+
<PackageVersion Include="MSBuild.StructuredLogger" Version="2.2.243" />
39+
40+
</ItemGroup>
41+
</Project>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net6.0;net8.0</TargetFrameworks>
4+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<IsPackable>false</IsPackable>
88
</PropertyGroup>
99

10-
<Import Project="..\..\.paket\Paket.Restore.targets" />
10+
1111
</Project>

benchmarks/CSharpTaskBenchmarks/paket.references

Whitespace-only changes.

0 commit comments

Comments
 (0)