google / promises

Promises is a modern framework that provides a synchronization construct for Swift and Objective-C.
Apache License 2.0
3.79k stars 292 forks source link

Failed to build with xcodebuild command #165

Closed dokinkon closed 3 years ago

dokinkon commented 3 years ago

Hi I got some problem when using xcodebuild + SPM

Step to reproduce:

  1. create a simple App project from Xcode
  2. add promises dependency by SPM
  3. open command line tool, type xcodebuild -target TestPromise -sdk iphonesimulator

Error log:

note: Using new build system
note: Planning build
note: Constructing build description
Build system information
unexpected service error: build aborted due to an internal error: unable to write manifest to '/Users/chao-chih/Library/Developer/Xcode/DerivedData/TestPromise-chzitmlovmvjsfhjzonnctocolks/SourcePackages/checkouts/promises/build/XCBuildData/f6d544bc94ade848d7e36d0c5727fe62-manifest.xcbuild': File exists but is not a directory: /Users/chao-chih/Library/Developer/Xcode/DerivedData/TestPromise-chzitmlovmvjsfhjzonnctocolks/SourcePackages/checkouts/promises/build

Looks like xcodebuild trying to write some files into build directory. However there is a BUILD file is promises package already. How can I resolve this issue?

Thanks.

shoumikhin commented 3 years ago

Hi @dokinkon,

The BUILD file you see is the Bazel configuration. I guess we should rename that file to BUILD.bazel to avoid such conflicts. @ykjchen can you confirm such rename would work with both the OSS Bazel and the internal Blaze?

Thanks.

ykjchen commented 3 years ago

I was able to reproduce this. Resolved by renaming BUILD -> BUILD.bazel as suggested above.

I confirmed that building a project depending on Promises using Bazel still succeeds.

The fix should be available in 1.2.12. Please reopen if you're still running into this.