-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add .NoSharedFrameworkSchemes error related to #570 #632
Conversation
If .NoSharedSchemes error happens, failover to other projects would not work well before the fix.
@@ -992,6 +995,15 @@ public func buildInDirectory(directoryURL: NSURL, withConfiguration configuratio | |||
|> map { _ in scheme } | |||
} | |||
|> collect | |||
|> catch { error in | |||
switch error { | |||
case .NoSharedSchemes: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the .XcodebuildListTimeout
error be handled also?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I think it's best not to catch those.
default: | ||
return SignalProducer(error: error) | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the purpose of this catch
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If
.NoSharedSchemes
error happens, failover to other projects would not work well before the fix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean that this lets Carthage continue to run after finding a project with no shared dependencies?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In other words, #570 works well if some projects does not have a shared framework scheme, but have some other shared schemes. If those projects have no any shared schemes, buildInDirectory()
errors out at the first project locator of them.
Looks good. 👍 Thanks! |
Add .NoSharedFrameworkSchemes error related to #570
😄 |
I'm sorry, this pull request breaks the compatibility with some repositories which have no projects/workspaces (e.g. https://github.com/jspahrsummers/xcconfigs). We might consider not to send |
A follow-up: #637. 🙇 |
Addresses #532 (comment), #532 (comment) and other comments.
If
.NoSharedSchemes
error happens, failover to other projects would not work well before the fix.