Thanks for the proposal! Generally very much aligned ![]()
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.