<p dir="auto">For reasons, I have a file called BUILD in my ios/ directory, which conflicts with Xcode's default build output directory ('build/'), since macOS has case-insensitive file system by default.</p>
<p dir="auto">I can get around that by setting SYMROOT in project.pbxproj, but the flutter tools still insist on using 'build/'. It would be nice if the build directory was configurable with a command-line parameter, and the xcode_backend.sh script passed $SYMROOT in there.</p>
<h2 dir="auto">Steps to Reproduce</h2>
<ol dir="auto">
<li>Create an empty (non-directory) file named 'build' in ios/</li>
<li>flutter run // &lt;-- doesn't work, fails building iOS project and flutter</li>
<li>Change SYMROOT in the Xcode project file</li>
<li>flutter run // &lt;-- still doesn't work, but only flutter fails now</li>
</ol>
<h2 dir="auto">Flutter Doctor</h2>
<p dir="auto">[✓] Flutter (on Mac OS, channel master)<br>
• Flutter at /Users/jakobr/src/flutter<br>
• Framework revision <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/flutter/flutter/commit/5f44b2d4e540867c5a7bfee8183f7f881bb53f63/hovercard" href="https://github.com/flutter/flutter/commit/5f44b2d4e540867c5a7bfee8183f7f881bb53f63"><tt>5f44b2d</tt></a> (8 hours ago), 2016-08-22 17:14:30<br>
• Engine revision <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/flutter/flutter/commit/0949efee2470acce4c5a756a704b494c737bd8a3/hovercard" href="https://github.com/flutter/flutter/commit/0949efee2470acce4c5a756a704b494c737bd8a3"><tt>0949efe</tt></a><br>
• Tools Dart version 1.19.0-dev.5.0</p>
<p dir="auto">[x] Android toolchain - develop for Android devices<br>
x Android Studio / Android SDK not found. Download from <a href="https://developer.android.com/sdk/" rel="nofollow">https://developer.android.com/sdk/</a><br>
(or visit <a href="https://flutter.io/setup/#android-setup" rel="nofollow">https://flutter.io/setup/#android-setup</a> for detailed instructions).</p>
<p dir="auto">[✓] iOS toolchain - develop for iOS devices (Xcode 7.3.1)<br>
• XCode at /Applications/Xcode.app/Contents/Developer<br>
• Xcode 7.3.1, Build version 7D1014</p>
<p dir="auto">[✓] Atom - a lightweight development environment for Flutter<br>
• flutter plugin version 0.2.4<br>
• dartlang plugin version 0.6.35</p>
<h2 dir="auto">Logs and Crash Reports</h2>
<p dir="auto">Flutter crash report; please file at <a href="https://github.com/flutter/flutter/issues">https://github.com/flutter/flutter/issues</a>.</p>
<h2 dir="auto">command</h2>
<p dir="auto">flutter --suppress-analytics build flx --target=lib/main.dart --output-file=example/ios/Flutter/app.flx</p>
<h2 dir="auto">exception</h2>
<p dir="auto">FileSystemException: Creation failed, path = 'build' (OS Error: File exists, errno = 17)</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="dart:io                                                           _Directory.createSync
package:file/src/sync/local/local_directory.dart 13               _LocalDirectory.create
package:flutter_tools/src/base/file_system.dart 65                ensureDirectoryExists
package:flutter_tools/src/flx.dart 86                             build.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        _Completer.completeError
package:flutter_tools/src/flx.dart 114                            build.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/flx.dart                                build
package:flutter_tools/src/commands/build_flx.dart 44              BuildFlxCommand.runInProject.&lt;async&gt;
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/commands/build.dart 56                  BuildSubCommand.runInProject.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/commands/build_flx.dart                 BuildFlxCommand.runInProject
package:flutter_tools/src/runner/flutter_command.dart 186         FlutterCommand._run.&lt;async&gt;
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/dart/pub.dart 60                        pubGet.&lt;async&gt;
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/base/process.dart 77                    runCommandAndStreamOutput.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/runner/flutter_command.dart             FlutterCommand._run
package:flutter_tools/src/runner/flutter_command.dart 116         FlutterCommand.run
package:args/command_runner.dart 177                              CommandRunner.runCommand.&lt;fn&gt;
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 130                              CommandRunner.runCommand
package:flutter_tools/src/runner/flutter_command_runner.dart 177  FlutterCommandRunner.runCommand.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/runner/flutter_command_runner.dart      FlutterCommandRunner.runCommand
package:args/command_runner.dart 104                              CommandRunner.run.&lt;fn&gt;
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 104                              CommandRunner.run
package:flutter_tools/src/runner/flutter_command_runner.dart 123  FlutterCommandRunner.run
package:flutter_tools/executable.dart 88                          main.&lt;async&gt;.&lt;fn&gt;.&lt;async&gt;
===== asynchronous gap ===========================
package:stack_trace                                               Chain.capture
package:flutter_tools/executable.dart 82                          main.&lt;async&gt;"><pre class="notranslate"><code class="notranslate">dart:io                                                           _Directory.createSync
package:file/src/sync/local/local_directory.dart 13               _LocalDirectory.create
package:flutter_tools/src/base/file_system.dart 65                ensureDirectoryExists
package:flutter_tools/src/flx.dart 86                             build.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        _Completer.completeError
package:flutter_tools/src/flx.dart 114                            build.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/flx.dart                                build
package:flutter_tools/src/commands/build_flx.dart 44              BuildFlxCommand.runInProject.&lt;async&gt;
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/commands/build.dart 56                  BuildSubCommand.runInProject.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/commands/build_flx.dart                 BuildFlxCommand.runInProject
package:flutter_tools/src/runner/flutter_command.dart 186         FlutterCommand._run.&lt;async&gt;
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/dart/pub.dart 60                        pubGet.&lt;async&gt;
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/base/process.dart 77                    runCommandAndStreamOutput.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/runner/flutter_command.dart             FlutterCommand._run
package:flutter_tools/src/runner/flutter_command.dart 116         FlutterCommand.run
package:args/command_runner.dart 177                              CommandRunner.runCommand.&lt;fn&gt;
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 130                              CommandRunner.runCommand
package:flutter_tools/src/runner/flutter_command_runner.dart 177  FlutterCommandRunner.runCommand.&lt;async&gt;
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/runner/flutter_command_runner.dart      FlutterCommandRunner.runCommand
package:args/command_runner.dart 104                              CommandRunner.run.&lt;fn&gt;
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 104                              CommandRunner.run
package:flutter_tools/src/runner/flutter_command_runner.dart 123  FlutterCommandRunner.run
package:flutter_tools/executable.dart 88                          main.&lt;async&gt;.&lt;fn&gt;.&lt;async&gt;
===== asynchronous gap ===========================
package:stack_trace                                               Chain.capture
package:flutter_tools/executable.dart 82                          main.&lt;async&gt;
</code></pre></div>
<h2 dir="auto">flutter doctor</h2>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=""><pre class="notranslate"><code class="notranslate"></code></pre></div>
<p dir="auto">These two files have duplicated code:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="packages/flutter/test/rendering/rendering_tester.dart
packages/flutter_test/lib/src/widget_tester.dart"><pre class="notranslate"><code class="notranslate">packages/flutter/test/rendering/rendering_tester.dart
packages/flutter_test/lib/src/widget_tester.dart
</code></pre></div>
<p dir="auto">We should consolidate to simplify maintenance.</p>