Log in
releases

Version 0.9.0 published

In this blog post we talk about the changes that come with the recently published version 0.9.0.

Today we have published the version 0.9.0 of Tuist. It’s been a while without releasing updates but we are getting back to speed. Stay tuned because we are working on a lot of improvements and cool features to make your experience dealing with Xcode projects more enjoyable.

Files and groups order

Files and groups were sorted alphabetically when the project was generated. That resulted in a non-standard sorting order as Igor reported on this issue. With 0.9.0, we’ve changed the order to default to sort files before groups, and then sort them alphabetically.

In our aim to define conventions and good practices in Xcode projects, we don’t plan to make the sorting configurable. We believe that the order that we set in this version is navigatable and aligned with Xcode defaults.

Generation of both, Debug and Release configurations

Previous versions of Tuist generated only the Debug or the Release configuration (depending on the flag that you passed when running the tool). We have changed that behavior to generate both configurations. That allows developers building for any of the configurations without having to regenerate the Xcode project. Thanks Robin for reporting the issue.

More reliability through acceptance tests

Although this is not a user-facing feature, it has a huge impact in the reliability of the tool. Although we took seriously and covered most of the execution paths with unit test, they don’t prevent common Tuist use cases from breaking at any time. In this PR we add Cucumber to the toolbox to define acceptance tests that will be executed on CI. If you are curious about how a Cucumber test looks, you can have a look at the test below:

Feature: Initialize a new project using Tuist Scenario: The project is a compilable macOS application Given that tuist is available And I have have a working directory When I initialize a macos application named Test Then I generate the project Then I should be able to build the scheme Test Then I delete the working directory

If any of the feature steps breaks, the test fails and we have to fix it before merging the changes into main. This brings more confidence when adding changes to the project, which is very handy for new project contributors.

How to update

It’s very easy, did you know that Tuist knows how to update itself? There’s no need to depend on third-party tools to drive the update. Just run the following command in your terminal:

tuist update

I hope you like the release and that keep reporting issues and ideas to help Xcode developers deliver stunning high-quality apps.

Don’t forget to listen to the soundtrack of this release.

Have a wonderful week.

You might also like

Welcome Swift Packages to the dependencies family in Tuist 0.18.0
Making the definition of dependencies very convenient was one of our aims when we embarked on building Tuist and today, we are extending that convenience to external dependencies that are distributed as Swift Packages. Targets can now define packages as dependencies and Tuist will take care of the rest. Moreover, this version ships with improvements in the API of dynamic Info.plist files.
Next for Tuist
It's a wrap for 2020. In this blog post we share the vision of Tuist for 2021. We'll bring support for plugins, improve and standardize the integration of third party dependencies, add support for selective building and testing, and much more.
Tuist 1.7.1 - Edit all manifests, safer build settings API and SwiftUI projects
Easier manifests editing and safer configurations with Tuist 1.7.1

Supercharge your app development

Get started