Skip to content

Pass XcodeBasedProject instead of String to functions in XcodeProjectInterpreter#186378

Open
vashworth wants to merge 1 commit into
flutter:masterfrom
vashworth:spm_interface_signatures
Open

Pass XcodeBasedProject instead of String to functions in XcodeProjectInterpreter#186378
vashworth wants to merge 1 commit into
flutter:masterfrom
vashworth:spm_interface_signatures

Conversation

@vashworth
Copy link
Copy Markdown
Contributor

Pass XcodeBasedProject instead of the project path string.

This will enable us to be able to get more information about the project (other than just the project path) from places in xcodeproj.dart. Needed for #185218, https://github.com/flutter/flutter/pull/186006/changes#r3191012567

Pre-launch Checklist

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

If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

@vashworth vashworth requested review from a team as code owners May 11, 2026 22:19
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label May 11, 2026
@github-actions github-actions Bot added platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. platform-macos Building on or for macOS specifically a: desktop Running on desktop team-ios Owned by iOS platform team team-macos Owned by the macOS platform team labels May 11, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the XcodeProjectInterpreter class and its callers to pass XcodeBasedProject objects instead of raw string paths to methods such as getInfo, getBuildSettings, cleanWorkspace, and prefetchSwiftPackages. This change requires updates across various commands, migrations, and a significant number of test files to accommodate the new method signatures. Feedback indicates a potential inconsistency in prefetchSwiftPackages where the project path should point to the .xcodeproj directory for the xcodebuild command, and a suggestion to align the working directory in cleanWorkspace with the project's host app root.

Comment thread packages/flutter_tools/lib/src/ios/xcodeproj.dart
Comment thread packages/flutter_tools/lib/src/ios/xcodeproj.dart
@vashworth vashworth changed the title Pass XcodeBasedProject instead of String to fetchDependenciesAndGener… Pass XcodeBasedProject instead of String to functions in XcodeProjectInterpreter May 11, 2026
@vashworth vashworth requested a review from hellohuanlin May 11, 2026 22:26
Copy link
Copy Markdown
Contributor

@hellohuanlin hellohuanlin left a comment

Choose a reason for hiding this comment

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

thanks for breaking into smaller PRs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: desktop Running on desktop CICD Run CI/CD platform-ios iOS applications specifically platform-macos Building on or for macOS specifically team-ios Owned by iOS platform team team-macos Owned by the macOS platform team tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants