Skip to content
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

Merged
merged 2 commits into from
Jul 25, 2015

Conversation

ikesyo
Copy link
Member

@ikesyo ikesyo commented Jul 23, 2015

Addresses #532 (comment), #532 (comment) and other comments.

If .NoSharedSchemes error happens, failover to other projects would not work well before the fix.

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:
Copy link
Member Author

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?

Copy link
Member

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)
}
}
Copy link
Member

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?

Copy link
Member Author

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.

Copy link
Member

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?

Copy link
Member Author

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.

@mdiep
Copy link
Member

mdiep commented Jul 25, 2015

Looks good. 👍 Thanks!

mdiep added a commit that referenced this pull request Jul 25, 2015
Add .NoSharedFrameworkSchemes error related to #570
@mdiep mdiep merged commit 5124a93 into master Jul 25, 2015
@mdiep mdiep deleted the no-shared-framework-schemes-error branch July 25, 2015 02:02
@ikesyo
Copy link
Member Author

ikesyo commented Jul 25, 2015

😄

@ikesyo
Copy link
Member Author

ikesyo commented Jul 25, 2015

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 .NoSharedFrameworkSchemes error if a dependency have no projects/workspaces.

@ikesyo
Copy link
Member Author

ikesyo commented Jul 25, 2015

A follow-up: #637. 🙇

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants