Skip to content

Commit 5c2c588

Browse files
fgreinachervbreuss
andauthored
refactor: restructure packages to improve extensibility (#919)
This change splits the System.IO.Abstractions package into TestableIO.System.IO.Abstractions and TestableIO.System.IO.Abstractions.Wrappers. The former contains just the interfaces and the latter the default wrapper implementations. The package System.IO.Abstractions still exists as meta package to reduce impact on existing users. The same applies to TestableIO.System.IO.Abstractions.TestingHelpers. BREAKING CHANGE: This refactoring moves all types to the TestableIO.System.IO.Abstractions library. Users might need to recompile their libraries. Co-authored-by: Valentin Breuß <[email protected]>
1 parent 6e2fd18 commit 5c2c588

File tree

98 files changed

+68
-49
lines changed

Some content is hidden

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

98 files changed

+68
-49
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ jobs:
8989
github.event_name == 'push' &&
9090
(
9191
startsWith(github.event.head_commit.message, 'feat:') ||
92-
startsWith(github.event.head_commit.message, 'fix:')
92+
startsWith(github.event.head_commit.message, 'fix:') ||
93+
contains(github.event.head_commit.message, 'breaking change')
9394
)
9495
needs: [pack]
9596
runs-on: ubuntu-latest

README.md

Lines changed: 7 additions & 3 deletions

System.IO.Abstractions.sln

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
1-
1+
22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 17
44
VisualStudioVersion = 17.3.32825.248
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5F3BDA62-8052-4C37-97A0-94354AA971B0}"
7-
ProjectSection(SolutionItems) = preProject
8-
appveyor.yml = appveyor.yml
9-
StrongName.snk = StrongName.snk
10-
EndProjectSection
11-
EndProject
12-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.IO.Abstractions.TestingHelpers.Tests", "tests\System.IO.Abstractions.TestingHelpers.Tests\System.IO.Abstractions.TestingHelpers.Tests.csproj", "{20B02738-952A-40F5-9C10-E2F83013E9FC}"
13-
EndProject
146
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.IO.Abstractions", "src\System.IO.Abstractions\System.IO.Abstractions.csproj", "{B7DA254D-496F-4C50-969C-CF925758E2ED}"
157
EndProject
168
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.IO.Abstractions.TestingHelpers", "src\System.IO.Abstractions.TestingHelpers\System.IO.Abstractions.TestingHelpers.csproj", "{0103D32A-6124-4A1A-AD6C-30EB957F09B0}"
179
EndProject
18-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.IO.Abstractions.Benchmarks", "benchmarks\System.IO.Abstractions.Benchmarks\System.IO.Abstractions.Benchmarks.csproj", "{015B3812-E01D-479C-895D-BDDF16E798CA}"
10+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestableIO.System.IO.Abstractions.Benchmarks", "benchmarks\TestableIO.System.IO.Abstractions.Benchmarks\TestableIO.System.IO.Abstractions.Benchmarks.csproj", "{015B3812-E01D-479C-895D-BDDF16E798CA}"
1911
EndProject
2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{BCEC61BD-4941-41EC-975A-ACEFC7AC1780}"
2113
EndProject
@@ -25,21 +17,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestableIO.System.IO.Abstra
2517
EndProject
2618
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestableIO.System.IO.Abstractions.Wrappers", "src\TestableIO.System.IO.Abstractions.Wrappers\TestableIO.System.IO.Abstractions.Wrappers.csproj", "{3698BB93-B031-4140-BAEF-D3480A94F531}"
2719
EndProject
28-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "images", "images", "{F781892B-7C5D-4C8D-8D3D-3E9E207D686D}"
29-
ProjectSection(SolutionItems) = preProject
30-
images\icon_256x256.png = images\icon_256x256.png
31-
EndProjectSection
20+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{C078E0B6-9747-475F-A999-B9E775DF6643}"
21+
EndProject
22+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestableIO.System.IO.Abstractions.TestingHelpers", "src\TestableIO.System.IO.Abstractions.TestingHelpers\TestableIO.System.IO.Abstractions.TestingHelpers.csproj", "{DE22AA55-408F-4041-B85D-26D6D6A158A4}"
23+
EndProject
24+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestableIO.System.IO.Abstractions.TestingHelpers.Tests", "tests\TestableIO.System.IO.Abstractions.TestingHelpers.Tests\TestableIO.System.IO.Abstractions.TestingHelpers.Tests.csproj", "{919888D2-E37D-40E7-8AD0-600F9429316D}"
3225
EndProject
3326
Global
3427
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3528
Debug|Any CPU = Debug|Any CPU
3629
Release|Any CPU = Release|Any CPU
3730
EndGlobalSection
3831
GlobalSection(ProjectConfigurationPlatforms) = postSolution
39-
{20B02738-952A-40F5-9C10-E2F83013E9FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
40-
{20B02738-952A-40F5-9C10-E2F83013E9FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
41-
{20B02738-952A-40F5-9C10-E2F83013E9FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
42-
{20B02738-952A-40F5-9C10-E2F83013E9FC}.Release|Any CPU.Build.0 = Release|Any CPU
4332
{B7DA254D-496F-4C50-969C-CF925758E2ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
4433
{B7DA254D-496F-4C50-969C-CF925758E2ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
4534
{B7DA254D-496F-4C50-969C-CF925758E2ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -64,14 +53,24 @@ Global
6453
{3698BB93-B031-4140-BAEF-D3480A94F531}.Debug|Any CPU.Build.0 = Debug|Any CPU
6554
{3698BB93-B031-4140-BAEF-D3480A94F531}.Release|Any CPU.ActiveCfg = Release|Any CPU
6655
{3698BB93-B031-4140-BAEF-D3480A94F531}.Release|Any CPU.Build.0 = Release|Any CPU
56+
{DE22AA55-408F-4041-B85D-26D6D6A158A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
57+
{DE22AA55-408F-4041-B85D-26D6D6A158A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
58+
{DE22AA55-408F-4041-B85D-26D6D6A158A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
59+
{DE22AA55-408F-4041-B85D-26D6D6A158A4}.Release|Any CPU.Build.0 = Release|Any CPU
60+
{919888D2-E37D-40E7-8AD0-600F9429316D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
61+
{919888D2-E37D-40E7-8AD0-600F9429316D}.Debug|Any CPU.Build.0 = Debug|Any CPU
62+
{919888D2-E37D-40E7-8AD0-600F9429316D}.Release|Any CPU.ActiveCfg = Release|Any CPU
63+
{919888D2-E37D-40E7-8AD0-600F9429316D}.Release|Any CPU.Build.0 = Release|Any CPU
6764
EndGlobalSection
6865
GlobalSection(SolutionProperties) = preSolution
6966
HideSolutionNode = FALSE
7067
EndGlobalSection
7168
GlobalSection(NestedProjects) = preSolution
72-
{20B02738-952A-40F5-9C10-E2F83013E9FC} = {BCEC61BD-4941-41EC-975A-ACEFC7AC1780}
69+
{0103D32A-6124-4A1A-AD6C-30EB957F09B0} = {C078E0B6-9747-475F-A999-B9E775DF6643}
70+
{B7DA254D-496F-4C50-969C-CF925758E2ED} = {C078E0B6-9747-475F-A999-B9E775DF6643}
7371
{015B3812-E01D-479C-895D-BDDF16E798CA} = {BCEC61BD-4941-41EC-975A-ACEFC7AC1780}
7472
{7105D748-1253-409F-A624-4879412EF3C2} = {BCEC61BD-4941-41EC-975A-ACEFC7AC1780}
73+
{919888D2-E37D-40E7-8AD0-600F9429316D} = {BCEC61BD-4941-41EC-975A-ACEFC7AC1780}
7574
EndGlobalSection
7675
GlobalSection(ExtensibilityGlobals) = postSolution
7776
SolutionGuid = {8885C59C-F6A0-4C2F-A3BC-B720E9BD161F}

benchmarks/System.IO.Abstractions.Benchmarks/FileSystemAbstractionBenchmarks.cs renamed to benchmarks/TestableIO.System.IO.Abstractions.Benchmarks/FileSystemAbstractionBenchmarks.cs

File renamed without changes.

benchmarks/System.IO.Abstractions.Benchmarks/MockFileSystemBenchmarks.cs renamed to benchmarks/TestableIO.System.IO.Abstractions.Benchmarks/MockFileSystemBenchmarks.cs

File renamed without changes.

benchmarks/System.IO.Abstractions.Benchmarks/Program.cs renamed to benchmarks/TestableIO.System.IO.Abstractions.Benchmarks/Program.cs

File renamed without changes.

benchmarks/System.IO.Abstractions.Benchmarks/Properties/launchSettings.json renamed to benchmarks/TestableIO.System.IO.Abstractions.Benchmarks/Properties/launchSettings.json

File renamed without changes.

benchmarks/System.IO.Abstractions.Benchmarks/Support/DirectorySupport.cs renamed to benchmarks/TestableIO.System.IO.Abstractions.Benchmarks/Support/DirectorySupport.cs

File renamed without changes.

benchmarks/System.IO.Abstractions.Benchmarks/Support/DirectorySupportStatic.cs renamed to benchmarks/TestableIO.System.IO.Abstractions.Benchmarks/Support/DirectorySupportStatic.cs

File renamed without changes.

benchmarks/System.IO.Abstractions.Benchmarks/Support/FileSupport.cs renamed to benchmarks/TestableIO.System.IO.Abstractions.Benchmarks/Support/FileSupport.cs

File renamed without changes.

0 commit comments

Comments
 (0)