ankurp / Dollar

A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript
https://www.dollarswift.org
MIT License
4.25k stars 368 forks source link

error: no such module 'Dollar' when building with xcodebuild #128

Closed DavidQL closed 9 years ago

DavidQL commented 9 years ago

Builds and runs fine within Xcode, but when I try to build using xcodebuild in Terminal (needed for Facebook approval), my Swift files cannot find Dollar.

This is the command I'm running xcodebuild -arch i386 -sdk iphonesimulator8.1

This is a representative example of the errors I'm getting:

CompileSwift normal i386 /Users/davidaragon/dev/status/Status/ViewController.swift
    cd /Users/davidaragon/dev/status
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/davidaragon/dev/status/Status/Author.swift /Users/davidaragon/dev/status/Status/AlertViewController.swift /Users/davidaragon/dev/status/Status/StatusView.swift /Users/davidaragon/dev/status/Status/NewsFeedItem.swift /Users/davidaragon/dev/status/Status/ProgressBarScoreView.swift -primary-file /Users/davidaragon/dev/status/Status/ViewController.swift /Users/davidaragon/dev/status/Status/AuthorCell.swift /Users/davidaragon/dev/status/Status/FacebookAdapter.swift /Users/davidaragon/dev/status/SwiftRegex.swift /Users/davidaragon/dev/status/Status/AppDelegate.swift /Users/davidaragon/dev/status/Status/LoadingViewController.swift /Users/davidaragon/dev/status/Status/GameViewController.swift /Users/davidaragon/dev/status/Promise.swift -target i386-apple-ios8.1 -target-cpu yonah -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -I /Users/davidaragon/dev/status/build/Release-iphonesimulator -F /Users/davidaragon/dev/status/build/Release-iphonesimulator -F /Users/davidaragon/dev/status -g -import-objc-header /Users/davidaragon/dev/status/Bridging-Header.h -Xcc -I/Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Status-generated-files.hmap -Xcc -I/Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Status-own-target-headers.hmap -Xcc -I/Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Status-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/davidaragon/dev/status/build/Status.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Status-project-headers.hmap -Xcc -I/Users/davidaragon/dev/status/build/Release-iphonesimulator/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/DerivedSources/i386 -Xcc -I/Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/DerivedSources -emit-module-doc-path /Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Objects-normal/i386/ViewController~partial.swiftdoc -O -module-name Status -emit-module-path /Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Objects-normal/i386/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Objects-normal/i386/ViewController.dia -emit-dependencies-path /Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Objects-normal/i386/ViewController.d -o /Users/davidaragon/dev/status/build/Status.build/Release-iphonesimulator/Status.build/Objects-normal/i386/ViewController.o
/Users/davidaragon/dev/status/Status/FacebookAdapter.swift:10:8: error: no such module 'Dollar'
import Dollar

That last line is the crucial bit:

/Users/davidaragon/dev/status/Status/FacebookAdapter.swift:10:8: error: no such module 'Dollar'
import Dollar

The earlier build step to actually compile Dollar seems to be succeeded. It's when I try to import Dollar that xcodebuild breaks.

DavidQL commented 9 years ago

Solution: You have to include -scheme and either a -project or -workspace flag for this to work correctly:

xcodebuild -arch i386 -sdk iphonesimulator8.1 -project Status.xcodeproj -scheme Status