Go to file
Daniele Formichelli 3959b6cd39
Refactor/move options (#4131)
* feat: rename `-Project` scheme to `-Workspace`

* docs: update changelog

* feat: rename BuildGraphInspecting.projectSchemes

* feat: add support for configuring code coverage and testing options at the project level

* refactor: move workspace scheme generation options to workspace manifest

* fix: fix fixture

* chore: formatting

* chore: formatting

* docs: documentation

* chore: remove empty Config

* feat: change automatic schemes generation to byName

* fix: remove schemes from Tuist project description helpers

* fix: fix test

* fix: fix test

* fix: test

* fix: fix cache-frameworks acceptance test

* fix: acceptance

* fix: fix acceptance test

* refactor: use struct for Project.Options

* docs: add changelog entry

* refactor: use static func instead of init for Project.Options

* fix: disable automatic Xcode schemes for project editor

* refactor: move Workspace.GenerationOptions to separate file

* chore: formatting

* fix: fix meta tuist

* fix: fix tuist meta

* fix: fix project manifest dump test

* fix: fix project manifest dump test

* fix: generate missing workspace intermediate folder if needed

* fix: fix lockfiles

* fix: fix fixtures

* chore: format

* fix: fix test compilation error

* refactor: make enableXcodeSchemes a Bool?

* fix: fix ios_app_with_custom_workspace fixture

* docs: update docs

* refactor: more Workspace.GenerationOptions to separate file

* fix: fix tests

* chore: formattings

* refactor: change Config.generationOptions to be a struct

* fix: fix fixtures

* fix: fix compilation error

* fix: compilation error

* docs: changelog

* docs: fix docs

* fix: test compilation error

* fix: fix generate-3 fixture

* fix: fix test

* fix: fix tuist dump config test

* fix: fix test

* docs: fix doc

Co-authored-by: Marek Fořt <marekfort@me.com>

* chore: fix warnings

* refactor: move xcodeProjectName from Config.options to Project.options

* Revert "refactor: move xcodeProjectName from Config.options to Project.options"

This reverts commit 067bb7a48e.

* refactor: move disableShowEnvironmentVarsInScriptPhases from Config.options to Project.options

* feat: move lastXcodeUpgradeCheck to Workspace.options

* refactor: remove xcodeProjectName, organizationName, and developmentRegion from Config.generationOptions

* docs: changelog

* refactor: remove Config where not needed

* chore: invalidate GitHub action .build cache

* Revert "chore: invalidate GitHub action .build cache"

This reverts commit 91d3b78c2b.

* Revert "chore: fix warnings"

This reverts commit 3021a7ba2f.

* fix: compilation error

* fix: fix fixtures

* fix: fix broken tests

* chore: remove unused templateMacros

* feat: add back `developmentRegion` and `xcodeProjectName`

* chore: format

* chore: format

* Use forcedCacheDirectory even without Config.swift

* fix: fix tests

* fix: fix fixture

Co-authored-by: Marek Fořt <marekfort@me.com>
2022-02-12 19:09:57 +01:00
.github Cloud user authentication, S3 buckets (#4043) 2022-02-02 21:11:31 +01:00
.shadowenv.d Fourier improvements (#2676) 2021-03-17 16:19:06 +01:00
.vscode [Release] 3.0 (#3983) 2022-01-28 07:34:23 +01:00
Sources Refactor/move options (#4131) 2022-02-12 19:09:57 +01:00
Templates refactor: use struct for Config.GenerationOptions (#4109) 2022-02-12 14:40:38 +01:00
Tests Refactor/move options (#4131) 2022-02-12 19:09:57 +01:00
Tuist feature: by name scheme grouping (#4093) 2022-02-03 15:25:02 +01:00
assets Add stream as a sponsor 2021-11-18 16:25:54 +01:00
hooks Feat: Update fourier to use system tuist whenever possible (#3950) 2022-01-06 09:10:27 +01:00
projects Refactor/move options (#4131) 2022-02-12 19:09:57 +01:00
script Change the install script and `update` command to use `git ls-remote` (#3985) 2022-01-12 20:38:27 +01:00
.all-contributorsrc docs: add TheInkedEngineer as a contributor for code (#4135) 2022-02-10 11:12:09 +01:00
.editorconfig Add some badges 2018-04-17 10:14:48 +02:00
.gitattributes Move TuistLab's API to the Tuist's repository (#3209) 2021-07-30 07:36:25 +02:00
.gitignore fix: release workflow PR step (#4066) 2022-01-26 21:20:25 +01:00
.gitmodules [Release] 3.0 (#3983) 2022-01-28 07:34:23 +01:00
.kodiak.toml Enable Kodiak 2021-05-07 11:07:33 +02:00
.nvmrc Add .nvmrc 2021-11-22 14:27:10 +01:00
.prettierrc Add some badges 2018-04-17 10:14:48 +02:00
.rubocop.yml Project-scoped linting (#3775) 2021-12-01 21:18:03 +01:00
.ruby-gemset Add `.ruby-gemset` 2019-03-10 05:51:48 +00:00
.ruby-version Update Ruby to 3.0.3 (#3817) 2021-12-10 14:26:38 +01:00
.swift-version .swiftversion is created (#3862) 2021-12-24 08:42:39 +01:00
.swiftformat [Release] 3.0 (#3983) 2022-01-28 07:34:23 +01:00
.swiftformat-version Swiftformat update (#3782) 2021-12-05 20:05:15 +01:00
.swiftlint.yml Use only SwiftFormat for line length linting (#4101) 2022-02-02 14:23:20 +01:00
.tuistignore 📦 [Dependencies.swift][SPM] Dogfood (#3235) 2021-10-11 17:56:57 +02:00
.xcode-version Build tuist binaries and tuist libraries using different xcode versions to ensure backward compatibility (#3940) 2022-01-05 16:42:27 +01:00
.xcode-version-libraries Drop support for Xcode 12.5 and macOS 10.15 (#4030) 2022-01-26 16:00:17 +01:00
CHANGELOG.md Refactor/move options (#4131) 2022-02-12 19:09:57 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#1743) 2020-09-04 17:02:58 +02:00
CONTRIBUTING.md docs: add min requirements (#4116) 2022-02-08 09:26:02 +01:00
Gemfile Update rubocop-rails to version 2.13.0 (#3902) 2021-12-27 19:47:44 +01:00
Gemfile.lock Update all of rails to version 6.1.4.6 (#4140) 2022-02-12 10:57:08 +01:00
LICENSE.md Add LICENSE 2018-06-28 15:00:33 +02:00
Package.resolved chore: remove BlueSignal dependency (#4097) 2022-02-02 12:43:55 +01:00
Package.swift chore: remove BlueSignal dependency (#4097) 2022-02-02 12:43:55 +01:00
Procfile Move TuistLab's API to the Tuist's repository (#3209) 2021-07-30 07:36:25 +02:00
Project.swift refactor: use struct for Project.Options (#4104) 2022-02-04 12:02:31 +01:00
README.md docs: add TheInkedEngineer as a contributor for code (#4135) 2022-02-10 11:12:09 +01:00
RELEASE.md Update RELEASE.md 2022-01-08 17:54:57 -05:00
SECURITY.md Create SECURITY.md 2021-11-26 18:15:31 +01:00
TapestryConfig.swift Added Xcode 12.5.1 to tests and also made this version the default one. (#3427) 2021-09-11 18:28:29 +02:00
fourier ☁️ Add `analytics` option to `Config.Cloud` to enable sending analytics event to cloud backend (#3547) 2021-10-19 17:55:09 +02:00
package-lock.json docs: add doc 2.x to website (#4055) 2022-01-26 16:23:25 +01:00
secrets.ejson CI improvements (#2390) 2021-01-28 11:56:41 +01:00

README.md

All contributors Tuist Latest Version Community GitHub forks GitHub stars Commit Activity Contributors Latest Commits Twitter Followers Sponsors Backers and sponsors License Powered by Tuist Contributors

What's Tuist 🕺

Tuist is a command line tool that helps you generate, maintain and interact with Xcode projects.

It's open source and written in Swift.

Install ⬇️

curl -Ls https://install.tuist.io | bash

Bootstrap your first project 🌀

tuist init --platform ios
tuist generate # Generates Xcode project & workspace
tuist build # Builds your project

Check out the project "Get Started" guide to learn more about Tuist and all its features.

Sponsors

The financial sustainability of the project is possible thanks to the ongoing contributions from our GitHub Sponsors and Open Collective Backers. From them, we'd like to give a special mention to the following sponsors:

Silver sponsor: stream

Stream is a helps build scalable in-app chat or activity feeds in days. Product teams trust Stream to launch faster, iterate more often, and ship a better user experience.

Companies using Tuist

Documentation 📝

Do you want to know more about what Tuist can offer you? Or perhaps want to contribute to the project and you need a starting point? You can check out the project documentation.

Supported by great companies

1Password and Bugsnag support the project by giving us access to their service through an open-source program.

Contribute 👩‍💻

If you are interested in contributed to the project, our documentation has a section with resources for contributors. We recommend starting from this page.

Core Team


Pedro Piñera


Marek Fořt


Kas


Natan Rolnik


Andrea Cipriani


Oliver Atkinson


Romain Boulay


Kamil Harasimowicz


Luis Padron

Daniele Formichelli


Alfredo Delli Bovi

Contributors

Thanks goes to these wonderful people (emoji key):


kalkwarf

Marek Fořt

Kas

Natan Rolnik

svastven

Bernhard Huemer

Daniel Jankowski

Facundo Menzella

Eric Ito

Kamil Harasimowicz

Jakub Olejník

ldindu

George Tsifrikas

Privezentsev Yura

Fero

Heberti Almeida

Ben Scheirman

Jared Sorge

Joe Blau

David Chavez

Roman Podymov

Marcin Religa

Alfredo Delli Bovi

Jake Prickett

Daniele Formichelli

Sergey Petrachkov

Jinwoo, Kim

David Harris

Dmytro Mishchenko

Sam Pettersson

Josh Holtz

Jierong Li

Shai Mishali

Franz Busch

Tíarnán McGrath

Vitaly Chupryk

Roman Blum

Giovanni Filaferro

Andrés Pizá Bückmann

Gabriel Coutinho

Riccardo

Mauro Bolis

Peter Weishapl

Cruz

Sven Münnich

Santiago A. Delgado

Wojciech Kulik

Iain Smith

Max Kraev

Mustafa Yusuf

Daniel Barden

Zofia Kulus

David Peterson

Ikko Ashimine

Seto Elkahfi / 塞托·埃尔卡菲

apps4everyone

Lorenzo

Darko Damjanovic

Marvin Nazari

Robin Malhotra

Astromonkee

ezraberch

Christopher Constable

Yi Wang

Mustafa Dur

Luca Bartoletti

Sujata Chakraborty

Pavel Trafimuk

Alejandro Silva Fernández

Jake Adams

Sam Watts

Erk Ekin

Denis Morozov

orbitekk

Park Jae Hyun

Sean Berry

Isaac Halvorson

Mohit Saxena

Mikołaj Chmielewski

Tope Akinwande

TheInkedEngineer

This project follows the all-contributors specification. Contributions of any kind welcome!