Project writer.
Inheritance: System.IO.TextWriter
Ejemplo n.º 1
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue (2, map, this);
     if (this.BuildConfigurationList != null) {
         writer.WritePBXProperty (3, map, "buildConfigurationList", this.BuildConfigurationList);
     }
     writer.WritePBXProperty (3, map, "buildPhases", this.BuildPhases);
     writer.WritePBXProperty (3, map, "buildRules", this.BuildRules);
     writer.WritePBXProperty (3, map, "dependencies", this.Dependencies);
     writer.WritePBXProperty (3, map, "name", this.Name);
     writer.WritePBXProperty (3, map, "productInstallPath", this.ProductInstallPath);
     writer.WritePBXProperty (3, map, "productName", this.ProductName);
     if (this.ProductReference != null) {
         writer.WritePBXProperty (3, map, "productReference", this.ProductReference);
     }
     writer.WritePBXProperty (3, map, "productType", this.ProductType.ToDescription ());
     writer.WritePBXElementEpilogue (2);
 }
Ejemplo n.º 2
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this);
     writer.WritePBXProperty(3, map, "buildActionMask", this.BuildActionMask);
     writer.WritePBXProperty(3, map, "files", this.Files);
     writer.WritePBXProperty(3, map, "runOnlyForDeploymentPostprocessing", this.RunOnlyForDeploymentPostprocessing);
     writer.WritePBXElementEpilogue(2);
 }
Ejemplo n.º 3
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this);
     writer.WritePBXProperty(3, map, "target", this.Target);
     writer.WritePBXProperty(3, map, "targetProxy", this.TargetProxy);
     writer.WritePBXElementEpilogue(2);
 }
Ejemplo n.º 4
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this);
     writer.WritePBXProperty(3, map, "children", this.Children);
     writer.WritePBXProperty(3, map, "name", this.Name);
     writer.WritePBXProperty(3, map, "sourceTree", this.SourceTree.ToDescription());
     writer.WritePBXElementEpilogue(2);
 }
Ejemplo n.º 5
0
        /// <summary>
        ///   Writes the specified writer.
        /// </summary>
        /// <param name = "writer">The writer.</param>
        public void Write(ProjectWriter writer)
        {
            // 1. Collect all the objects
            CollectVisitor collectVisitor = new CollectVisitor();
            this.RootObject.Accept(collectVisitor);
            IDictionary<IPBXElement, String> map = collectVisitor.Map;
            this.Mapping = map;

            // 2. Ouput the prologue
            writer.WriteLine("// !$*UTF8*$!");
            writer.WriteLine("{");
            writer.WritePBXProperty(1, map, "archiveVersion", this.ArchivedVersion);
            writer.WritePBXProperty(1, map, "classes", new Dictionary<String, String>().ToDictionary(kvp => kvp.Key, kvp => kvp.Value));
            writer.WritePBXProperty(1, map, "objectVersion", (int) this.ObjectVersion);

            // 3. Output the objects by nature
            writer.WriteIndent(1);
            writer.WriteLine("{0} = {{", "objects");
            writer.WriteLine();

            // Iterate and output being/end section before dumping objects
            IEnumerable<KeyValuePair<IPBXElement, String>> list = from entry in map orderby entry.Key.Isa ascending select entry;
            PBXElementType currentType = PBXElementType.None;
            foreach (KeyValuePair<IPBXElement, string> pair in list)
            {
                if (currentType != pair.Key.Nature)
                {
                    if (currentType != PBXElementType.None)
                    {
                        writer.WriteLine("/* End {0} section */", currentType);
                        writer.WriteLine();
                    }
                    currentType = pair.Key.Nature;
                    writer.WriteLine("/* Begin {0} section */", currentType);
                }

                pair.Key.WriteTo(writer, map);
            }

            if (currentType != PBXElementType.None)
            {
                writer.WriteLine("/* End {0} section */", currentType);
                writer.WriteLine();
            }

            writer.WriteIndent(1);
            writer.WriteLine("};");

            // 4. Output the epilogue
            writer.WritePBXProperty(1, map, "rootObject", this.RootObject);
            writer.WriteLine("}");
        }
