public bool AddOtherCFlags(PBXList flags)
        {
            bool modified = false;

            if(!ContainsKey(BUILDSETTINGS_KEY))
                this.Add(BUILDSETTINGS_KEY, new PBXDictionary());

            foreach(string flag in flags) {

                if(!((PBXDictionary)_data[BUILDSETTINGS_KEY]).ContainsKey(OTHER_C_FLAGS_KEY)) {
                    ((PBXDictionary)_data[BUILDSETTINGS_KEY]).Add(OTHER_C_FLAGS_KEY, new PBXList());
                } else if(((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY] is string) {
                    string tempString = (string)((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY];
                    ((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY] = new PBXList();
                    ((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY]).Add(tempString);
                }

                if(!((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY]).Contains(flag)) {
                    ((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY]).Add(flag);
                    modified = true;
                }
            }

            return modified;
        }
    public bool SetWeakLink(bool weak = false)
    {
        PBXDictionary settings = null;
        PBXList attributes = null;

        if (!_data.ContainsKey(SETTINGS_KEY))
        {
            if (weak)
            {
                attributes = new PBXList();
                attributes.internalNewlines = false;
                attributes.Add(WEAK_VALUE);

                settings = new PBXDictionary();
                settings.Add(ATTRIBUTES_KEY, attributes);
                settings.internalNewlines = false;

                this.Add(SETTINGS_KEY, settings);
            }
            return true;
        }

        settings = _data[SETTINGS_KEY] as PBXDictionary;
        settings.internalNewlines = false;
        if (!settings.ContainsKey(ATTRIBUTES_KEY))
        {
            if (weak)
            {
                attributes = new PBXList();
                attributes.internalNewlines = false;
                attributes.Add(WEAK_VALUE);
                settings.Add(ATTRIBUTES_KEY, attributes);
                return true;
            }
            else
            {
                return false;
            }
        }
        else
        {
            attributes = settings[ATTRIBUTES_KEY] as PBXList;
        }

        attributes.internalNewlines = false;
        if (weak)
        {
            attributes.Add(WEAK_VALUE);
        }
        else
        {
            attributes.Remove(WEAK_VALUE);
        }

        settings.Add(ATTRIBUTES_KEY, attributes);
        this.Add(SETTINGS_KEY, settings);

        return true;
    }
Example #3
0
 public bool AddOtherCFlags(PBXList flags)
 {
     foreach (KeyValuePair <string, XCBuildConfiguration> buildConfig in buildConfigurations)
     {
         buildConfig.Value.AddOtherCFlags(flags);
     }
     modified = true;
     return(modified);
 }
Example #4
0
 public bool AddFrameworkSearchPaths(PBXList paths)
 {
     foreach (KeyValuePair <string, XCBuildConfiguration> buildConfig in buildConfigurations)
     {
         buildConfig.Value.AddFrameworkSearchPaths(paths, false);
     }
     modified = true;
     return(modified);
 }
Example #5
0
        public bool HasBuildphase(string buildPhaseId)
        {
            if (buildPhaseId != null && data != null && data.ContainsKey(BUILDPHASES_KEY))
            {
                PBXList buildPhases = (PBXList)data[BUILDPHASES_KEY];

                if (buildPhases != null && buildPhases.Count > 0)
                {
                    foreach (string buildPhase in buildPhases)
                    {
                        if (buildPhase.Contains(buildPhaseId))
                        {
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
        protected bool AddSearchPaths(PBXList paths, string key, bool recursive = true)
        {
            bool modified = false;

            if (!ContainsKey(BUILDSETTINGS_KEY))
            {
                this.Add(BUILDSETTINGS_KEY, new PBXDictionary());
            }

            foreach (string path in paths)
            {
                string currentPath = path;
                if (recursive && !path.EndsWith("/**"))
                {
                    currentPath += "**";
                }
                if (!((PBXDictionary)_data[BUILDSETTINGS_KEY]).ContainsKey(key))
                {
                    ((PBXDictionary)_data[BUILDSETTINGS_KEY]).Add(key, new PBXList());
                }
                else if (((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] is string)
                {
                    PBXList list = new PBXList();
                    list.Add(((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]);
                    ((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] = list;
                }


                if (!((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]).Contains(currentPath))
                {
                    ((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]).Add(currentPath);
                    modified = true;
                }
            }

            return(modified);
        }
    protected bool AddSearchPaths(PBXList paths, string key, bool recursive = true)
    {
        bool modified = false;

        if (!ContainsKey(BUILDSETTINGS_KEY))
        {
            this.Add(BUILDSETTINGS_KEY, new PBXDictionary());
        }

        foreach (string path in paths)
        {
            string currentPath = path;
            if (recursive && !path.EndsWith("/**"))
            {
                currentPath += "**";
            }
            if (!((PBXDictionary) _data[BUILDSETTINGS_KEY]).ContainsKey(key))
            {
                ((PBXDictionary) _data[BUILDSETTINGS_KEY]).Add(key, new PBXList());
            }
            else if (((PBXDictionary) _data[BUILDSETTINGS_KEY])[key] is string)
            {
                PBXList list = new PBXList();
                list.Add(((PBXDictionary) _data[BUILDSETTINGS_KEY])[key]);
                ((PBXDictionary) _data[BUILDSETTINGS_KEY])[key] = list;
            }


            if (!((PBXList) ((PBXDictionary) _data[BUILDSETTINGS_KEY])[key]).Contains(currentPath))
            {
                ((PBXList) ((PBXDictionary) _data[BUILDSETTINGS_KEY])[key]).Add(currentPath);
                modified = true;
            }
        }

        return modified;
    }
 public bool AddHeaderSearchPaths(PBXList paths, bool recursive = true)
 {
     return(this.AddSearchPaths(paths, HEADER_SEARCH_PATHS_KEY, recursive));
 }
Example #9
0
 private PBXList ParseArray()
 {
     PBXList list = new PBXList();
     bool complete = false;
     while (!complete)
     {
         switch (NextToken())
         {
         case END_OF_FILE:
             Debug.Log("Error: Reached end of file inside a list: " + list);
             complete = true;
             break;
         case ARRAY_END_TOKEN:
             complete = true;
             break;
         case ARRAY_ITEM_DELIMITER_TOKEN:
             break;
         default:
             StepBackward();
             list.Add(ParseValue());
             break;
         }
     }
     return list;
 }
Example #10
0
 public bool AddFrameworkSearchPaths(PBXList paths)
 {
     foreach (KeyValuePair<string, XCBuildConfiguration> buildConfig in buildConfigurations)
     {
         buildConfig.Value.AddFrameworkSearchPaths(paths, false);
     }
     modified = true;
     return modified;
 }
Example #11
0
 public bool AddOtherCFlags(PBXList flags)
 {
     foreach (KeyValuePair<string, XCBuildConfiguration> buildConfig in buildConfigurations)
     {
         buildConfig.Value.AddOtherCFlags(flags);
     }
     modified = true;
     return modified;
 }
 public bool AddOtherCFlags(string flag)
 {
     PBXList flags = new PBXList();
     flags.Add(flag);
     return AddOtherCFlags(flags);
 }
 public bool AddLibrarySearchPaths(PBXList paths, bool recursive = true)
 {
     return this.AddSearchPaths(paths, LIBRARY_SEARCH_PATHS_KEY, recursive);
 }
 public bool AddHeaderSearchPaths(PBXList paths, bool recursive = true)
 {
     return this.AddSearchPaths(paths, HEADER_SEARCH_PATHS_KEY, recursive);
 }
 public bool AddFrameworkSearchPaths(PBXList paths, bool recursive = true)
 {
     return this.AddSearchPaths(paths, FRAMEWORK_SEARCH_PATHS_KEY, recursive);
 }
 public bool AddLibrarySearchPaths(PBXList paths, bool recursive = true)
 {
     return(this.AddSearchPaths(paths, LIBRARY_SEARCH_PATHS_KEY, recursive));
 }
 public bool AddFrameworkSearchPaths(PBXList paths, bool recursive = true)
 {
     return(this.AddSearchPaths(paths, FRAMEWORK_SEARCH_PATHS_KEY, recursive));
 }
 protected bool AddSearchPaths(string path, string key, bool recursive = true)
 {
     PBXList paths = new PBXList();
     paths.Add(path);
     return AddSearchPaths(paths, key, recursive);
 }