Skip to content

Commit 012c377

Browse files
committed
Refactor MakeAndGetTempPath to use expression-bodied member
Simplified the MakeAndGetTempPath method by converting it to an expression-bodied member.
1 parent 5147e95 commit 012c377

File tree

6 files changed

+20
-12
lines changed

6 files changed

+20
-12
lines changed

src/GitVersion.Core/Core/Abstractions/IFileSystem.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ public interface IFileSystem
1717
string[] GetDirectories(string path);
1818
IEnumerable<string> DirectoryEnumerateFiles(string? directory, string searchPattern, SearchOption searchOption);
1919
long GetLastDirectoryWrite(string path);
20+
long GetLastWriteTime(string path);
2021
}

src/GitVersion.Core/Core/FileSystem.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ public IEnumerable<string> DirectoryEnumerateFiles(string? directory, string sea
4848
return Directory.EnumerateFiles(directory, searchPattern, searchOption);
4949
}
5050

51+
public long GetLastWriteTime(string path) => File.GetLastWriteTime(path).Ticks;
52+
5153
public long GetLastDirectoryWrite(string path) => new DirectoryInfo(path)
5254
.GetDirectories("*.*", SearchOption.AllDirectories)
5355
.Select(d => d.LastWriteTimeUtc)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
#nullable enable
22
GitVersion.IFileSystem.GetDirectories(string! path) -> string![]!
33
GitVersion.IFileSystem.GetFiles(string! path) -> string![]!
4+
GitVersion.IFileSystem.GetLastWriteTime(string! path) -> long

src/GitVersion.Core/VersionCalculation/Caching/GitVersionCacheKeyFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ private List<string> CalculateDirectoryContents(string root)
116116
{
117117
try
118118
{
119-
var fi = new FileInfo(file);
120-
result.Add(fi.Name);
119+
if (!this.fileSystem.Exists(file)) continue;
120+
result.Add(Path.GetFileName(file));
121121
result.Add(this.fileSystem.ReadAllText(file));
122122
}
123123
catch (IOException e)

src/GitVersion.MsBuild/GitVersionTaskExecutor.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ public void UpdateAssemblyInfo(UpdateAssemblyInfo task)
4646
var fileWriteInfo = task.IntermediateOutputPath.GetFileWriteInfo(task.Language, task.ProjectFile, "AssemblyInfo");
4747
task.AssemblyInfoTempFilePath = PathHelper.Combine(fileWriteInfo.WorkingDirectory, fileWriteInfo.FileName);
4848

49+
if (!this.fileSystem.DirectoryExists(fileWriteInfo.WorkingDirectory))
50+
{
51+
this.fileSystem.CreateDirectory(fileWriteInfo.WorkingDirectory);
52+
}
4953
var gitVersionOptions = this.options.Value;
5054
gitVersionOptions.WorkingDirectory = fileWriteInfo.WorkingDirectory;
5155
gitVersionOptions.AssemblySettingsInfo.UpdateAssemblyInfo = true;
@@ -68,6 +72,10 @@ public void GenerateGitVersionInformation(GenerateGitVersionInformation task)
6872
var fileWriteInfo = task.IntermediateOutputPath.GetFileWriteInfo(task.Language, task.ProjectFile, "GitVersionInformation");
6973
task.GitVersionInformationFilePath = PathHelper.Combine(fileWriteInfo.WorkingDirectory, fileWriteInfo.FileName);
7074

75+
if (!this.fileSystem.DirectoryExists(fileWriteInfo.WorkingDirectory))
76+
{
77+
this.fileSystem.CreateDirectory(fileWriteInfo.WorkingDirectory);
78+
}
7179
var gitVersionOptions = this.options.Value;
7280
gitVersionOptions.WorkingDirectory = fileWriteInfo.WorkingDirectory;
7381
var targetNamespace = GetTargetNamespace(task);
@@ -102,18 +110,19 @@ public void WriteVersionInfoToBuildLog(WriteVersionInfoToBuildLog task)
102110

103111
private void DeleteTempFiles()
104112
{
105-
if (!this.fileSystem.DirectoryExists(FileHelper.TempPath))
113+
var tempPath = FileHelper.TempPath;
114+
if (!this.fileSystem.DirectoryExists(tempPath))
106115
{
107116
return;
108117
}
109118

110-
foreach (var file in this.fileSystem.GetFiles(FileHelper.TempPath))
119+
foreach (var file in this.fileSystem.GetFiles(tempPath))
111120
{
112-
if (File.GetLastWriteTime(file) >= DateTime.Now.AddDays(-1))
121+
if (this.fileSystem.GetLastWriteTime(file) >= DateTime.Now.AddDays(-1).Ticks)
113122
continue;
114123
try
115124
{
116-
File.Delete(file);
125+
this.fileSystem.Delete(file);
117126
}
118127
catch (UnauthorizedAccessException)
119128
{

src/GitVersion.MsBuild/Helpers/FileHelper.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,7 @@ internal static class FileHelper
1010
{
1111
public static readonly string TempPath = MakeAndGetTempPath();
1212

13-
private static string MakeAndGetTempPath()
14-
{
15-
var tempPath = PathHelper.Combine(Path.GetTempPath(), "GitVersionTask");
16-
Directory.CreateDirectory(tempPath);
17-
return tempPath;
18-
}
13+
private static string MakeAndGetTempPath() => PathHelper.Combine(Path.GetTempPath(), "GitVersionTask");
1914

2015
public static string GetFileExtension(string language) => language switch
2116
{

0 commit comments

Comments
 (0)