Beispiel #1
0
        /// <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);
            }
        }