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 TuistScenario: The project is a compilable macOS applicationGiven that tuist is availableAnd I have have a working directoryWhen I initialize a macos application named TestThen I generate the projectThen I should be able to build the scheme TestThen 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 master. 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:
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.