Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- name: setup dotnet
uses: actions/setup-dotnet@v6
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

# always the project, never FluentMath.slnx; the solution also holds WPF v1, which needs net472
- name: restore
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/pr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
- name: setup dotnet
uses: actions/setup-dotnet@v6
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"
cache: true
cache-dependency-path: FluentMath/FluentMath.csproj

Expand All @@ -78,7 +78,7 @@ jobs:
- name: report publish size
shell: pwsh
run: |
$publishDir = "FluentMath/bin/x64/Release/net8.0-windows10.0.19041.0/publish/win-x64"
$publishDir = "FluentMath/bin/x64/Release/net10.0-windows10.0.19041.0/publish/win-x64"
$root = (Resolve-Path $publishDir).Path
$files = Get-ChildItem $root -Recurse -File
$total = ($files | Measure-Object -Property Length -Sum).Sum
Expand Down Expand Up @@ -111,11 +111,11 @@ jobs:
- name: setup dotnet
uses: actions/setup-dotnet@v6
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"
cache: true
cache-dependency-path: FluentMath.Tests/FluentMath.Tests.csproj

# plain net8.0, so neither a platform nor a runtime identifier
# plain net10.0, so neither a platform nor a runtime identifier
- name: engine tests
run: dotnet test FluentMath.Tests/FluentMath.Tests.csproj -c Release

Expand All @@ -131,7 +131,7 @@ jobs:
- name: setup dotnet
uses: actions/setup-dotnet@v6
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

# whitespace only, against the .editorconfig
# (no -p:Platform, which dotnet format answers with its usage help; lf holds through .gitattributes)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: setup dotnet
uses: actions/setup-dotnet@v6
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

# reads the version once so the csproj stays the only place it gets bumped by hand
- name: read version from csproj
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
run: |
$staging = "Setup/Output/FluentMath_Portable_${{ steps.version.outputs.version }}"
New-Item -ItemType Directory -Force -Path $staging | Out-Null
Copy-Item -Path "FluentMath/bin/x64/Release/net8.0-windows10.0.19041.0/publish/win-x64/*" -Destination $staging -Recurse -Force
Copy-Item -Path "FluentMath/bin/x64/Release/net10.0-windows10.0.19041.0/publish/win-x64/*" -Destination $staging -Recurse -Force
Copy-Item -Path "Setup/Portable/portable.txt" -Destination $staging -Force
Compress-Archive -Path $staging -DestinationPath "$staging.zip" -Force

Expand Down
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Fluent Math Development Guidelines

This project is a C#/.NET 8 WinUI 3 desktop app: a calculator for Windows that works the way a physical
This project is a C#/.NET 10 WinUI 3 desktop app: a calculator for Windows that works the way a physical
pocket calculator does. The whole equation is typed first and evaluated on `=`, which is what guarantees
the correct order of operations, rather than being evaluated after every operator the way the built-in
Windows Calculator does. It also converts currencies from the European Central Bank daily reference
Expand Down Expand Up @@ -94,7 +94,7 @@ FluentMath/
UpdateDialog, ReleaseNotesDialog, ReleaseNotesPage, PadEntrance, ICompactPage,
SmallKeyLabels

FluentMath.Tests/ the engine tests, plain net8.0, no reference to the app
FluentMath.Tests/ the engine tests, plain net10.0, no reference to the app
```

`MainWindow` holds the `NavigationView` and the `Frame` the pages are shown in, extends into the title
Expand Down Expand Up @@ -152,7 +152,7 @@ dotnet publish FluentMath/FluentMath.csproj -c Release -p:Platform=x64 -p:Publis
## Test

`FluentMath.Tests/` covers the input engine, the evaluator, the result formatter, the keypad
routing in `CalculatorViewModel`, the converters and the persistence layer. It targets plain `net8.0` and links the sources it tests rather than
routing in `CalculatorViewModel`, the converters and the persistence layer. It targets plain `net10.0` and links the sources it tests rather than
referencing the app, which is a `WinExe` on a Windows target framework and cannot be referenced from a
plain library, so the suite runs on any dotnet runner.

Expand Down
4 changes: 2 additions & 2 deletions FluentMath.Tests/FluentMath.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>disable</ImplicitUsings>
<IsPackable>false</IsPackable>
Expand All @@ -10,7 +10,7 @@
<!--
the engine, the ViewModels, the converters and the persistence layer are linked in rather than
referenced: the app is a WinExe on a Windows target framework and cannot be referenced from a plain
net8.0 library, while everything under test here is ordinary C# and runs on any dotnet runner
net10.0 library, while everything under test here is ordinary C# and runs on any dotnet runner
the ViewModel only got here at all once its two Visibility properties became bools
-->
<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion FluentMath/FluentMath.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
<TargetFramework>net10.0-windows10.0.19041.0</TargetFramework>

<!-- the only place the version is bumped; the assembly versions and release.yml (Inno Setup) derive from it -->
<Version>2.4.1</Version>
Expand Down
2 changes: 1 addition & 1 deletion FluentMath/Models/Layout/MathLayoutStyle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ namespace FluentMath.Models.Layout
// the formula layout knobs:
// every number that shapes the formula display; lengths in em, 1.0 being the font size of the part
// they belong to, so the formula scales with FontSizePx
// (no WinUI types, the tests build this on plain net8.0; the colors stay in the markup)
// (no WinUI types, the tests build this on plain net10.0; the colors stay in the markup)
public class MathLayoutStyle
{
// === the two display lines ===
Expand Down
4 changes: 2 additions & 2 deletions FluentMath/Properties/PublishProfiles/win-x64.pubxml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<PublishProtocol>FileSystem</PublishProtocol>
<Platform>x64</Platform>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<PublishDir>bin\x64\Release\net8.0-windows10.0.19041.0\publish\win-x64\</PublishDir>
<PublishDir>bin\x64\Release\net10.0-windows10.0.19041.0\publish\win-x64\</PublishDir>
<SelfContained>true</SelfContained>
<PublishSingleFile>false</PublishSingleFile>
<Configuration>Release</Configuration>
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
<TargetFramework>net10.0-windows10.0.19041.0</TargetFramework>
<PublishReadyToRun>false</PublishReadyToRun>
<PublishTrimmed>false</PublishTrimmed>
</PropertyGroup>
Expand Down
4 changes: 2 additions & 2 deletions Setup/FluentMath_Setup.iss
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{

[Files]
; must stay in sync with PublishDir in FluentMath/Properties/PublishProfiles/win-x64.pubxml
Source: "..\FluentMath\bin\x64\Release\net8.0-windows10.0.19041.0\publish\win-x64\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\FluentMath\bin\x64\Release\net10.0-windows10.0.19041.0\publish\win-x64\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
; Excludes keeps a local portable marker and its Persistence folder out, so no installed build writes
; into Program Files
Source: "..\FluentMath\bin\x64\Release\net8.0-windows10.0.19041.0\publish\win-x64\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: "\portable.txt,\Persistence"
Source: "..\FluentMath\bin\x64\Release\net10.0-windows10.0.19041.0\publish\win-x64\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: "\portable.txt,\Persistence"
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Expand Down
Loading