Ejemplo n.º 6
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this);
     if (this.BuildConfigurationList != null)
     {
         writer.WritePBXProperty(3, map, "buildConfigurationList", this.BuildConfigurationList);
     }
     writer.WritePBXProperty(3, map, "compatibilityVersion", this.CompatibilityVersion.ToDescription());
     writer.WritePBXProperty(3, map, "developmentRegion", this.DevelopmentRegion);
     writer.WritePBXProperty(3, map, "hasScannedForEncodings", this.HasScannedForEncodings);
     writer.WritePBXProperty(3, map, "knownRegions", this.KnownRegions.ToList());
     if (this.MainGroup != null)
     {
         writer.WritePBXProperty(3, map, "mainGroup", this.MainGroup);
     }
     if (this.ProductRefGroup != null)
     {
         writer.WritePBXProperty(3, map, "productRefGroup", this.ProductRefGroup);
     }
     writer.WritePBXProperty(3, map, "projectDirPath", this.ProjectDirPath);
     if (this.ProjectReferences.Count() > 0)
     {
         writer.WritePBXProperty(3, map, "projectReferences", this.ProjectReferences.ToList());
     }
     writer.WritePBXProperty(3, map, "projectRoot", this.ProjectRoot);
     writer.WritePBXProperty(3, map, "targets", this.Targets);
     writer.WritePBXElementEpilogue(2);
 }
Ejemplo n.º 7
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue (2, map, this);
     if (this.BaseConfigurationReference != null) {
         writer.WritePBXProperty (3, map, "baseConfigurationReference", this.BaseConfigurationReference);
     }
     writer.WritePBXProperty (3, map, "buildSettings", this.BuildSettings.ToDictionary (kvp => kvp.Key, kvp => kvp.Value));
     writer.WritePBXProperty (3, map, "name", this.Name);
     writer.WritePBXElementEpilogue (2);
 }
Ejemplo n.º 8
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this);
     writer.WritePBXProperty(3, map, "buildArgumentsString", this.BuildArgumentsString);
     if (this.BuildConfigurationList != null)
     {
         writer.WritePBXProperty(3, map, "buildConfigurationList", this.BuildConfigurationList);
     }
     writer.WritePBXProperty(3, map, "buildPhases", this.BuildPhases);
     writer.WritePBXProperty(3, map, "buildToolPath", this.BuildToolPath);
     writer.WritePBXProperty(3, map, "buildWorkingDirectory", this.BuildWorkingDirectory);
     writer.WritePBXProperty(3, map, "dependencies", this.Dependencies);
     writer.WritePBXProperty(3, map, "name", this.Name);
     writer.WritePBXProperty(3, map, "passBuildSettingsInEnvironment", this.PassBuildSettingsInEnvironment);
     writer.WritePBXProperty(3, map, "productName", this.ProductName);
     writer.WritePBXElementEpilogue(2);
 }
Ejemplo n.º 9
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public abstract void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map);
Ejemplo n.º 10
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue (2, map, this);
     writer.WritePBXProperty (3, map, "containerPortal", this.ContainerPortal);
     writer.WritePBXProperty (3, map, "proxyType", this.ProxyType);
     writer.WritePBXProperty (3, map, "remoteGlobalIDString", this.RemoteGlobalIDString);
     writer.WritePBXProperty (3, map, "remoteInfo", this.RemoteInfo);
     writer.WritePBXElementEpilogue (2);
 }
Ejemplo n.º 11
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this, true);
     if (this.FileRef != null)
     {
         writer.WritePBXProperty(3, map, "fileRef", this.FileRef, true);
     }
     writer.WritePBXElementEpilogue(2, true);
 }
