RFC: External Build System Dependencies

Thanks for the proposal! Generally very much aligned :slightly_smiling_face:

Yeah, that’s tricky. I was thinking whether it would make sense for the externalBuild to be just the underlying base model, but users would primarily define them with predefined factories from ProjectDescription, such as:

.kmm(modulePath: "../kmp/shared", configuration: .release)

I’m not sure how standard the tasks for building an xcframework via KMM are, though, so this may not make sense.

As for the naming itself, external evokes to me a third-party dependency, which is not the case here. What do you think about foreignBuild, similar to Bazel’s rules_foreign_cc.

I would start with passing the stderr to the Xcode build log.

We can start with an inline script. In the end, you can also call out to a script file, so it’s not like you’d be always forced to specify everything directly in the Project.swift.