Hi,
we started evaluating Tuist (again) at Kleinanzeigen. Our manually maintained project looks roughly like this:
App
- KleinanzeigenKit
- SomeKit
- OtherKit
- APIKit
- Alamofire
Every dependency is integrated via SPM, and the App target has only one dependency to KleinanzeigenKit
. Most of these dependencies are local ones directly available in our mono repo (KleinainzeigenKit
, SomeKit
, OtherKit
, APIKit
), but some are remote dependencies (Alamofire
, …).
In Package.swift
of KleinanzeigenKit
you’ll find something like this:
let package = Package(
name: "KleinanzeigenKit",
dependencies: [
.package(path: "../SomeKit"),
.package(path: "../OtherKit"),
.package(path: "../APIKit"),
And APIKit
would roughly look like this:
let package = Package(
name: "APIKit",
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", .upToNextMajor(from: "5.9.1")),
It was quite easy to start using Tuist, we simply added one dependency to Tuist/Package.swift
: KleinanzeigenKit
. That pulled in our whole dependency graph perfectly fine. Next we defined one app Project
, added a dependency to KleinanzeigenKit
, and it was up and running. Big kudos to the whole Tuist team, it’s quite the complex project and it was working out of the box just like that within minutes!
Now we’re wondering how to best approach the next steps, especially how to get schemes generated for all of our local Swift packages. Almost all of these local packages have a test target. And we’d like to generate a scheme for each of them, so the developers can easily execute tests. For another while we’ll probably have to support our manually maintained project, as well as Tuist. This means we want to stick to SPM for managing our local packages, and avoid describing each of them as Tuist targets, if that’s possible at all. Do you have any recommendation for us maybe?
Thanks,
Johannes