2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-03-07 05:23:02 +00:00

chore: do not write ZCG output if up to date

This commit is contained in:
Jan Laupetin
2026-03-05 17:39:02 +00:00
parent c9c2fdc8c2
commit 304ebd56a7
2 changed files with 187 additions and 38 deletions

View File

@@ -3,10 +3,18 @@
#include "ICodeTemplate.h"
#include "ZoneCodeGeneratorArguments.h"
#include <cstdint>
#include <memory>
#include <string>
#include <unordered_map>
enum class CodeGeneratorOutputResult : std::uint8_t
{
OUTPUT_WRITTEN,
OUTPUT_WAS_UP_TO_DATE,
FAILURE
};
class CodeGenerator
{
public:
@@ -17,8 +25,8 @@ public:
private:
void SetupTemplates();
bool GenerateCodeOncePerTemplate(const OncePerTemplateRenderingContext& context, ICodeTemplate* codeTemplate) const;
bool GenerateCodeOncePerAsset(const OncePerAssetRenderingContext& context, ICodeTemplate* codeTemplate) const;
CodeGeneratorOutputResult GenerateCodeOncePerTemplate(const OncePerTemplateRenderingContext& context, ICodeTemplate* codeTemplate) const;
CodeGeneratorOutputResult GenerateCodeOncePerAsset(const OncePerAssetRenderingContext& context, ICodeTemplate* codeTemplate) const;
static bool GetAssetWithName(const IDataRepository* repository, const std::string& name, StructureInformation*& asset);