Tuist 0.11.0 has been released
Tuist 0.11.0 is out and it includes features like "tuist up" that help users configure their environment before working with the projects, or support for generating target schemes. This version also adds support for defining environment variables for targets, as well as some minor improvements and fixes.
Today I’d like to announce a new version of Tuist, 0.11.0. It’s been a while without releasing Tuist versions but we are getting back to speed and getting great contributions from the community (more on this later). Although Tuist 0.11.0 was not baked with major features, it comes with a handful list of improvements and fixes, some of which I’d like to briefly touch on this announcement blog post.
In the previous version we introduced a new API for projects to define the tasks that’d need to be executed to configure the local environment for the project. In the effort of making Tuist’s core more reusable for external projects (you can read more about it here, Kassem and Marcin extracted the definition of those tasks into another manifest file, Setup.swift
. From now this version, the tasks will be defined in that file following the following syntax:
let setup = Setup([
.homebrew(packages: ["swiftlint"])
])
We made an exception here and introduced a breaking change in a minor release because this release wasn’t a significant milestone for the project to justify a major release.
Before this change, Tuist did not generate any schemes for the project targets. The ones listed in the project were generated automatically by Xcode. From this version, Tuist generates an scheme per target. Those schemes are not configurable yet, but is something that we might evaluate and potentially support. You can check out this and this proposal to follow the discussion.
Targets support a new attribute, environment
. When passed, Tuist sets those environment variables in the scheme asociated to the target:
let target = Target(environment: ["foo": "bar"])
A few versions back, we added support for manifests defined in a JSON and Yaml. Unfortunately, we’ve decided not to give support for them anymore. Those formats have been marked as deprecated. You can continue using them but we encourage you to use default Swift format before the next version comes out.
Brace yourself because the next version of Tuist will will be an important milestone for the project:
tuist build
with no flags at all. Well, that’s becoming real and it’ll likely be in the next version of Tuist. Furthermore, I’m building a xcodebuild parser that among others, it’ll allow formatting the output from xcodebuild
like the so popular xcpretty.As always, you can easily update the version by just running the following command:
tuist update
Happy xcoding 📝!
Tuist has become a vital part of organizations' development workflows, resulting in a rise in support and feature requests. Our current model of relying on volunteers' free time is unsustainable, and we are seeking funding to enable dedicated full-time contributions. Your sponsorship would be highly appreciated, as it will help us enhance Tuist and ensure its continued awesomeness.
Sponsor Tuist