diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs index 84236cfd2..44d3b457c 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs @@ -1092,7 +1092,7 @@ namespace Flax.Build.Bindings private static unsafe void GenerateCSharp(BuildData buildData, IGrouping binaryModule) { // Skip generating C# bindings code for native-only modules - if (binaryModule.Any(x => !x.BuildCSharp)) + if (binaryModule.All(x => !x.BuildCSharp)) return; var contents = new StringBuilder(); diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs index 8413917bb..27dedb6b4 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs @@ -18,7 +18,8 @@ namespace Flax.Build.Bindings partial class BindingsGenerator { - private static readonly Dictionary _typeCache = new Dictionary(); + private static readonly Dictionary TypeCache = new Dictionary(); + private const int CacheVersion = 7; internal static void Write(BinaryWriter writer, string e) { @@ -160,7 +161,7 @@ namespace Flax.Build.Bindings var typename = reader.ReadString(); if (string.IsNullOrEmpty(typename)) return e; - if (!_typeCache.TryGetValue(typename, out var type)) + if (!TypeCache.TryGetValue(typename, out var type)) { type = Builder.BuildTypes.FirstOrDefault(x => x.FullName == typename); if (type == null) @@ -169,7 +170,7 @@ namespace Flax.Build.Bindings Log.Error(msg); throw new Exception(msg); } - _typeCache.Add(typename, type); + TypeCache.Add(typename, type); } e = (T)Activator.CreateInstance(type); e.Read(reader); @@ -185,7 +186,7 @@ namespace Flax.Build.Bindings for (int i = 0; i < count; i++) { var typename = reader.ReadString(); - if (!_typeCache.TryGetValue(typename, out var type)) + if (!TypeCache.TryGetValue(typename, out var type)) { type = Builder.BuildTypes.FirstOrDefault(x => x.FullName == typename); if (type == null) @@ -194,7 +195,7 @@ namespace Flax.Build.Bindings Log.Error(msg); throw new Exception(msg); } - _typeCache.Add(typename, type); + TypeCache.Add(typename, type); } var e = (T)Activator.CreateInstance(type); e.Read(reader); @@ -218,7 +219,7 @@ namespace Flax.Build.Bindings using (var writer = new BinaryWriter(stream, Encoding.UTF8)) { // Version - writer.Write(5); + writer.Write(CacheVersion); writer.Write(File.GetLastWriteTime(Assembly.GetExecutingAssembly().Location).Ticks); // Build options @@ -254,7 +255,7 @@ namespace Flax.Build.Bindings { // Version var version = reader.ReadInt32(); - if (version != 5) + if (version != CacheVersion) return false; if (File.GetLastWriteTime(Assembly.GetExecutingAssembly().Location).Ticks != reader.ReadInt64()) return false; diff --git a/Source/Tools/Flax.Build/Bindings/ModuleInfo.cs b/Source/Tools/Flax.Build/Bindings/ModuleInfo.cs index 75ff73720..0769d6ce6 100644 --- a/Source/Tools/Flax.Build/Bindings/ModuleInfo.cs +++ b/Source/Tools/Flax.Build/Bindings/ModuleInfo.cs @@ -34,6 +34,8 @@ namespace Flax.Build.Bindings BindingsGenerator.Write(writer, Module.BinaryModuleName); writer.Write(Module.BuildNativeCode); writer.Write(Module.BuildCSharp); + writer.Write(Globals.Project.Name); + writer.Write(Globals.Project.Version.ToString()); base.Write(writer); } @@ -44,7 +46,9 @@ namespace Flax.Build.Bindings reader.ReadString() != Module.FilePath || BindingsGenerator.Read(reader, Module.BinaryModuleName) != Module.BinaryModuleName || reader.ReadBoolean() != Module.BuildNativeCode || - reader.ReadBoolean() != Module.BuildCSharp + reader.ReadBoolean() != Module.BuildCSharp || + reader.ReadString() != Globals.Project.Name || + reader.ReadString() != Globals.Project.Version.ToString() ) throw new Exception();