 		return BuildOptions(configuration: configuration, buildPlatform: buildPlatform, skipCurrent: true, colorOptions: checkoutOptions.colorOptions, verbose: verbose, directoryPath: checkoutOptions.directoryPath)
 	}
 
-	/// If `buildAfterUpdate` is true, this will be a signal representing the
+	/// If `buildAfterUpdate` is true, this will be a producer representing the
 	/// work necessary to build the project.
 	///
-	/// Otherwise, this signal will be empty.
-	public var buildSignal: ColdSignal<()> {
+	/// Otherwise, this producer will be empty.
+	public var buildProducer: SignalProducer<(), CarthageError> {
 		if buildAfterUpdate {
 			return BuildCommand().buildWithOptions(buildOptions)
 		} else {
-			return .empty()
+			return .empty
 		}
 	}
 


	/// Attempts to load the project referenced by the options, and configure it
	/// accordingly.
	public func loadProject() -> ColdSignal<Project> {
		return checkoutOptions.loadProject().on(next: { project in
			// Never check out binaries if we're skipping the build step,
			// because that means users may need the repository checkout.
			if !self.buildAfterUpdate {
				project.useBinaries = false
			}
		})
	}
}

		return self(buildAfterUpdate: buildAfterUpdate, configuration: configuration, buildPlatform: buildPlatform, verbose: verbose, checkoutOptions: checkoutOptions)
	}

	public static func evaluate(m: CommandMode) -> Result<UpdateOptions, CommandantError<CarthageError>> {
		return create
			<*> m <| Option(key: "configuration", defaultValue: "Release", usage: "the Xcode configuration to build (ignored if --no-build option is present)")
			<*> m <| Option(key: "platform", defaultValue: .All, usage: "the platform to build for (ignored if --no-build option is present)")
