Torino is a caching tool for XCFrameworks built by Carthage. Torino is considered an evolution to Rome as its features are heavily inspired from its past usage, but focused strictly on XCFrameworks. Also big credit goes to @LukasHromadnik as quite a lot of code was based on his private work.
⚠️ Torino is in early alpha so you should not rely on it yet
The simplest usage is to use Mint, just add Torino to your Mintfile and you are ready to go.
Torino currently supports several commands that all take
--prefix parameter that is used for caching binaries with correct Swift version. This parameter is optional and if ommited, Torino will try to get appropriate prefix for you, based on selected swift version (
Upload command has single option
--prefix. This way you can for example distinguish between compilers that created uploaded builds.
Torino upload --prefix "Swift-5.5"
Download command has single option
Torino download --prefix "Swift-5.5"
This command is designed to simplify bootstrapping your projects. At first it tries to get your dependencies from cache (local or remote based on your configuration), then it calls
carthage bootstrap with respective arguments, to ensure you have all dependencies and then optionally caches new dependencies (
Torino bootstrap --prefix "Swift-5.5" --platform iOS --upload
This command is designed simplify updating dependencies on your projects. At first it runs
carthage update --no-build to update your Cartfile.resolved, then tries to get dependencies from cache, the runs
carthage build with respective arguments and optionally caches new dependencies (
Torino update --prefix "Swift-5.5" --platform iOS --upload
Torino currently supports remote cache stored in GCP buckets. To support that you need to provide two environment variables:
TORINO_GCP_BUCKET - name of bucket that will be used for storage
TORINO_GCP_SERVICE_ACCOUNT_PATH - location of service account that will be used for access to specified bucket
If you wonder why is Torino named after this Italian 🇮🇹 city, it is quite simple. As it works on top of Carthage 🇹🇳 and is inspired by Rome 🇮🇹 and I am a fan of Juventus FC 🖤🤍 it was quite natural to name it this way 😎
|Last commit: Yesterday|