Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into 0.5-development
Browse files Browse the repository at this point in the history
  • Loading branch information
jspahrsummers committed Dec 25, 2014
2 parents f9a1365 + dca1e22 commit ab73e9e
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 11 deletions.
15 changes: 15 additions & 0 deletions Carthage.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -424,6 +424,7 @@
isa = PBXNativeTarget;
buildConfigurationList = D0E7B64919E9C64600EDBA4D /* Build configuration list for PBXNativeTarget "carthage" */;
buildPhases = (
C2265FAB1A4B86AC00158358 /* Check Xcode Version */,
D0E7B62E19E9C64500EDBA4D /* Sources */,
D0E7B62F19E9C64500EDBA4D /* Frameworks */,
D0E7B63019E9C64500EDBA4D /* Resources */,
Expand Down Expand Up @@ -509,6 +510,20 @@
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
C2265FAB1A4B86AC00158358 /* Check Xcode Version */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Check Xcode Version";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/bash;
shellScript = ". script/check-xcode-version";
};
D0AE6B171A0E931300E0E17D /* Copy Fixtures */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ Once you have Carthage [installed](#installing-carthage), you can begin adding f
$(SRCROOT)/Carthage/Build/iOS/LlamaKit.framework
$(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework
```

This script works around an [App Store submission bug](http://www.openradar.me/radar?id=6409498411401216) triggered by universal binaries.

##### For both platforms

Expand Down Expand Up @@ -126,7 +128,7 @@ Carthage is released under the [MIT License](LICENSE.md).

[Artifacts]: Documentation/Artifacts.md
[Cartfile]: Documentation/Artifacts.md#cartfile
[Cartfile.resolved]: Documentation/Artifacts.md#cartfilelock
[Cartfile.resolved]: Documentation/Artifacts.md#cartfileresolved
[Carthage/Build]: Documentation/Artifacts.md#carthagebuild
[Carthage/Checkouts]: Documentation/Artifacts.md#carthagecheckouts
[CarthageKit]: CarthageKit
[CarthageKit]: Source/CarthageKit
3 changes: 1 addition & 2 deletions Source/CarthageKit/Xcode.swift
Original file line number Diff line number Diff line change
Expand Up @@ -662,8 +662,7 @@ private func mergeBuildProductsIntoDirectory(firstProductSettings: BuildSettings
return destinationFolderURL.URLByAppendingPathComponent(modulesPath!)
}

let mergeProductModules = sourceModulesURL
.zipWith(destinationModulesURL)
let mergeProductModules = zip(sourceModulesURL, destinationModulesURL)
.map { (source: NSURL, destination: NSURL) -> ColdSignal<NSURL> in
return mergeModuleIntoModule(source, destination)
}
Expand Down
4 changes: 1 addition & 3 deletions Source/carthage/Build.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public struct BuildCommand: CommandType {
let directoryURL = NSURL.fileURLWithPath(options.directoryPath, isDirectory: true)!

let (stdoutSignal, schemeSignals) = self.buildProjectInDirectoryURL(directoryURL, options: options)
let disposable = stdoutSignal.observe { data in
stdoutSignal.observe { data in
stdoutHandle.writeData(data)
stdoutHandle.synchronizeFile()
}
Expand All @@ -41,8 +41,6 @@ public struct BuildCommand: CommandType {
carthage.println("*** xcodebuild output can be found in \(temporaryURL.path!)")
}, next: { (project, scheme) in
carthage.println("*** Building scheme \"\(scheme)\" in \(project)")
}, disposed: {
disposable.dispose()
})
.then(.empty())
}
Expand Down
6 changes: 2 additions & 4 deletions Source/carthage/CopyFrameworks.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,9 @@ public struct CopyFrameworksCommand: CommandType {
let source = NSURL(fileURLWithPath: frameworkPath, isDirectory: true)!
let target = frameworksFolder().map { $0.URLByAppendingPathComponent(frameworkName, isDirectory: true) }

return ColdSignal.fromResult(target)
.combineLatestWith(.fromResult(validArchitectures()))
return combineLatest(ColdSignal.fromResult(target), .fromResult(validArchitectures()))
.mergeMap { (target, validArchitectures) -> ColdSignal<()> in
return copyFramework(source, target)
.combineLatestWith(.fromResult(getEnvironmentVariable("EXPANDED_CODE_SIGN_IDENTITY")))
return combineLatest(copyFramework(source, target), .fromResult(getEnvironmentVariable("EXPANDED_CODE_SIGN_IDENTITY")))
.mergeMap { (url, codesigningIdentity) -> ColdSignal<()> in
return stripFramework(target, keepingArchitectures: validArchitectures, codesigningIdentity: codesigningIdentity)
}
Expand Down
12 changes: 12 additions & 0 deletions script/check-xcode-version
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash
#
# Check the minimum required Xcode version. Meant to be run
# as part of an Xcode Run Script build phase.

required_xcode_version=6.1.1

if [ ${XCODE_VERSION_ACTUAL} -lt ${required_xcode_version//.} ]
then
echo "error: Xcode ${required_xcode_version} or later is required to build ${PRODUCT_NAME}"
exit 1
fi

0 comments on commit ab73e9e

Please sign in to comment.