/// <summary> /// Write the receipt to disk. /// </summary> /// <param name="Location">Output filename</param> /// <param name="EngineDir">Engine directory for expanded paths</param> public void Write(FileReference Location, DirectoryReference EngineDir) { using (JsonWriter Writer = new JsonWriter(Location.FullName)) { Writer.WriteObjectStart(); Writer.WriteValue("TargetName", TargetName); Writer.WriteValue("Platform", Platform.ToString()); Writer.WriteValue("Configuration", Configuration.ToString()); Writer.WriteValue("TargetType", TargetType.ToString()); if (ProjectFile != null) { Writer.WriteValue("Project", ProjectFile.MakeRelativeTo(Location.Directory).Replace(Path.DirectorySeparatorChar, '/')); } if (Launch != null) { Writer.WriteValue("Launch", InsertPathVariables(Launch, EngineDir, ProjectDir)); } 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()); 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(); } Writer.WriteObjectEnd(); } }
/// <summary> /// Write the receipt to disk. /// </summary> /// <param name="FileName">Output filename</param> public void Write(string FileName) { using (JsonWriter Writer = new JsonWriter(FileName)) { Writer.WriteObjectStart(); Writer.WriteValue("TargetName", TargetName); Writer.WriteValue("Platform", Platform.ToString()); Writer.WriteValue("Configuration", Configuration.ToString()); Writer.WriteValue("BuildId", BuildId); Writer.WriteObjectStart("Version"); Version.WriteProperties(Writer); Writer.WriteObjectEnd(); Writer.WriteArrayStart("BuildProducts"); foreach (BuildProduct BuildProduct in BuildProducts) { Writer.WriteObjectStart(); Writer.WriteValue("Path", BuildProduct.Path); 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", RuntimeDependency.Path); 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.OrderBy(x => x)) { Writer.WriteValue(PrecompiledBuildDependency); } Writer.WriteArrayEnd(); } if (PrecompiledRuntimeDependencies.Count > 0) { Writer.WriteArrayStart("PrecompiledRuntimeDependencies"); foreach (string PrecompiledRuntimeDependency in PrecompiledRuntimeDependencies.OrderBy(x => x)) { Writer.WriteValue(PrecompiledRuntimeDependency); } 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(); } }