{"id":13903001,"url":"https://github.com/igor-makarov/xcake","last_synced_at":"2025-04-04T06:09:58.442Z","repository":{"id":2168971,"uuid":"44044198","full_name":"igor-makarov/xcake","owner":"igor-makarov","description":":cake: Describe Xcode projects in a human readable format and (re)generate one on demand.","archived":false,"fork":false,"pushed_at":"2023-11-14T12:36:56.000Z","size":1266,"stargazers_count":633,"open_issues_count":4,"forks_count":48,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-09-23T10:47:37.106Z","etag":null,"topics":["cocoapods","ios","macos","osx","project-creation","projects","tvos","watchos","xcode"],"latest_commit_sha":null,"homepage":"","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/igor-makarov.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2015-10-11T08:11:50.000Z","updated_at":"2024-09-21T19:32:25.000Z","dependencies_parsed_at":"2024-03-24T07:33:13.319Z","dependency_job_id":"87f4238b-0662-4044-abb3-2657cc82c697","html_url":"https://github.com/igor-makarov/xcake","commit_stats":{"total_commits":1334,"total_committers":24,"mean_commits":"55.583333333333336","dds":0.1356821589205397,"last_synced_commit":"49e676a7bcb7472ab3c4dbe6dbf8ddc6b889063f"},"previous_names":["jcampbell05/xcake"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igor-makarov%2Fxcake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igor-makarov%2Fxcake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igor-makarov%2Fxcake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igor-makarov%2Fxcake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igor-makarov","download_url":"https://codeload.github.com/igor-makarov/xcake/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247128753,"owners_count":20888235,"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","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":["cocoapods","ios","macos","osx","project-creation","projects","tvos","watchos","xcode"],"created_at":"2024-08-06T22:01:33.079Z","updated_at":"2025-04-04T06:09:58.417Z","avatar_url":"https://github.com/igor-makarov.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# Xcake\n[![Gem](https://img.shields.io/gem/v/xcake.svg)](https://rubygems.org/gems/xcake)\n[![Twitter: @igormaka](https://img.shields.io/badge/contact-@igormaka-blue.svg?style=flat)](https://twitter.com/igormaka)\n[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/LICENSE)\n[![Build Status](https://github.com/igor-makarov/xcake/workflows/Test/badge.svg)](https://github.com/igor-makarov/xcake/actions)\n[![Gem](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-xcake)\n\n### Back under new management!\n\nThe original author of Xcake, [James Campbell](https://github.com/jcampbell05) has decided to move on to other endeavors.  \n[Igor Makarov](https://github.com/igor-makarov) has volunteered to step in as the main maintainer, both because of his reliance on the gem for work, and because of general aversion to `.pbxproj` files.\n\n### Cakefile — A Podfile for your main project!\n\nDescribe your project in a simple text file: your `Cakefile`.\nXcake generates your project based on this file including importing all of your files and creating groups and targets to match the file hierarchy.\n\nThis is perfect for working in teams or with CocoaPods as it reduces merge conflicts, makes it easy to modify settings and allows you to create a clean project anytime you need to.\n\nIsn't this just like Generamba or Crafter?  \nNo, these tools are for scafolding an initial project structure to get you started (creating folder structure, git repo etc.).  \nXcake will not create a folder structure, but will generate a project from it, and will continue to generate it each time you want it. Added some files? Generate! Renamed a folder? Generate!  \nSick of seeing `.pbxproj` diffs in git? Add your project to `.gitignore` and generate it on checkout.\n\n\nGet in contact with the developer on Twitter: [@igormaka](https://twitter.com/igormaka).\n\nPBX delendare est.\n\n-------\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e \u0026bull;\n    \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e \u0026bull;\n    \u003ca href=\"#need-help\"\u003eNeed help?\u003c/a\u003e \u0026bull;\n    \u003ca href=\"http://www.rubydoc.info/github/igor-makarov/xcake/master/file/docs/Getting%20Started.md\"\u003eDocumentation\u003c/a\u003e\n\u003c/p\u003e\n\n-------\n\n## Features\n\nXcode projects were once described as \"the closest thing to taboo we have to deal with on a regular basis\", but it doesnt have to be this way.\n\nStore a simple description of your project in a text file, your `Cakefile`, to easily create a xcode project from _any_ computer. Easily see, merge and maintain the structure of your project, It’s time to add *.xcodeproj into .gitignore!.\n\nYou define a project like this:\n\n```ruby\napplication_for :ios, 8.0 do |target|\n  target.name = \"MyApp\"\nend\n```\n\nTo generate the xcode project, just run:\n\n```sh\nxcake make\n```\n\nIf you would like an example Cakefile for guidence, just run:\n\n```sh\nxcake init\n```\n\n| xcake |  |\n--------------------------|------------------------------------------------------------\n:sparkles: | Flexibly configure and create xcode project from one easy to read `Cakefile`\n:ship: | Generate from any computer, including a CI-server\n:thought_balloon: | Never remember any difficult commands, just `xcake make`\n:page_with_curl: | Store **everything** but the project in git. Never again manually fix any corruptions or merge issues with the project.\n:rocket: | Saves you **hours** when working with xcode projects\n:anchor: | Confidence that the project file is exactly the same during Continuous Delivery\n:computer: | Support for OSX, iOS and watchOS apps\n\n## Installation\n\nInstall the gem by running:\n\n    sudo gem install xcake --verbose\n\nMake sure, you have the latest version of the Xcode command line tools installed:\n\n    xcode-select --install\n\nIf you experience slow launch times of xcake, try running\n\n    gem cleanup\n\nto clean up outdated gems.\n\nSystem Requirements: `xcake` requires Mac OS X or Linux with Ruby 2.0.0 or above.\n\n## Available commands\n\nXcake can create an example cakefile when you run:\n\n    xcake init\n\nUsually you'll use xcake by running the command\n\n    xcake make\n\nXcake will then generate a Xcode project based on your Cakefile\n\n## Sample Cakefile\n\nTo get better understanding of how to start using Xcake in a real project, see examples under [example](https://github.com/jcampbell05/xcake/tree/master/example) folder.\n\nThere is a sample [app project](https://github.com/jcampbell05/xcake/blob/master/example/app/CakeMania) (the project file has been generated using Xcake v.0.7.1 based on the [Cakefile](https://github.com/jcampbell05/xcake/blob/master/example/app/CakeMania/Cakefile)) as well as sample [Cakefile](https://github.com/jcampbell05/xcake/blob/master/example/framework/Cakefile) for an iOS framework project.\n\n## Need help?\nPlease submit an issue on GitHub and provide information about your setup\n\n## People who use Xcake\n\n- Bending Spoons\n- Moovit\n\n## License\nThis project is licensed under the terms of the MIT license. See the LICENSE file.\n\nThis project is no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. Xcake runs on your own computer or server, so your sensitive information will never leave your own computer. You are responsible for how you use xcake.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figor-makarov%2Fxcake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figor-makarov%2Fxcake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figor-makarov%2Fxcake/lists"}