Swiftpack.co - olejnjak/Torino as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
olejnjak/Torino
Torino is a caching tool for Carthage binaries
.package(url: "https://github.com/olejnjak/Torino.git", from: "0.1.0-beta.2")

Torino

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

Installation

The simplest usage is to use Mint, just add Torino to your Mintfile and you are ready to go.

olejnjak/Torino@main

Usage

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 cache

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 cache

Download command has single option --prefix.

Torino download --prefix "Swift-5.5"

Bootstrap

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

Update

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

Remote caching

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

Naming

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 ๐Ÿ˜Ž

GitHub

link
Stars: 5
Last commit: Yesterday

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jackโ€™d and SCRUFF. We are two of the worldโ€™s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics