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 development 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.
olejnjak/Torino@main
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 (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 --prefix
.
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 (--upload
).
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 (--upload
).
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
Here you can find additional environment variables that can configure Torino behavior
TORINO_LOG_LEVEL
- set to debug
if you want to increase verbosity of output
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 😎
link |
Stars: 8 |
Last commit: 39 weeks ago |
As correct understanding of how tools that we use work is important, it was decided to ditch update
command and especially bootstrap
command. There is no substitute command, you should call torino download
and carthage bootstrap
with appropriate params yourselves.
Full Changelog: https://github.com/olejnjak/Torino/compare/0.2.3...0.3.0
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics