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
Support multiple frameworks in archive
command
#1005
Conversation
Or should we remove this line and recommend to attach multiple |
Yeah, I think I'd rather keep this simple and encourage running |
Does this mean the frameworks built by |
All the frameworks in the current project ( |
I got it, thanks! |
This would be useful for some libraries, for example, which have a Objective-C framework and the corresponding Swift one (e.g. https://github.com/CocoaLumberjack/CocoaLumberjack).
…ks in the current project
05c0ead
to
8fcdd1f
Compare
@mdiep I've rebased and implemented #1005 (comment). ✨ |
✨ I hope to catch up on Carthage PRs over the next few days. |
@@ -61,10 +94,11 @@ public struct ArchiveCommand: CommandType { | |||
.collect() | |||
.flatMap(.Merge) { paths -> SignalProducer<(), CarthageError> in | |||
if paths.isEmpty { | |||
return SignalProducer(error: CarthageError.InvalidArgument(description: "Could not find any copies of \(options.frameworkName).framework. Make sure you're in the project’s root and that the framework has already been built using 'carthage build --no-skip-current'.")) | |||
let error = CarthageError.InvalidArgument(description: "Could not find any copies of \(frameworks). Make sure you're in the project’s root and that the frameworks has already been built using 'carthage build --no-skip-current'.") |
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.
This should read that the frameworks have already.
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.
Also, it'd be nice to join the frameworks with commas so we don't get the []
s in the output.
This looks mostly correct, but I left a found a couple things that should be fixed and I think we ought to clean up the implementation a little. Thanks for doing this! It'll be a nice touch. |
@mdiep Thank you for the review, I've addressed them! ⚡ (diff with white space ignored) Could you please re-review? 🙏 |
@@ -268,6 +268,62 @@ public func schemesInProject(project: ProjectLocator) -> SignalProducer<String, | |||
.map { (line: String) -> String in line.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()) } | |||
} | |||
|
|||
/// Finds schemes of projects or workspace, which Carthage should build, found | |||
/// within the given directory. | |||
public func buildableSchemesByProjectLocatorInDirectory(directoryURL: NSURL, withConfiguration configuration: String, forPlatforms platforms: Set<Platform> = []) -> SignalProducer<(ProjectLocator, [String]), CarthageError> { |
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.
Could we call this buildableSchemesInDirectory
?
Looks good apart from the function names. 👍 |
Thanks for the feedbacks. ✨ |
✨ |
Support multiple frameworks in `archive` command
This would be useful for some libraries, for example, which have a Objective-C framework and the corresponding Swift one (e.g. https://github.com/CocoaLumberjack/CocoaLumberjack).