Use caching for filesystem queries in BindingsGenerator

This commit is contained in:
2023-03-14 19:47:18 +02:00
parent 47e2c82551
commit 2f9e72e03e
3 changed files with 55 additions and 36 deletions

View File

@@ -253,7 +253,7 @@ namespace Flax.Build.Bindings
{
// Version
writer.Write(CacheVersion);
writer.Write(File.GetLastWriteTime(Assembly.GetExecutingAssembly().Location).Ticks);
writer.Write(FileCache.GetLastWriteTime(Assembly.GetExecutingAssembly().Location).Ticks);
// Build options
writer.Write(moduleOptions.IntermediateFolder);
@@ -270,7 +270,7 @@ namespace Flax.Build.Bindings
{
var headerFile = headerFiles[i];
writer.Write(headerFile);
writer.Write(File.GetLastWriteTime(headerFile).Ticks);
writer.Write(FileCache.GetLastWriteTime(headerFile).Ticks);
}
// Info
@@ -281,7 +281,7 @@ namespace Flax.Build.Bindings
private static bool LoadCache(ref ModuleInfo moduleInfo, BuildOptions moduleOptions, List<string> headerFiles)
{
var path = GetCachePath(moduleInfo.Module, moduleOptions);
if (!File.Exists(path))
if (!FileCache.Exists(path))
return false;
try
{
@@ -292,7 +292,7 @@ namespace Flax.Build.Bindings
var version = reader.ReadInt32();
if (version != CacheVersion)
return false;
if (File.GetLastWriteTime(Assembly.GetExecutingAssembly().Location).Ticks != reader.ReadInt64())
if (FileCache.GetLastWriteTime(Assembly.GetExecutingAssembly().Location).Ticks != reader.ReadInt64())
return false;
// Build options
@@ -320,7 +320,7 @@ namespace Flax.Build.Bindings
var headerFile = headerFiles[i];
if (headerFile != reader.ReadString())
return false;
if (File.GetLastWriteTime(headerFile).Ticks > reader.ReadInt64())
if (FileCache.GetLastWriteTime(headerFile).Ticks > reader.ReadInt64())
return false;
}