{"id":20115542,"url":"https://github.com/mutualmobile/xcodesortinstaller","last_synced_at":"2025-07-24T13:33:53.856Z","repository":{"id":9650339,"uuid":"11586185","full_name":"mutualmobile/XcodeSortInstaller","owner":"mutualmobile","description":"A simple gem to install a new build phase on your Xcode project file to (on modification) sort itself on build.","archived":false,"fork":false,"pushed_at":"2014-03-05T16:26:54.000Z","size":173,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-02T19:19:43.740Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mutualmobile.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-22T16:23:12.000Z","updated_at":"2015-03-29T10:16:48.000Z","dependencies_parsed_at":"2022-09-10T02:23:49.585Z","dependency_job_id":null,"html_url":"https://github.com/mutualmobile/XcodeSortInstaller","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/mutualmobile/XcodeSortInstaller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2FXcodeSortInstaller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2FXcodeSortInstaller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2FXcodeSortInstaller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2FXcodeSortInstaller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mutualmobile","download_url":"https://codeload.github.com/mutualmobile/XcodeSortInstaller/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutualmobile%2FXcodeSortInstaller/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266850778,"owners_count":23995143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T18:35:36.101Z","updated_at":"2025-07-24T13:33:53.805Z","avatar_url":"https://github.com/mutualmobile.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XcodeSortInstaller\n\nA simple gem to install a new build phase on your Xcode project file to sort itself on build.\n\nKeeps your `.xcodeproj` file sorted every time your target is built by using Apple's own sorting perl script as found in the [WebKit tools](https://github.com/adobe/webkit/blob/master/Tools/Scripts/sort-Xcode-project-file). A sorted project file will make merging project files slightly less painful since everything is not being appended to the end of a file list. This isn't a cure-all for Xcode project file merges, but helps.\n\n## Installation\n\n###Private (Current Method)\nDownload `.gem` file from releases section. Install using:\n\n    $ gem install `xcode_sort_install-0.0.1.gem`\n\n\u003c!--- ###Public (Not Yet Available)\nAdd this line to your application's Gemfile:\n\n    gem 'xcode_sort_install'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install xcode_sort_install\n---\u003e\n## Usage\n\nIf your `.xcodeproj` file is located in the root directory of your folder structure:\n\n    $ xcode_sort_installer\n\nIf your `.xcodeproj` file is in another directory other than the source root:\n\nRun in your subdirectory `SubFolder/ $ xcode_sort_installer -r ..` indicating that your source root is one directory below the current directory. If your project is not under version control or you don't care about adding our timestamp file to your .*ignore file, then you don't need to specify a root directory.\n\nYou can also explicitly specify both a project location and root location by using the `-p` and `-r` switches:\n\n    SomeFolder/NotInProject/ $ xcode_sort_installer -p /project/root/subfolder/project.xcodeproj -r /project/root\n\nSome other options:\n\n``` lang:shell\n-v, --[no-]verbose               Run verbosely\n-p, --project PROJ               Location of .xcodeproj file\n-r, --root-dir DIR               Root directory of project (Where .git or .svn folder lives)\n-h, --help                       Show this message\n```\n\n## What is Added?\n- A new \"run script\" phase on each of your build dependency-less build targets\n- A new [perl script](https://github.com/adobe/webkit/blob/master/Tools/Scripts/sort-Xcode-project-file) that sorts your project file on each build if it has been modified\n- A `.gitignore` entry to ignore the timestamp file that is used by the sort script phase to determine when the last sort was performed.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n##License\n\nStandard MIT License\n\n##Known Issues\n- This build phase will cancel your build as a result of modifiying the project file. This has proved very annoying for some.\n- Will only add ignore entry to .gitignore and not any other SCM ignore file\n- Have had a couple requests to install this using a git pre-commit hook\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutualmobile%2Fxcodesortinstaller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmutualmobile%2Fxcodesortinstaller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutualmobile%2Fxcodesortinstaller/lists"}