Skip to content

Conversation

@stuartmorgan-g
Copy link
Contributor

Currently podhelper.rb will always point plugin builds at the cached engine artifacts, even when using --local-engine. In most cases this is fine, since when the final build actually runs it will be using the engine bundled into the app build, which will be the correct local engine build. When trying to test a local engine build with API additions against a local plugin modified to use those additions to ensure that they are working as expected, however, compilation will fail, because the new APIs won't be present in the plugin build.

This fixes that for macOS, and adds a TODO for iOS (which is more complicated to fix due to the host vs target build distinction).

macOS portion of #132228

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.

@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Dec 15, 2023
section('Test app');
await app.runFlutterTest();
}
// Validate local engine handling. Currently only implemented for macOS.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Alternately I could make this a new top-level PluginTest parameter and run it separately in the various plugin test tasks, but it's so fast to run this seemed easier.

build_configuration.build_settings['ENABLE_BITCODE'] = 'NO'

# Profile can't be derived from the CocoaPods build configuration. Use release framework (for linking only).
# TODO(stuartmorgan): Handle local engines here; see https://github.com/flutter/flutter/issues/132228
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Originally I was going to fix both, but iOS is messier and I don't know when I'll get back to it, so I decided to at least land the macOS part and document the pitfall before I lose track of the branch where I had fixed macOS.

relative.to_s
end

