Skip to content

Commit 5b74d1e

Browse files
authored
Migration to .NET 10 (#106)
* feat: migration to .NET 10 * feat: migration to slnx * feat: restore .NET 8 build * feat: expose some helper * fix: install only .net 10 sdk * fix: breking changes
1 parent a47d433 commit 5b74d1e

File tree

13 files changed

+67
-70
lines changed

13 files changed

+67
-70
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"csharpier": {
6-
"version": "1.1.2",
6+
"version": "1.2.1",
77
"commands": [
88
"csharpier"
99
],

.github/workflows/main.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919
steps:
2020
- name: Checkout
2121
uses: actions/checkout@v2
22-
- name: Setup .NET 9.0 SDK
22+
- name: Setup .NET 10.0 SDK
2323
uses: actions/setup-dotnet@v4
2424
with:
25-
dotnet-version: "9.0.x"
25+
dotnet-version: "10.0.x"
2626
- name: Build and Test
2727
run: dotnet fsi build.fsx -- -p build
2828
- name: Upload Artifacts
@@ -38,10 +38,10 @@ jobs:
3838
steps:
3939
- name: Checkout
4040
uses: actions/checkout@v2
41-
- name: Setup .NET 9.0 SDK
41+
- name: Setup .NET 10.0 SDK
4242
uses: actions/setup-dotnet@v4
4343
with:
44-
dotnet-version: "9.0.x"
44+
dotnet-version: "10.0.x"
4545
- name: Build and Test
4646
run: dotnet fsi build.fsx -- -p build
4747
- name: Setup DocFX

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## [3.1.0] - August 30, 2025
4+
5+
- Build with .NET 10.0 and provide .NET 8 & 10 binaries (#106)
6+
37
## [3.0.2] - August 30, 2025
48

59
- Extends `DocumentAssembler` to also apply HTML formatting on content in table cells (#101)

Clippit.Tests/Clippit.Tests.csproj

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net9.0</TargetFramework>
5+
<TargetFramework>net10.0</TargetFramework>
66
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
77
</PropertyGroup>
88
<ItemGroup>
99
<ProjectReference Include="..\Clippit\Clippit.csproj" />
1010
</ItemGroup>
1111
<ItemGroup>
12-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.0" />
13-
<PackageReference Include="xunit.v3" Version="3.1.0" />
14-
<PackageReference Include="xunit.v3.runner.console" Version="3.1.0">
12+
<PackageReference Include="xunit.v3" Version="3.2.0" />
13+
<PackageReference Include="xunit.v3.runner.console" Version="3.2.0">
1514
<PrivateAssets>all</PrivateAssets>
1615
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1716
</PackageReference>

Clippit.sln

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

Clippit.slnx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<Solution>
2+
<Project Path="Clippit/Clippit.csproj" />
3+
<Project Path="Clippit.Tests/Clippit.Tests.csproj" />
4+
<Folder Name="/Solution Items/">
5+
<File Path="README.md" />
6+
<File Path=".editorconfig" />
7+
<File Path=".gitignore" />
8+
<File Path="build.fsx" />
9+
<File Path="CHANGELOG.md" />
10+
<File Path="Directory.Build.props" />
11+
<File Path="global.json" />
12+
</Folder>
13+
</Solution>
File renamed without changes.

Clippit/Clippit.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project Sdk="Microsoft.NET.Sdk">
33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
55
<PackageId>Clippit</PackageId>
66
<IncludeSymbols>true</IncludeSymbols>
77
<SymbolPackageFormat>snupkg</SymbolPackageFormat>

Clippit/Comparer/WmlComparer.Private.Methods.Lcs.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1173,15 +1173,15 @@ private static List<CorrelatedSequence> DoLcsAlgorithmForTable(CorrelatedSequenc
11731173
throw new OpenXmlPowerToolsException("Internal error");
11741174
}
11751175

1176-
var tblElement1 = firstContentAtom1.AncestorElements.Reverse().First(a => a.Name == W.tbl);
1176+
var tblElement1 = firstContentAtom1.AncestorElements.Last(a => a.Name == W.tbl);
11771177

11781178
var firstContentAtom2 = tblGroup2.DescendantContentAtoms().FirstOrDefault();
11791179
if (firstContentAtom2 == null)
11801180
{
11811181
throw new OpenXmlPowerToolsException("Internal error");
11821182
}
11831183

1184-
var tblElement2 = firstContentAtom2.AncestorElements.Reverse().First(a => a.Name == W.tbl);
1184+
var tblElement2 = firstContentAtom2.AncestorElements.Last(a => a.Name == W.tbl);
11851185

11861186
var leftContainsMerged = tblElement1.Descendants().Any(d => d.Name == W.vMerge || d.Name == W.gridSpan);
11871187

Clippit/Comparer/WmlComparer.Private.Methods.ProduceDocument.cs

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ cs.CorrelationStatus is CorrelationStatus.Deleted or CorrelationStatus.Inserted
386386
if (firstContentAtom == null)
387387
throw new OpenXmlPowerToolsException("Internal error");
388388

389-
var tr = firstContentAtom.AncestorElements.Reverse().FirstOrDefault(a => a.Name == W.tr);
389+
var tr = firstContentAtom.AncestorElements.LastOrDefault(a => a.Name == W.tr);
390390

391391
if (tr == null)
392392
throw new OpenXmlPowerToolsException("Internal error");
@@ -2219,10 +2219,11 @@ unknown.ComparisonUnitArray1[0] is ComparisonUnitWord first1
22192219
// if we get to here, then countCommonAtBeginning == 0
22202220

22212221
var countCommonAtEnd = unknown
2222-
.ComparisonUnitArray1.Reverse()
2222+
.ComparisonUnitArray1.AsEnumerable()
2223+
.Reverse()
22232224
.Take(lengthToCompare)
22242225
.Zip(
2225-
unknown.ComparisonUnitArray2.Reverse().Take(lengthToCompare),
2226+
unknown.ComparisonUnitArray2.AsEnumerable().Reverse().Take(lengthToCompare),
22262227
(pu1, pu2) => new { Pu1 = pu1, Pu2 = pu2 }
22272228
)
22282229
.TakeWhile(pair => pair.Pu1.SHA1Hash == pair.Pu2.SHA1Hash)
@@ -2234,7 +2235,11 @@ unknown.ComparisonUnitArray1[0] is ComparisonUnitWord first1
22342235
if (countCommonAtEnd <= 1)
22352236
break;
22362237

2237-
var firstCommon = unknown.ComparisonUnitArray1.Reverse().Take(countCommonAtEnd).LastOrDefault();
2238+
var firstCommon = unknown
2239+
.ComparisonUnitArray1.AsEnumerable()
2240+
.Reverse()
2241+
.Take(countCommonAtEnd)
2242+
.LastOrDefault();
22382243

22392244
if (firstCommon is not ComparisonUnitWord firstCommonWord)
22402245
break;
@@ -2255,7 +2260,11 @@ unknown.ComparisonUnitArray1[0] is ComparisonUnitWord first1
22552260
var isOnlyParagraphMark = false;
22562261
if (countCommonAtEnd == 1)
22572262
{
2258-
var firstCommon = unknown.ComparisonUnitArray1.Reverse().Take(countCommonAtEnd).LastOrDefault();
2263+
var firstCommon = unknown
2264+
.ComparisonUnitArray1.AsEnumerable()
2265+
.Reverse()
2266+
.Take(countCommonAtEnd)
2267+
.LastOrDefault();
22592268

22602269
if (firstCommon is ComparisonUnitWord firstCommonWord)
22612270
{
@@ -2273,9 +2282,17 @@ unknown.ComparisonUnitArray1[0] is ComparisonUnitWord first1
22732282

22742283
if (countCommonAtEnd == 2)
22752284
{
2276-
var firstCommon = unknown.ComparisonUnitArray1.Reverse().Take(countCommonAtEnd).LastOrDefault();
2285+
var firstCommon = unknown
2286+
.ComparisonUnitArray1.AsEnumerable()
2287+
.Reverse()
2288+
.Take(countCommonAtEnd)
2289+
.LastOrDefault();
22772290

2278-
var secondCommon = unknown.ComparisonUnitArray1.Reverse().Take(countCommonAtEnd).FirstOrDefault();
2291+
var secondCommon = unknown
2292+
.ComparisonUnitArray1.AsEnumerable()
2293+
.Reverse()
2294+
.Take(countCommonAtEnd)
2295+
.FirstOrDefault();
22792296

22802297
if (
22812298
firstCommon is ComparisonUnitWord firstCommonWord
@@ -2327,7 +2344,7 @@ firstCommon is ComparisonUnitWord firstCommonWord
23272344
var remainingInLeftParagraph = 0;
23282345
var remainingInRightParagraph = 0;
23292346

2330-
var commonEndSeq = unknown.ComparisonUnitArray1.Reverse().Take(countCommonAtEnd).Reverse().ToList();
2347+
var commonEndSeq = unknown.ComparisonUnitArray1.TakeLast(countCommonAtEnd).ToList();
23312348

23322349
var firstOfCommonEndSeq = commonEndSeq.First();
23332350
if (firstOfCommonEndSeq is ComparisonUnitWord)
@@ -2346,7 +2363,8 @@ firstCommon is ComparisonUnitWord firstCommonWord
23462363
)
23472364
{
23482365
remainingInLeftParagraph = unknown
2349-
.ComparisonUnitArray1.Reverse()
2366+
.ComparisonUnitArray1.AsEnumerable()
2367+
.Reverse()
23502368
.Skip(countCommonAtEnd)
23512369
.TakeWhile(cu =>
23522370
{
@@ -2361,7 +2379,8 @@ firstCommon is ComparisonUnitWord firstCommonWord
23612379
})
23622380
.Count();
23632381
remainingInRightParagraph = unknown
2364-
.ComparisonUnitArray2.Reverse()
2382+
.ComparisonUnitArray2.AsEnumerable()
2383+
.Reverse()
23652384
.Skip(countCommonAtEnd)
23662385
.TakeWhile(cu =>
23672386
{

0 commit comments

Comments
 (0)