Ejemplo n.º 12
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public abstract void WriteTo(ProjectWriter writer, IDictionary <IPBXElement, string> map);
Ejemplo n.º 13
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue (2, map, this);
     writer.WritePBXProperty (3, map, "fileType", this.FileType.ToDescription ());
     writer.WritePBXProperty (3, map, "path", this.Path);
     writer.WritePBXProperty (3, map, "remoteRef", this.RemoteRef);
     writer.WritePBXProperty (3, map, "sourceTree", this.SourceTree.ToDescription ());
     writer.WritePBXElementEpilogue (2);
 }
Ejemplo n.º 14
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this);
     writer.WritePBXProperty(3, map, "compilerSpec", this.CompilerSpec);
     writer.WritePBXProperty(3, map, "filePatterns", this.FilePatterns);
     writer.WritePBXProperty(3, map, "fileType", this.FileType);
     writer.WritePBXProperty(3, map, "isEditable", this.IsEditable);
     writer.WritePBXProperty(3, map, "outputFiles", this.OutputFiles);
     writer.WritePBXProperty(3, map, "script", this.Script);
     writer.WritePBXElementEpilogue(2);
 }
Ejemplo n.º 15
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue (2, map, this);
     writer.WritePBXProperty (3, map, "buildConfigurations", this.BuildConfigurations);
     writer.WritePBXProperty (3, map, "defaultConfigurationIsVisible", this.DefaultConfigurationIsVisible);
     writer.WritePBXProperty (3, map, "defaultConfigurationName", this.DefaultConfigurationName);
     writer.WritePBXElementEpilogue (2);
 }
Ejemplo n.º 16
0
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this, true);
     if (this.FileEncoding != PBXFileEncoding.Default)
     {
         writer.WritePBXProperty(3, map, "fileEncoding", (int) this.FileEncoding, true);
     }
     if (this.ExplicitFileType != PBXFileType.None)
     {
         writer.WritePBXProperty(3, map, "explicitFileType", this.ExplicitFileType.ToDescription(), true);
     }
     if (this.IncludeInIndex != 1)
     {
         writer.WritePBXProperty(3, map, "includeInIndex", this.IncludeInIndex, true);
     }
     if (this.LastKnownFileType != PBXFileType.None)
     {
         writer.WritePBXProperty(3, map, "lastKnownFileType", this.LastKnownFileType.ToDescription(), true);
     }
     if (this.LineEnding != PBXLineEnding.Unix)
     {
         writer.WritePBXProperty(3, map, "lineEnding", (int) this.LineEnding, true);
     }
     writer.WritePBXProperty(3, map, "name", this.Name, true);
     writer.WritePBXProperty(3, map, "path", this.Path, true);
     writer.WritePBXProperty(3, map, "sourceTree", this.SourceTree.ToDescription(), true);
     writer.WritePBXElementEpilogue(2);
 }
 /// <summary>
 ///   Writes this element to the writer.
 /// </summary>
 /// <param name = "writer">The writer.</param>
 /// <param name = "map">The map.</param>
 public override void WriteTo(ProjectWriter writer, IDictionary<IPBXElement, string> map)
 {
     writer.WritePBXElementPrologue(2, map, this);
     writer.WritePBXProperty(3, map, "buildActionMask", this.BuildActionMask);
     writer.WritePBXProperty(3, map, "files", this.Files);
     writer.WritePBXProperty(3, map, "inputPaths", this.InputPaths.ToList());
     writer.WritePBXProperty(3, map, "outputPaths", this.OutputPaths.ToList());
     writer.WritePBXProperty(3, map, "runOnlyForDeploymentPostprocessing", this.RunOnlyForDeploymentPostprocessing);
     writer.WritePBXProperty(3, map, "shellPath", this.ShellPath);
     writer.WritePBXProperty(3, map, "shellScript", this.ShellScript);
     writer.WritePBXElementEpilogue(2);
 }