def flutter_parse_xcconfig_file(file)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry to have to bring this code back :(

@stuartmorgan-g
Copy link
Contributor Author

Weird, I had that test working locally. Maybe it only works in some variants of the PluginTest invocation; I'll have to run all of them again.

Copy link
Member

@jmagman jmagman left a comment

Choose a reason for hiding this comment

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

The podhelper change LGTM, I'll re-review when you get the test working.

@stuartmorgan-g
Copy link
Contributor Author

Turns out doing a build --config-only when you already have a complete build doesn't regenerate the pod bits. It worked for me before because I had temporarily commented out the earlier test steps to make the write/test/debug iteration cycle faster.

I've added a clean before generating the local-engine config.

Copy link
Member

@jmagman jmagman left a comment

Choose a reason for hiding this comment

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

LGTM

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 4, 2024
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jan 4, 2024
@auto-submit
Copy link
Contributor

auto-submit bot commented Jan 4, 2024

auto label is removed for flutter/flutter/140222, due to - The status or check suite Linux_pixel_7pro android_defines_test has failed. Please fix the issues identified (or deflake) before re-applying this label.

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 4, 2024
@auto-submit auto-submit bot merged commit 24e0623 into flutter:master Jan 4, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 5, 2024
tarrinneal added a commit to flutter/packages that referenced this pull request Jan 5, 2024
Manual roll Flutter from 11def8e to cc40425 (118 revisions)

Manual roll requested by [email protected]

flutter/flutter@11def8e...cc40425

2024-01-05 [email protected] Roll Flutter Engine from
0bbb4d61ce82 to f60d9a9a3395 (1 revision) (flutter/flutter#140993)
2024-01-04 [email protected] Roll Flutter Engine from
b2a9ce88a19e to 0bbb4d61ce82 (3 revisions) (flutter/flutter#140990)
2024-01-04 [email protected] [web] Fix and unskip a few more CanvasKit
tests (flutter/flutter#140821)
2024-01-04 [email protected] Roll Flutter Engine from
bd175aa5e0b6 to b2a9ce88a19e (1 revision) (flutter/flutter#140986)
2024-01-04 [email protected] Pin package:vm_service
(flutter/flutter#140972)
2024-01-04 [email protected] Add scrollbar
for menus (flutter/flutter#140941)
2024-01-04 [email protected] manual pub roll to pick up dds
fixes (flutter/flutter#140979)
2024-01-04 [email protected] Roll Flutter Engine from
b81023eb71c9 to bd175aa5e0b6 (2 revisions) (flutter/flutter#140980)
2024-01-04 [email protected] Temporarily remove env variable for leak
tracking bots. (flutter/flutter#140978)
2024-01-04 [email protected] Add Flutter CI status to README
(flutter/flutter#140513)
2024-01-04 [email protected] Reland "integrate testWidgets with leak
tracking" (#140521) (flutter/flutter#140928)
2024-01-04 [email protected] Run half of iOS
devicelab tests with Xcode 15 (flutter/flutter#140927)
2024-01-04 [email protected] Fix
`SegmentedButton` states update logic (flutter/flutter#140772)
2024-01-04 [email protected] Roll Flutter Engine from
f539acfb8c5a to b81023eb71c9 (1 revision) (flutter/flutter#140973)
2024-01-04 [email protected] [Fix] Consistency in
ButtonStyleButton related Tests (flutter/flutter#140610)
2024-01-04 [email protected] Roll Packages from
bbb4134 to 31fc7b5 (6 revisions) (flutter/flutter#140967)
2024-01-04 [email protected] Fix local engine use in macOS plugins
(flutter/flutter#140222)
2024-01-04 [email protected] Roll Flutter Engine from
7d5a120a601b to f539acfb8c5a (2 revisions) (flutter/flutter#140959)
2024-01-04 [email protected] Roll Flutter Engine from
1ff3cb885842 to 7d5a120a601b (1 revision) (flutter/flutter#140946)
2024-01-04 [email protected] Roll Flutter Engine from
c8bf51f0d4cd to 1ff3cb885842 (1 revision) (flutter/flutter#140943)
2024-01-04 [email protected] Roll Flutter Engine from
bfd2d8a100ec to c8bf51f0d4cd (2 revisions) (flutter/flutter#140939)
2024-01-04 [email protected] Roll Flutter Engine from
28ae9e35c331 to bfd2d8a100ec (1 revision) (flutter/flutter#140937)
2024-01-04 [email protected] Roll Flutter Engine from
ab4098c742f8 to 28ae9e35c331 (1 revision) (flutter/flutter#140936)
2024-01-04 [email protected] Roll Flutter Engine from
e169f3677008 to ab4098c742f8 (2 revisions) (flutter/flutter#140933)
2024-01-03 [email protected] Roll Flutter Engine from
7c2adb811059 to e169f3677008 (1 revision) (flutter/flutter#140929)
2024-01-03 [email protected] Remove deprecated bitcode stripping from
tooling (flutter/flutter#140903)
2024-01-03 [email protected] Add Windows leak
tracking targets (flutter/flutter#140423)
2024-01-03 [email protected] [github actions] refactor and fix
cherry pick actions (flutter/flutter#140499)
2024-01-03 [email protected] Migrate Xcode projects last version checks
to Xcode 15.1 (flutter/flutter#140256)
2024-01-03 [email protected] Roll Flutter Engine from
bf232c4da241 to 7c2adb811059 (3 revisions) (flutter/flutter#140920)
2024-01-03 [email protected] fix typo and reflow
(flutter/flutter#140925)
2024-01-03 98614782+auto-submit[bot]@users.noreply.github.com Reverts
"Re-land integrate testWidgets with leak tracking."
(flutter/flutter#140926)
2024-01-03 [email protected] Roll Flutter Engine from
bf979d220283 to bf232c4da241 (1 revision) (flutter/flutter#140915)
2024-01-03 [email protected] Changes the regular cursor to a
floating cursor when a long press occurs. (flutter/flutter#138479)
2024-01-03 [email protected] Add
`SegmentedButton.styleFrom` (flutter/flutter#137542)
2024-01-03 [email protected] Roll Flutter Engine from
c62bcff5b809 to bf979d220283 (1 revision) (flutter/flutter#140910)
2024-01-03 [email protected] Re-land integrate testWidgets with leak
tracking. (flutter/flutter#140521)
2024-01-03 [email protected] Roll Flutter Engine from
98b72c7ffe71 to c62bcff5b809 (2 revisions) (flutter/flutter#140905)
2024-01-03 [email protected] [flutter_tools] add support for
--enable-impeller to test device. (flutter/flutter#140899)
2024-01-03 [email protected] Roll Flutter Engine from
cf7536964a2f to 98b72c7ffe71 (1 revision) (flutter/flutter#140897)
2024-01-03 [email protected] Handle
KEYCODE_DPAD_CENTER and KEYCODE_ENTER (flutter/flutter#140808)
2024-01-03 [email protected] Add Lucas Saudon to AUTHORS
(flutter/flutter#139965)
2024-01-03 [email protected] Link to wiki page
about updating dependencies in each `pubspec.yaml` file
(flutter/flutter#140826)
2024-01-03 [email protected] Marks Linux_pixel_7pro
native_assets_android to be unflaky (flutter/flutter#140866)
...

---------

Co-authored-by: Tarrin Neal <[email protected]>
auto-submit bot pushed a commit that referenced this pull request Jan 9, 2024
The recently landed #140222 accidentally used the deprecated `exists?` instead of the non-deprecated `exist?` (which other code in this file is already, correctly, using).

Fixes #141167
stuartmorgan-g added a commit to stuartmorgan-g/flutter that referenced this pull request Jan 11, 2024
The recently landed flutter#140222 accidentally used the deprecated `exists?` instead of the non-deprecated `exist?` (which other code in this file is already, correctly, using).

Fixes flutter#141167
auto-submit bot pushed a commit that referenced this pull request Jan 11, 2024
Cherry picks #141169 to beta

The recently landed #140222 accidentally used the deprecated `exists?` instead of the non-deprecated `exist?` (which other code in this file is already, correctly, using).

See #141167
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 16, 2024
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 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