3 Commits 3a9bc8845a ... c38fd91508

Author SHA1 Message Date
  Piotr Czajkowski c38fd91508 Using .NET 8 1 week ago
  Piotr Czajkowski 4931ed5c3e Cosmetics 1 week ago
  Piotr Czajkowski 942bc81326 Using .NET 8 and updated dependencies 1 week ago

+ 1 - 1
.github/workflows/dotnetcore.yml

@@ -12,7 +12,7 @@ jobs:
     - name: Setup .NET
       uses: actions/setup-dotnet@v1
       with:
-        dotnet-version: 6.0.x
+        dotnet-version: 8.x
     - name: Restore dependencies
       run: dotnet restore
     - name: Build

+ 10 - 20
ProcessFiles/ProcessFiles.cs

@@ -21,10 +21,7 @@ namespace ProcessFiles
             try
             {
                 var attr = File.GetAttributes(path);
-                if ((attr & FileAttributes.Directory) == FileAttributes.Directory)
-                    return Result.Directory;
-
-                return Result.File;
+                return (attr & FileAttributes.Directory) == FileAttributes.Directory ? Result.Directory : Result.File;
             }
             catch (Exception e)
             {
@@ -44,13 +41,7 @@ namespace ProcessFiles
 
         private static bool CheckExtension(string extension, string[] validExtensions)
         {
-            foreach (var validExtension in validExtensions)
-            {
-                if (extension.Equals(validExtension, StringComparison.InvariantCultureIgnoreCase))
-                    return true;
-            }
-
-            return false;
+            return validExtensions.Any(validExtension => extension.Equals(validExtension, StringComparison.InvariantCultureIgnoreCase));
         }
 
         private static bool IsValid(string path, string[] fileExtensions)
@@ -65,13 +56,11 @@ namespace ProcessFiles
             if (extension == null)
                 return false;
 
-            if (!CheckExtension(extension, fileExtensions))
-            {
-                errors.Add($"Extension of {path} doesn't match any extension ({string.Join(", ", fileExtensions)})!");
-                return false;
-            }
+            if (CheckExtension(extension, fileExtensions)) return true;
+            
+            errors.Add($"Extension of {path} doesn't match any extension ({string.Join(", ", fileExtensions)})!");
+            return false;
 
-            return true;
         }
 
         private static void PerformAction(string path, Action<string> action)
@@ -108,13 +97,13 @@ namespace ProcessFiles
                 true => SearchOption.AllDirectories,
             };
 
-            List<string> files = new();
+            List<string> files = [];
             foreach (var extension in fileExtensions)
             {
                 files.AddRange(Directory.GetFiles(path, $"*.{extension}", searchOption));
             }
 
-            if (!files.Any())
+            if (files.Count == 0)
             {
                 errors.Add($"There are no files in {path} with given extensions ({string.Join(", ", fileExtensions)})!");
                 return;
@@ -126,7 +115,7 @@ namespace ProcessFiles
 
         public static IEnumerable<string> Process(IEnumerable<string> arguments, string fileExtension, Action<string> action, bool recursive = false)
         {
-            return Process(arguments, new[] {fileExtension}, action, recursive);
+            return Process(arguments, [fileExtension], action, recursive);
         }
 
         public static IEnumerable<string> Process(IEnumerable<string> arguments, string[] fileExtensions, Action<string> action, bool recursive = false)
@@ -144,6 +133,7 @@ namespace ProcessFiles
                         ProcessDir(argument, fileExtensions, action, recursive);
                         break;
                     case Result.Failure:
+                    default:
                         continue;
                 }
             }

+ 3 - 2
ProcessFiles/ProcessFiles.csproj

@@ -2,8 +2,8 @@
 
 	<PropertyGroup>
 		<Nullable>enable</Nullable>
-		<TargetFramework>net6.0</TargetFramework>
-		<Version>0.1.0</Version>
+		<TargetFramework>net8.0</TargetFramework>
+		<Version>0.2.0</Version>
 		<Title>ProcessFiles</Title>
 		<Authors>Piotr Czajkowski</Authors>
 		<Description>Easily process files from command line arguments</Description>
@@ -13,6 +13,7 @@
 		<PackageReadmeFile>README.md</PackageReadmeFile>
 		<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
 		<RepositoryType>GitHub</RepositoryType>
+		<PackageReleaseNotes>Using .NET 8</PackageReleaseNotes>
 	</PropertyGroup>
 
 	<ItemGroup>

+ 11 - 5
ProcessFilesTests/ProcessFilesTests.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net6.0</TargetFramework>
+    <TargetFramework>net8.0</TargetFramework>
 
     <IsPackable>false</IsPackable>
 
@@ -23,10 +23,16 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.2.0" />
-    <PackageReference Include="xunit" Version="2.4.0" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
-    <PackageReference Include="coverlet.collector" Version="1.0.1" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
+    <PackageReference Include="xunit" Version="2.9.3" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="3.1.4">
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+    </PackageReference>
+    <PackageReference Include="coverlet.collector" Version="6.0.4">
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
+    </PackageReference>
   </ItemGroup>
 
   <ItemGroup>