/// <summary> /// Writes an action to a json file /// </summary> /// <param name="Writer">Writer to receive the output</param> public void ExportJson(JsonWriter Writer) { Writer.WriteEnumValue("Type", ActionType); Writer.WriteValue("WorkingDirectory", WorkingDirectory.FullName); Writer.WriteValue("CommandPath", CommandPath.FullName); Writer.WriteValue("CommandArguments", CommandArguments); Writer.WriteValue("CommandDescription", CommandDescription); Writer.WriteValue("StatusDescription", StatusDescription); Writer.WriteValue("bPrintDebugInfo", bPrintDebugInfo); Writer.WriteValue("bCanExecuteRemotely", bCanExecuteRemotely); Writer.WriteValue("bCanExecuteRemotelyWithSNDBS", bCanExecuteRemotelyWithSNDBS); Writer.WriteValue("bIsGCCCompiler", bIsGCCCompiler); Writer.WriteValue("bShouldOutputStatusDescription", bShouldOutputStatusDescription); Writer.WriteValue("bProducesImportLibrary", bProducesImportLibrary); Writer.WriteArrayStart("PrerequisiteItems"); foreach (FileItem PrerequisiteItem in PrerequisiteItems) { Writer.WriteValue(PrerequisiteItem.AbsolutePath); } Writer.WriteArrayEnd(); Writer.WriteArrayStart("ProducedItems"); foreach (FileItem ProducedItem in ProducedItems) { Writer.WriteValue(ProducedItem.AbsolutePath); } Writer.WriteArrayEnd(); Writer.WriteArrayStart("DeleteItems"); foreach (FileItem DeleteItem in DeleteItems) { Writer.WriteValue(DeleteItem.AbsolutePath); } Writer.WriteArrayEnd(); if (DependencyListFile != null) { Writer.WriteValue("DependencyListFile", DependencyListFile.AbsolutePath); } }