WriteObjectEnd() public method

public WriteObjectEnd ( ) : void
return void
Esempio n. 1
0
 /// <summary>
 /// Write this module to a JsonWriter
 /// </summary>
 /// <param name="Writer">Writer to output to</param>
 void Write(JsonWriter Writer)
 {
     Writer.WriteObjectStart();
     Writer.WriteValue("Name", Name);
     Writer.WriteValue("Type", Type.ToString());
     Writer.WriteValue("LoadingPhase", LoadingPhase.ToString());
     if (WhitelistPlatforms != null && WhitelistPlatforms.Count > 0)
     {
         Writer.WriteArrayStart("WhitelistPlatforms");
         foreach (UnrealTargetPlatform WhitelistPlatform in WhitelistPlatforms)
         {
             Writer.WriteValue(WhitelistPlatform.ToString());
         }
         Writer.WriteArrayEnd();
     }
     if (BlacklistPlatforms != null && BlacklistPlatforms.Count > 0)
     {
         Writer.WriteArrayStart("BlacklistPlatforms");
         foreach (UnrealTargetPlatform BlacklistPlatform in BlacklistPlatforms)
         {
             Writer.WriteValue(BlacklistPlatform.ToString());
         }
         Writer.WriteArrayEnd();
     }
     if (WhitelistTargets != null && WhitelistTargets.Length > 0)
     {
         Writer.WriteArrayStart("WhitelistTargets");
         foreach (TargetType WhitelistTarget in WhitelistTargets)
         {
             Writer.WriteValue(WhitelistTarget.ToString());
         }
         Writer.WriteArrayEnd();
     }
     if (BlacklistTargets != null && BlacklistTargets.Length > 0)
     {
         Writer.WriteArrayStart("BlacklistTargets");
         foreach (TargetType BlacklistTarget in BlacklistTargets)
         {
             Writer.WriteValue(BlacklistTarget.ToString());
         }
         Writer.WriteArrayEnd();
     }
     if (WhitelistTargetConfigurations != null && WhitelistTargetConfigurations.Length > 0)
     {
         Writer.WriteArrayStart("WhitelistTargetConfigurations");
         foreach (UnrealTargetConfiguration WhitelistTargetConfiguration in WhitelistTargetConfigurations)
         {
             Writer.WriteValue(WhitelistTargetConfiguration.ToString());
         }
         Writer.WriteArrayEnd();
     }
     if (BlacklistTargetConfigurations != null && BlacklistTargetConfigurations.Length > 0)
     {
         Writer.WriteArrayStart("BlacklistTargetConfigurations");
         foreach (UnrealTargetConfiguration BlacklistTargetConfiguration in BlacklistTargetConfigurations)
         {
             Writer.WriteValue(BlacklistTargetConfiguration.ToString());
         }
         Writer.WriteArrayEnd();
     }
     if (WhitelistPrograms != null && WhitelistPrograms.Length > 0)
     {
         Writer.WriteStringArrayField("WhitelistPrograms", WhitelistPrograms);
     }
     if (BlacklistPrograms != null && BlacklistPrograms.Length > 0)
     {
         Writer.WriteStringArrayField("BlacklistPrograms", BlacklistPrograms);
     }
     if (AdditionalDependencies != null && AdditionalDependencies.Length > 0)
     {
         Writer.WriteArrayStart("AdditionalDependencies");
         foreach (string AdditionalDependency in AdditionalDependencies)
         {
             Writer.WriteValue(AdditionalDependency);
         }
         Writer.WriteArrayEnd();
     }
     Writer.WriteObjectEnd();
 }
        /// <summary>
        /// Write the receipt to disk.
        /// </summary>
        /// <param name="Location">Output filename</param>
        /// <param name="EngineDir">Engine directory for expanded paths</param>
        /// <param name="ProjectDir">Project directory for expanded paths</param>
        public void Write(FileReference Location, DirectoryReference EngineDir, DirectoryReference ProjectDir)
        {
            using (JsonWriter Writer = new JsonWriter(Location.FullName))
            {
                Writer.WriteObjectStart();
                Writer.WriteValue("TargetName", TargetName);
                Writer.WriteValue("Platform", Platform.ToString());
                Writer.WriteValue("Configuration", Configuration.ToString());

                Writer.WriteObjectStart("Version");
                Version.WriteProperties(Writer);
                Writer.WriteObjectEnd();

                Writer.WriteArrayStart("BuildProducts");
                foreach (BuildProduct BuildProduct in BuildProducts)
                {
                    Writer.WriteObjectStart();
                    Writer.WriteValue("Path", InsertPathVariables(BuildProduct.Path, EngineDir, ProjectDir));
                    Writer.WriteValue("Type", BuildProduct.Type.ToString());
                    if (BuildProduct.IsPrecompiled)
                    {
                        Writer.WriteValue("IsPrecompiled", BuildProduct.IsPrecompiled);
                    }
                    Writer.WriteObjectEnd();
                }
                Writer.WriteArrayEnd();

                Writer.WriteArrayStart("RuntimeDependencies");
                foreach (RuntimeDependency RuntimeDependency in RuntimeDependencies)
                {
                    Writer.WriteObjectStart();
                    Writer.WriteValue("Path", InsertPathVariables(RuntimeDependency.Path, EngineDir, ProjectDir));
                    Writer.WriteValue("Type", RuntimeDependency.Type.ToString());
                    Writer.WriteObjectEnd();
                }
                Writer.WriteArrayEnd();

                if (AdditionalProperties.Count > 0)
                {
                    Writer.WriteArrayStart("AdditionalProperties");
                    foreach (ReceiptProperty AdditionalProperty in AdditionalProperties)
                    {
                        Writer.WriteObjectStart();
                        Writer.WriteValue("Name", AdditionalProperty.Name);
                        Writer.WriteValue("Value", AdditionalProperty.Value);
                        Writer.WriteObjectEnd();
                    }
                    Writer.WriteArrayEnd();
                }

                if (PrecompiledBuildDependencies.Count > 0)
                {
                    Writer.WriteArrayStart("PrecompiledBuildDependencies");
                    foreach (string PrecompiledBuildDependency in PrecompiledBuildDependencies.Select(x => InsertPathVariables(x, EngineDir, ProjectDir)).OrderBy(x => x))
                    {
                        Writer.WriteValue(PrecompiledBuildDependency);
                    }
                    Writer.WriteArrayEnd();
                }

                if (PrecompiledRuntimeDependencies.Count > 0)
                {
                    Writer.WriteArrayStart("PrecompiledRuntimeDependencies");
                    foreach (string PrecompiledRuntimeDependency in PrecompiledRuntimeDependencies.Select(x => InsertPathVariables(x, EngineDir, ProjectDir)).OrderBy(x => x))
                    {
                        Writer.WriteValue(PrecompiledRuntimeDependency);
                    }
                    Writer.WriteArrayEnd();
                }

                Writer.WriteObjectEnd();
            }
        }