Beispiel #1
0
 /// <summary>
 /// Write the makefile to the given archive
 /// </summary>
 /// <param name="Writer">The archive to write to</param>
 public void Write(BinaryArchiveWriter Writer)
 {
     Writer.WriteLong(CreateTimeUtc.Ticks);
     Writer.WriteList(Diagnostics, x => Writer.WriteString(x));
     Writer.WriteString(ExternalMetadata);
     Writer.WriteFileReference(ExecutableFile);
     Writer.WriteFileReference(ReceiptFile);
     Writer.WriteDirectoryReference(ProjectIntermediateDirectory);
     Writer.WriteInt((int)TargetType);
     ConfigValueTracker.Write(Writer);
     Writer.WriteBool(bDeployAfterCompile);
     Writer.WriteBool(bHasProjectScriptPlugin);
     Writer.WriteArray(AdditionalArguments, Item => Writer.WriteString(Item));
     Writer.WriteArray(PreBuildScripts, Item => Writer.WriteFileReference(Item));
     Writer.WriteList(Actions, Action => Action.Write(Writer));
     Writer.WriteList(EnvironmentVariables, x => { Writer.WriteString(x.Item1); Writer.WriteString(x.Item2); });
     Writer.WriteList(OutputItems, Item => Writer.WriteFileItem(Item));
     Writer.WriteDictionary(ModuleNameToOutputItems, k => Writer.WriteString(k), v => Writer.WriteArray(v, e => Writer.WriteFileItem(e)));
     Writer.WriteHashSet(HotReloadModuleNames, x => Writer.WriteString(x));
     Writer.WriteList(SourceDirectories, x => Writer.WriteDirectoryItem(x));
     Writer.WriteDictionary(DirectoryToSourceFiles, k => Writer.WriteDirectoryItem(k), v => Writer.WriteArray(v, e => Writer.WriteFileItem(e)));
     Writer.WriteHashSet(WorkingSet, x => Writer.WriteFileItem(x));
     Writer.WriteHashSet(CandidatesForWorkingSet, x => Writer.WriteFileItem(x));
     Writer.WriteList(UObjectModules, e => e.Write(Writer));
     Writer.WriteList(UObjectModuleHeaders, x => x.Write(Writer));
     Writer.WriteHashSet(PluginFiles, x => Writer.WriteFileItem(x));
     Writer.WriteHashSet(ExternalDependencies, x => Writer.WriteFileItem(x));
     Writer.WriteHashSet(InternalDependencies, x => Writer.WriteFileItem(x));
 }
 /// <summary>
 /// Writes a file item in a format which de-duplicates directory names.
 /// </summary>
 /// <param name="Writer">Writer to serialize data to</param>
 /// <param name="FileItem">File item to write</param>
 public static void WriteCompactFileItem(this BinaryArchiveWriter Writer, FileItem FileItem)
 {
     Writer.WriteObjectReference <FileItem>(FileItem, () => { Writer.WriteDirectoryItem(FileItem.GetDirectoryItem()); Writer.WriteString(FileItem.Name); });
 }