tuist up

A CLI too powered by Swift to provision environments using an up.toml manifest file

4
0
Swift

tuist-up

tuist-up

tuist up was originally a Tuist built-in command to provision environments by reading the requirements in a manifest file Setup.swift.
Although convenient for users,
it was removed in Tuist 2.0 because it was distant from the project’s core domain.
Moreover,
errors bubbling up from underlying commands made users believe they were Tuist bugs,
and therefore they added up to the triaging and maintenance work.

This repository contains a Swift-powered CLI that provides the same functionality to ease the adoption of Tuist 2.0 for those users that were using Setup.swift with Tuist 1.x. Note that this tool uses a tuist.json instead of a manifest written in Swift.

Run tuist-up

You can run tuist-up through Mint:

mint run tuist/tuist-up

Plugins 2.0

Future plans

Tuist’s long-term plan is to evolve our plugins architecture to be able to distribute and install CLI utilities like tuist-up directly from Tuist like Cargo does with Crates.

# The CLI below is orientative and therefore is subject to change.
tuist install tuist/tuist-up
tuist up

up.json specification

[
  {
    "name": "Install Pods",
    "meet": [
      "bundle",
      "exec",
      "pod",
      "install"
    ],
    "is_met": [
      "diff",
      "Podfile.lock", 
      "Pods/Manifest.lock"
    ]
  },
  {
    "name": "Ensure the right version of Xcode is used",
    "meet": [
      "echo", 
      "'Install it through the App Store'"
    ],
    "is_met": [
      "scripts/check_xcode_version.sh"
    ]
  }
]