Skip to content

Conversation

@cbracken
Copy link
Member

@cbracken cbracken commented May 4, 2018

If the developer changes their Xcode build settings and their project
has plugins, pod install is required, (e.g. to pick up changes to the
target architecture).

Similarly, manual edits to the Podfile should trigger a pod install.

@cbracken cbracken requested review from mravn-google and xster May 4, 2018 01:16
@cbracken
Copy link
Member Author

cbracken commented May 4, 2018

@mravn-google the parameter name change from flutterPodChanged to dependenciesChanged likely requires a patch to your tests in #17210.

It may also eliminate the need for the timestamp check on Podfile in your patch since we're now checking the contents. It may be worth keeping out of paranoia, though. If a fingerprint were ever written after a failed pod install, it would prevent reinstall -- that shouldn't happen with the current code since failure to pod install results in throwToolExit today.

Copy link
Member

@xster xster left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

Choose a reason for hiding this comment

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

can we add some dartdocs to fingerprint.dart or tweak the name? I couldn't figure out what this does. Feel free to do in a different PR

Copy link
Member

Choose a reason for hiding this comment

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

You answered this one

Copy link
Member Author

@cbracken cbracken May 4, 2018

Choose a reason for hiding this comment

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

Will do. The intent for properties is to be build options/flags (e.g. build mode, target platform, or anything other than file contents that's user-specified and affects the build) it's marked as @required in Fingerprinter because in almost every case this is something we don't want to forget, but in this case there's not much to put in there.

Copy link
Member

Choose a reason for hiding this comment

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

Is it possible that the user doesn't even have pod installed, runs processPods, dumps an error message but goes through, writes a fingerprint. The user installs pods but it never runs again because the fingerprint matches?

Copy link
Member

Choose a reason for hiding this comment

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

Maybe a question for @mravn-google, should we check for cocoapods being installed during inject plugins before it gets here? I don't have a strong opinion either way.

Copy link
Member Author

Choose a reason for hiding this comment

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

I've added a boolean return value from processPods that indicates whether we actually ran pod install or not, and only write if so.

@cbracken
Copy link
Member Author

cbracken commented May 4, 2018

Related #2089

If the developer changes their Xcode build settings and their project
has plugins, pod install is required, (e.g. to pick up changes to the
target architecture).

Similarly, manual edits to the Podfile should trigger a pod install.
@cbracken cbracken force-pushed the pod-install-on-xcode-project-changes branch from 5fee8ac to 61296fb Compare May 4, 2018 01:49
@cbracken cbracken merged commit cdbdafa into flutter:master May 4, 2018
@cbracken cbracken deleted the pod-install-on-xcode-project-changes branch May 4, 2018 02:40
@cbracken
Copy link
Member Author

cbracken commented May 4, 2018

Landed -- @mravn-google please hack up/tweak/fix/revert as necessary if this causes problems with your change.

Copy link
Contributor

@mravn-google mravn-google left a comment

Choose a reason for hiding this comment

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

LGTM

// If the Xcode project, Podfile, or Generated.xcconfig have changed since
// last run, pods should be updated.
final Fingerprinter fingerprinter = new Fingerprinter(
fingerprintPath: fs.path.join(getIosBuildDirectory(), 'pod_inputs.fingerprint'),
Copy link
Contributor

Choose a reason for hiding this comment

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

The fingerprint file should probably be .gitignored in our project templates. Maybe just add a *.fingerprint pattern at the root, and have the Fingerprinter class help by enforcing the use of the .fingerprint extension.

Copy link
Contributor

Choose a reason for hiding this comment

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

Nevermind. I see now that the fingerprint file has been placed in the build folder.

DaveShuckerow pushed a commit to DaveShuckerow/flutter that referenced this pull request May 14, 2018
If the developer changes their Xcode build settings and their project
has plugins, pod install is required, (e.g. to pick up changes to the
target architecture).

Similarly, manual edits to the Podfile should trigger a pod install.
gaaclarke added a commit to gaaclarke/flutter that referenced this pull request Mar 24, 2020
git log 2d42c74..d7ad50c --first-parent --oneline
d7ad50c Roll src/third_party/skia c97c90072499..6cb8168c2b9b (1 commits) (flutter#17287)
704a869 Roll src/third_party/dart cbd67124d10e..8246621d4da3 (39 commits) (flutter#17286)
33895cf Roll src/third_party/skia d1988219065a..c97c90072499 (2 commits) (flutter#17285)
48d1165 Roll fuchsia/sdk/core/linux-amd64 from h8m0G... to y2Piw... (flutter#17283)
0015b19 Roll fuchsia/sdk/core/mac-amd64 from WaNBa... to gkIC0... (flutter#17282)
518c9e0 Remove checks for the always true using_fuchsia_sdk flag in all GN files. (flutter#17261)
1eea062 Roll src/third_party/skia 3c358420df4a..d1988219065a (3 commits) (flutter#17279)
ad8ccf4 [Fuchsia] Move physical shape layer compositing to Flutter (flutter#17005)
c490cb9 Roll src/third_party/skia 165b68ebb6ad..3c358420df4a (5 commits) (flutter#17277)
4c41b14 [web] Introduce js interop to enable experimental flags on web (flutter#17099)
21f5d7f Roll src/third_party/skia 4098719375d8..165b68ebb6ad (7 commits) (flutter#17274)
6fef0d0 Removed a text input trait that causes VoiceOver to be incorrect when tapping a text input. (flutter#17203)
9343c5e added missing mock to MockEngine for iOS unit tests (flutter#17273)
af056a8 Roll src/third_party/skia 6f60a859c628..4098719375d8 (6 commits) (flutter#17271)
33a21d1 Add DartProject for Windows embedding API (flutter#17210)
8a8b298 Added a log message when sharing a FlutterEngine across multiple FlutterViewControllers. (flutter#17186)
11f5521 Roll src/third_party/skia f04f21a5c913..6f60a859c628 (2 commits) (flutter#17268)
da9e778 Roll fuchsia/sdk/core/linux-amd64 from k4zbT... to h8m0G... (flutter#17264)
c86a4cc Roll fuchsia/sdk/core/mac-amd64 from bgp6U... to WaNBa... (flutter#17263)
35e8303 Roll src/third_party/skia 538e358b0d82..f04f21a5c913 (2 commits) (flutter#17260)
e56b335 Allow external texture sources when using the Metal backend. (flutter#17154)
c0deb23 Don’t depend on an implicit transaction when no external view embedder is present. (flutter#17258)
80846b0 Roll src/third_party/dart b7455646f90d..cbd67124d10e (3 commits) (flutter#17257)
9c64029 Documentation cleanups to RuntimeController. (flutter#17256)
209e786 Roll fuchsia/sdk/core/linux-amd64 from kGu6P... to k4zbT... (flutter#17255)
aa26106 Roll fuchsia/sdk/core/mac-amd64 from nmCXC... to bgp6U... (flutter#17254)
eec7447 Roll src/third_party/dart bdf14543576a..b7455646f90d (1 commits) (flutter#17253)
ba26ce3 Roll src/third_party/dart 861708483217..bdf14543576a (5 commits) (flutter#17252)
c9a24af Roll src/third_party/skia cf3594b60362..538e358b0d82 (4 commits) (flutter#17251)
59406cc Roll src/third_party/skia e41fa2d5e44d..cf3594b60362 (1 commits) (flutter#17249)
7d21f97 Roll src/third_party/dart f247613737ec..861708483217 (1 commits) (flutter#17248)
db02fa1 Roll fuchsia/sdk/core/linux-amd64 from pTJOm... to kGu6P... (flutter#17247)
f5314ea Roll fuchsia/sdk/core/mac-amd64 from uyg4y... to nmCXC... (flutter#17246)
31c4727 Document flutter::RuntimeController. (flutter#17250)
7b9a678 Roll src/third_party/dart 82f8a5451fae..f247613737ec (3 commits) (flutter#17245)
3dd688c Roll src/third_party/dart ba8baa46b452..82f8a5451fae (40 commits) (flutter#17244)
cafa097 Revert "Roll src/third_party/dart ba8baa46b452..fbd0c8a46813 (35 commits) (flutter#17241)" (flutter#17243)
2f769be Soften shadows (flutter#17231)
48902d1 Felt add integration (flutter#17190)
047c03b Roll src/third_party/dart ba8baa46b452..fbd0c8a46813 (35 commits) (flutter#17241)
f5d25da Reland: Implement unobstructed Platform Views on iOS (flutter#17237)
d79170f Roll src/third_party/skia 933926683991..e41fa2d5e44d (2 commits) (flutter#17240)
46cc35f Roll fuchsia/sdk/core/mac-amd64 from MKYwg... to uyg4y... (flutter#17234)
060cbc4 Revert "Roll src/third_party/dart ba8baa46b452..0296286c03f6 (11 commits) (flutter#17226)" (flutter#17239)
1152709 Roll fuchsia/sdk/core/linux-amd64 from ZmlfS... to pTJOm... (flutter#17235)
47ae84b Run web framework tests on third-party rolls (flutter#17238)
e2ec94b Roll src/third_party/skia 7b7b78cb9f1b..933926683991 (6 commits) (flutter#17232)
f58967f Re-land "Enable unified OpenGL/Metal builds." (flutter#17230)
70f6d18 Revert "Implement unobstructed Platform Views on iOS (flutter#17049)" (flutter#17233)
bba1a3c Roll buildroot to a0fb98a (flutter#17229)
2627634 Implement unobstructed Platform Views on iOS (flutter#17049)
49f8dba Sync Cirrus web test config from flutter/flutter (flutter#17228)
fdf4f78 Roll src/third_party/skia 85755f46a881..7b7b78cb9f1b (6 commits) (flutter#17227)
6c757f3 Roll src/third_party/dart ba8baa46b452..0296286c03f6 (11 commits) (flutter#17226)
gaaclarke added a commit to gaaclarke/flutter that referenced this pull request Mar 24, 2020
git log 2d42c74..d7ad50c --first-parent --oneline
d7ad50c Roll src/third_party/skia c97c90072499..6cb8168c2b9b (1 commits) (flutter#17287)
704a869 Roll src/third_party/dart cbd67124d10e..8246621d4da3 (39 commits) (flutter#17286)
33895cf Roll src/third_party/skia d1988219065a..c97c90072499 (2 commits) (flutter#17285)
48d1165 Roll fuchsia/sdk/core/linux-amd64 from h8m0G... to y2Piw... (flutter#17283)
0015b19 Roll fuchsia/sdk/core/mac-amd64 from WaNBa... to gkIC0... (flutter#17282)
518c9e0 Remove checks for the always true using_fuchsia_sdk flag in all GN files. (flutter#17261)
1eea062 Roll src/third_party/skia 3c358420df4a..d1988219065a (3 commits) (flutter#17279)
ad8ccf4 [Fuchsia] Move physical shape layer compositing to Flutter (flutter#17005)
c490cb9 Roll src/third_party/skia 165b68ebb6ad..3c358420df4a (5 commits) (flutter#17277)
4c41b14 [web] Introduce js interop to enable experimental flags on web (flutter#17099)
21f5d7f Roll src/third_party/skia 4098719375d8..165b68ebb6ad (7 commits) (flutter#17274)
6fef0d0 Removed a text input trait that causes VoiceOver to be incorrect when tapping a text input. (flutter#17203)
9343c5e added missing mock to MockEngine for iOS unit tests (flutter#17273)
af056a8 Roll src/third_party/skia 6f60a859c628..4098719375d8 (6 commits) (flutter#17271)
33a21d1 Add DartProject for Windows embedding API (flutter#17210)
8a8b298 Added a log message when sharing a FlutterEngine across multiple FlutterViewControllers. (flutter#17186)
11f5521 Roll src/third_party/skia f04f21a5c913..6f60a859c628 (2 commits) (flutter#17268)
da9e778 Roll fuchsia/sdk/core/linux-amd64 from k4zbT... to h8m0G... (flutter#17264)
c86a4cc Roll fuchsia/sdk/core/mac-amd64 from bgp6U... to WaNBa... (flutter#17263)
35e8303 Roll src/third_party/skia 538e358b0d82..f04f21a5c913 (2 commits) (flutter#17260)
e56b335 Allow external texture sources when using the Metal backend. (flutter#17154)
c0deb23 Don’t depend on an implicit transaction when no external view embedder is present. (flutter#17258)
80846b0 Roll src/third_party/dart b7455646f90d..cbd67124d10e (3 commits) (flutter#17257)
9c64029 Documentation cleanups to RuntimeController. (flutter#17256)
209e786 Roll fuchsia/sdk/core/linux-amd64 from kGu6P... to k4zbT... (flutter#17255)
aa26106 Roll fuchsia/sdk/core/mac-amd64 from nmCXC... to bgp6U... (flutter#17254)
eec7447 Roll src/third_party/dart bdf14543576a..b7455646f90d (1 commits) (flutter#17253)
ba26ce3 Roll src/third_party/dart 861708483217..bdf14543576a (5 commits) (flutter#17252)
c9a24af Roll src/third_party/skia cf3594b60362..538e358b0d82 (4 commits) (flutter#17251)
59406cc Roll src/third_party/skia e41fa2d5e44d..cf3594b60362 (1 commits) (flutter#17249)
7d21f97 Roll src/third_party/dart f247613737ec..861708483217 (1 commits) (flutter#17248)
db02fa1 Roll fuchsia/sdk/core/linux-amd64 from pTJOm... to kGu6P... (flutter#17247)
f5314ea Roll fuchsia/sdk/core/mac-amd64 from uyg4y... to nmCXC... (flutter#17246)
31c4727 Document flutter::RuntimeController. (flutter#17250)
7b9a678 Roll src/third_party/dart 82f8a5451fae..f247613737ec (3 commits) (flutter#17245)
3dd688c Roll src/third_party/dart ba8baa46b452..82f8a5451fae (40 commits) (flutter#17244)
cafa097 Revert "Roll src/third_party/dart ba8baa46b452..fbd0c8a46813 (35 commits) (flutter#17241)" (flutter#17243)
2f769be Soften shadows (flutter#17231)
48902d1 Felt add integration (flutter#17190)
047c03b Roll src/third_party/dart ba8baa46b452..fbd0c8a46813 (35 commits) (flutter#17241)
f5d25da Reland: Implement unobstructed Platform Views on iOS (flutter#17237)
d79170f Roll src/third_party/skia 933926683991..e41fa2d5e44d (2 commits) (flutter#17240)
46cc35f Roll fuchsia/sdk/core/mac-amd64 from MKYwg... to uyg4y... (flutter#17234)
060cbc4 Revert "Roll src/third_party/dart ba8baa46b452..0296286c03f6 (11 commits) (flutter#17226)" (flutter#17239)
1152709 Roll fuchsia/sdk/core/linux-amd64 from ZmlfS... to pTJOm... (flutter#17235)
47ae84b Run web framework tests on third-party rolls (flutter#17238)
e2ec94b Roll src/third_party/skia 7b7b78cb9f1b..933926683991 (6 commits) (flutter#17232)
f58967f Re-land "Enable unified OpenGL/Metal builds." (flutter#17230)
70f6d18 Revert "Implement unobstructed Platform Views on iOS (flutter#17049)" (flutter#17233)
bba1a3c Roll buildroot to a0fb98a (flutter#17229)
2627634 Implement unobstructed Platform Views on iOS (flutter#17049)
49f8dba Sync Cirrus web test config from flutter/flutter (flutter#17228)
fdf4f78 Roll src/third_party/skia 85755f46a881..7b7b78cb9f1b (6 commits) (flutter#17227)
6c757f3 Roll src/third_party/dart ba8baa46b452..0296286c03f6 (11 commits) (flutter#17226)
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants