Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure Xcode project is setup to start debugger #136977

Merged

Conversation

vashworth
Copy link
Contributor

@vashworth vashworth commented Oct 20, 2023

Some users have their Xcode settings set to not debug (see example here #136197 (comment)). This will cause the engine check for a debugger to fail, which will cause an error and cause the app to crash.

This PR parses the scheme file to ensure the scheme is set to start a debugger and warn the user if it's not.

Fixes #136197.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. labels Oct 20, 2023
/// reported them not being so after upgrading to Xcode 15.
void ensureXcodeDebuggerLaunchAction(File schemeFile) {
if (!schemeFile.existsSync()) {
_logger.printError('Failed to find ${schemeFile.path}');
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've purposely set this error and some of the ones below to be non-breaking and just print out the error. It only throws if it successfully finds the scheme file and parse it and finds the settings are incorrect.

Reason for this is I plan to CP this into stable and although I'm pretty confident that none of these should error, there may be cases I'm unaware of. And by default, most projects should have these settings be correct. I don't want to prevent a valid project from running.

Let me know if you think I'm being too cautious 😅

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you plan to mark it a failure AFTER the CP? or would you like it to be printError indefinitely?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in terms of cherry-picking, I would say this is an appropriate level of caution :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I was originally thinking that after I CP'd it, I could change it to throw. But it might be better to just leave it on print indefinitely. If the checks do fail and they have the incorrect settings, it'll still crash later on with the engine error

@@ -411,6 +413,49 @@ class XcodeDebug {
verboseLogging: verboseLogging,
);
}

/// Ensure the Xcode project is set up to launch an LLDB debugger. If these
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this check only need to be done when we're initiating debugging via the Xcode GUI?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. Also, only need to be done for BuildableIOSApp (so not prebuilt) since prebuilt uses a Xcode project we generate on the fly.

@vashworth
Copy link
Contributor Author

@eliasyishak since @christopherfujino is OOO, could you review?

Copy link
Contributor

@eliasyishak eliasyishak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@vashworth vashworth added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 25, 2023
@auto-submit auto-submit bot merged commit 5dd2a4e into flutter:master Oct 25, 2023
130 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 25, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Oct 25, 2023
Roll Flutter from 5e8b5f4ea293 to 5dd2a4e0aaef (59 revisions)

flutter/flutter@5e8b5f4...5dd2a4e

2023-10-25 15619084+vashworth@users.noreply.github.com Ensure Xcode project is setup to start debugger (flutter/flutter#136977)
2023-10-25 fluttergithubbot@gmail.com Marks Windows build_tests_6_6 to be unflaky (flutter/flutter#137216)
2023-10-25 godofredoc@google.com Remove gem and docker files. (flutter/flutter#137200)
2023-10-25 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[gallery] Reland roll gallery to  ecfb9e5352bd12032301b12b30d5853d83d89bda" (flutter/flutter#137264)
2023-10-25 jonahwilliams@google.com [gallery] Reland roll gallery to  ecfb9e5352bd12032301b12b30d5853d83d89bda (flutter/flutter#137199)
2023-10-25 engine-flutter-autoroll@skia.org Roll Packages from 2faf992 to f751ffb (11 revisions) (flutter/flutter#137254)
2023-10-25 fluttergithubbot@gmail.com Marks Windows build_tests_3_6 to be unflaky (flutter/flutter#137214)
2023-10-25 fluttergithubbot@gmail.com Marks Windows build_tests_5_6 to be unflaky (flutter/flutter#137215)
2023-10-25 fluttergithubbot@gmail.com Marks Windows build_tests_2_6 to be unflaky (flutter/flutter#137213)
2023-10-25 tessertaha@gmail.com Revert "Update `OutlinedButton` tests for Material 3 (#136809)" (flutter/flutter#137242)
2023-10-25 tessertaha@gmail.com Update `OutlinedButton` tests for Material 3 (flutter/flutter#136809)
2023-10-25 5236035+fzyzcjy@users.noreply.github.com Let `OverflowBox` be shrink-wrappable (flutter/flutter#129095)
2023-10-25 polinach@google.com Add dependency on leak_tracker to flutter_test. (flutter/flutter#137069)
2023-10-25 ybz975218925@gmail.com fix SliverReorderableLists item wrong offset (flutter/flutter#136828)
2023-10-25 jacksongardner@google.com Remove `bringup: true` from realm_checker and remove the redundant tool test. (flutter/flutter#137186)
2023-10-25 36861262+QuncCccccc@users.noreply.github.com Revert "Fix Gradle lockfiles." (flutter/flutter#137198)
2023-10-24 polinach@google.com Fix Gradle lockfiles. (flutter/flutter#137190)
2023-10-24 pateltirth454@gmail.com Fix Typos (flutter/flutter#137173)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from d6a48e9963df to 6e09ee14e244 (1 revision) (flutter/flutter#137185)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 602b5131ee4d to d6a48e9963df (6 revisions) (flutter/flutter#137180)
2023-10-24 42715466+lirantzairi@users.noreply.github.com TextField - allow to customize cursor color in error state (flutter/flutter#136121)
2023-10-24 chris@bracken.jp [macOS] Refactor macOS build/codesize analysis (flutter/flutter#137164)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from dc00de7dacf4 to 602b5131ee4d (1 revision) (flutter/flutter#137174)
2023-10-24 jacksongardner@google.com Check the realm file in its own shard. (flutter/flutter#137160)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1890bd7dc412 to dc00de7dacf4 (1 revision) (flutter/flutter#137172)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from ca7ef01c99c6 to 1890bd7dc412 (2 revisions) (flutter/flutter#137158)
2023-10-24 godofredoc@google.com Migrate mac builds to ruby dep. (flutter/flutter#136929)
2023-10-24 engine-flutter-autoroll@skia.org Roll Packages from 4bf5114 to 2faf992 (7 revisions) (flutter/flutter#137154)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7224835bb65f to ca7ef01c99c6 (1 revision) (flutter/flutter#137153)
2023-10-24 imcusg@gmail.com fix some typos (flutter/flutter#137144)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8f7488e0b4b5 to 7224835bb65f (1 revision) (flutter/flutter#137150)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from d58895093d0a to 8f7488e0b4b5 (3 revisions) (flutter/flutter#137135)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2a8471f188cd to d58895093d0a (4 revisions) (flutter/flutter#137130)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 71600d89aa3f to 2a8471f188cd (2 revisions) (flutter/flutter#137129)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3dd197dcf9e5 to 71600d89aa3f (1 revision) (flutter/flutter#137127)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from bdbd1058858b to 3dd197dcf9e5 (2 revisions) (flutter/flutter#137125)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0ef5caa91c40 to bdbd1058858b (1 revision) (flutter/flutter#137119)
2023-10-24 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Use `coverage.collect`'s `coverableLineCache` param to speed up coverage" (flutter/flutter#137121)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from dd6a6531e816 to 0ef5caa91c40 (1 revision) (flutter/flutter#137114)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0bd703132cc1 to dd6a6531e816 (2 revisions) (flutter/flutter#137111)
2023-10-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from abeab897a29c to 0bd703132cc1 (3 revisions) (flutter/flutter#137107)
2023-10-23 polinach@google.com Upgrade packages in flutter and flutter_test. (flutter/flutter#137106)
2023-10-23 49699333+dependabot[bot]@users.noreply.github.com Bump ossf/scorecard-action from 2.2.0 to 2.3.1 (flutter/flutter#137103)
2023-10-23 goderbauer@google.com Dartdoc warnings (flutter/flutter#137077)
2023-10-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from e89f0421bcab to abeab897a29c (5 revisions) (flutter/flutter#137100)
2023-10-23 sokolovskyi.konstantin@gmail.com Cover last test/material tests with leak tracking. (flutter/flutter#137004)
...
HugoOlthof pushed a commit to moneybird/packages that referenced this pull request Dec 13, 2023
…r#5231)

Roll Flutter from 5e8b5f4ea293 to 5dd2a4e0aaef (59 revisions)

flutter/flutter@5e8b5f4...5dd2a4e

2023-10-25 15619084+vashworth@users.noreply.github.com Ensure Xcode project is setup to start debugger (flutter/flutter#136977)
2023-10-25 fluttergithubbot@gmail.com Marks Windows build_tests_6_6 to be unflaky (flutter/flutter#137216)
2023-10-25 godofredoc@google.com Remove gem and docker files. (flutter/flutter#137200)
2023-10-25 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[gallery] Reland roll gallery to  ecfb9e5352bd12032301b12b30d5853d83d89bda" (flutter/flutter#137264)
2023-10-25 jonahwilliams@google.com [gallery] Reland roll gallery to  ecfb9e5352bd12032301b12b30d5853d83d89bda (flutter/flutter#137199)
2023-10-25 engine-flutter-autoroll@skia.org Roll Packages from 2faf992 to f751ffb (11 revisions) (flutter/flutter#137254)
2023-10-25 fluttergithubbot@gmail.com Marks Windows build_tests_3_6 to be unflaky (flutter/flutter#137214)
2023-10-25 fluttergithubbot@gmail.com Marks Windows build_tests_5_6 to be unflaky (flutter/flutter#137215)
2023-10-25 fluttergithubbot@gmail.com Marks Windows build_tests_2_6 to be unflaky (flutter/flutter#137213)
2023-10-25 tessertaha@gmail.com Revert "Update `OutlinedButton` tests for Material 3 (#136809)" (flutter/flutter#137242)
2023-10-25 tessertaha@gmail.com Update `OutlinedButton` tests for Material 3 (flutter/flutter#136809)
2023-10-25 5236035+fzyzcjy@users.noreply.github.com Let `OverflowBox` be shrink-wrappable (flutter/flutter#129095)
2023-10-25 polinach@google.com Add dependency on leak_tracker to flutter_test. (flutter/flutter#137069)
2023-10-25 ybz975218925@gmail.com fix SliverReorderableLists item wrong offset (flutter/flutter#136828)
2023-10-25 jacksongardner@google.com Remove `bringup: true` from realm_checker and remove the redundant tool test. (flutter/flutter#137186)
2023-10-25 36861262+QuncCccccc@users.noreply.github.com Revert "Fix Gradle lockfiles." (flutter/flutter#137198)
2023-10-24 polinach@google.com Fix Gradle lockfiles. (flutter/flutter#137190)
2023-10-24 pateltirth454@gmail.com Fix Typos (flutter/flutter#137173)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from d6a48e9963df to 6e09ee14e244 (1 revision) (flutter/flutter#137185)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 602b5131ee4d to d6a48e9963df (6 revisions) (flutter/flutter#137180)
2023-10-24 42715466+lirantzairi@users.noreply.github.com TextField - allow to customize cursor color in error state (flutter/flutter#136121)
2023-10-24 chris@bracken.jp [macOS] Refactor macOS build/codesize analysis (flutter/flutter#137164)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from dc00de7dacf4 to 602b5131ee4d (1 revision) (flutter/flutter#137174)
2023-10-24 jacksongardner@google.com Check the realm file in its own shard. (flutter/flutter#137160)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1890bd7dc412 to dc00de7dacf4 (1 revision) (flutter/flutter#137172)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from ca7ef01c99c6 to 1890bd7dc412 (2 revisions) (flutter/flutter#137158)
2023-10-24 godofredoc@google.com Migrate mac builds to ruby dep. (flutter/flutter#136929)
2023-10-24 engine-flutter-autoroll@skia.org Roll Packages from 4bf5114 to 2faf992 (7 revisions) (flutter/flutter#137154)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7224835bb65f to ca7ef01c99c6 (1 revision) (flutter/flutter#137153)
2023-10-24 imcusg@gmail.com fix some typos (flutter/flutter#137144)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8f7488e0b4b5 to 7224835bb65f (1 revision) (flutter/flutter#137150)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from d58895093d0a to 8f7488e0b4b5 (3 revisions) (flutter/flutter#137135)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2a8471f188cd to d58895093d0a (4 revisions) (flutter/flutter#137130)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 71600d89aa3f to 2a8471f188cd (2 revisions) (flutter/flutter#137129)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3dd197dcf9e5 to 71600d89aa3f (1 revision) (flutter/flutter#137127)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from bdbd1058858b to 3dd197dcf9e5 (2 revisions) (flutter/flutter#137125)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0ef5caa91c40 to bdbd1058858b (1 revision) (flutter/flutter#137119)
2023-10-24 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Use `coverage.collect`'s `coverableLineCache` param to speed up coverage" (flutter/flutter#137121)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from dd6a6531e816 to 0ef5caa91c40 (1 revision) (flutter/flutter#137114)
2023-10-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0bd703132cc1 to dd6a6531e816 (2 revisions) (flutter/flutter#137111)
2023-10-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from abeab897a29c to 0bd703132cc1 (3 revisions) (flutter/flutter#137107)
2023-10-23 polinach@google.com Upgrade packages in flutter and flutter_test. (flutter/flutter#137106)
2023-10-23 49699333+dependabot[bot]@users.noreply.github.com Bump ossf/scorecard-action from 2.2.0 to 2.3.1 (flutter/flutter#137103)
2023-10-23 goderbauer@google.com Dartdoc warnings (flutter/flutter#137077)
2023-10-23 engine-flutter-autoroll@skia.org Roll Flutter Engine from e89f0421bcab to abeab897a29c (5 revisions) (flutter/flutter#137100)
2023-10-23 sokolovskyi.konstantin@gmail.com Cover last test/material tests with leak tracking. (flutter/flutter#137004)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels.
Projects
None yet
3 participants